Skip to content

FalconXForecaster

FalconXForecaster

class FalconXForecaster(context_length=None, quantile_level=0.5, license_accepted=False, endpoint=None, timeout=30.0)[source]

Falcon-X forecaster — zero-shot via remote HTTP API.

This forecaster wraps the Falcon-X multivariate time series foundation model [1], [2] released by Ant International in June 2026. Falcon-X is a closed-source model; it is accessed through plain HTTP POST requests to Ant International’s hosted inference endpoint — no model weights are downloaded or stored locally, and sktime does not ship or depend on any Falcon-X client library.

The primary workflow is fit + predict for zero-shot inference. fit stores the observed series as forecasting context. predict calls the Falcon-X API and returns point forecasts. predict_quantiles / predict_interval are also supported because the API natively returns 21 probability quantiles.

Model training and fine-tuning are not supported.

Parameters:
context_lengthint or None, default=None

Number of most-recent time steps to pass as context to the model. If None, all available history is used.

quantile_levelfloat, default=0.5

The quantile level used for point forecasts returned by predict. Must be one of the 21 supported levels: [0.01, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 0.99]. Defaults to 0.5 (median).

license_acceptedbool, default=False

Falcon-X is a closed-source model made available via a remote proprietary API operated by Ant International. Usage is subject to Ant International’s licence and API terms of service, which differ from sktime’s BSD-3-Clause licence.

You must set license_accepted=True to confirm that you have read and accepted the Falcon-X licence and API terms before using this forecaster. Leaving this as False (the default) will raise a ValueError at construction time.

endpointstr or None, default=None

Custom API endpoint URL. If None, the default Falcon Studio endpoint is used. If "mock", a built-in mock that returns random predictions is used instead of the real API — useful for tests or local experimentation without network access.

timeoutfloat, default=30.0

Request timeout in seconds for the API call.

Attributes:
cutoff

Cut-off = “present time” state of forecaster.

fh

Forecasting horizon that was passed.

is_fitted

Whether fit has been called.

state

State of the estimator.

Notes

  • Requires the requests package (pip install requests).

  • Requires an active internet connection at predict time when using a real endpoint.

  • The API always returns 21 quantile levels: [0.01, 0.05, 0.10, …, 0.90, 0.95, 0.99]. Point forecasts use the median (quantile 0.50, index 10 in the output).

  • Multivariate series are passed with is_multivariate=True: all columns are treated as channels of a single multivariate time series.

  • Exogenous regressors (X) are not supported.

  • Missing values in y are communicated to the API through the input_mask parameter (0 = missing, 1 = observed).

References

[1]

Falcon-TST repository: https://github.com/ant-intl/Falcon-TST

Examples

Zero-shot univariate point forecasting:

>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.falcon_x import FalconXForecaster
>>> y = load_airline()
>>> forecaster = FalconXForecaster(license_accepted=True)
>>> forecaster.fit(y)
FalconXForecaster(...)
>>> y_pred = forecaster.predict(fh=[1, 2, 3])

Probabilistic/quantile forecasting:

>>> from sktime.datasets import load_airline
>>> from sktime.forecasting.falcon_x import FalconXForecaster
>>> y = load_airline()
>>> forecaster = FalconXForecaster(license_accepted=True)
>>> forecaster.fit(y)
FalconXForecaster(...)
>>> y_pred_q = forecaster.predict_quantiles(
...     fh=[1, 2, 3], alpha=[0.1, 0.5, 0.9]
... )

Mock mode for offline testing or local experimentation (random predictions, no network access required):

>>> from sktime.forecasting.falcon_x import FalconXForecaster
>>> forecaster = FalconXForecaster(
...     endpoint="mock", license_accepted=True
... )

Multivariate forecasting with a shorter context window:

>>> import pandas as pd
>>> import numpy as np
>>> from sktime.forecasting.falcon_x import FalconXForecaster
>>> n, c = 100, 3
>>> y = pd.DataFrame(
...     np.random.randn(n, c),
...     index=pd.date_range("2020", periods=n, freq="ME"),
... )
>>> forecaster = FalconXForecaster(
...     context_length=64, license_accepted=True
... )
>>> forecaster.fit(y)
FalconXForecaster(context_length=64)
>>> y_pred = forecaster.predict(fh=[1, 2, 3])

Methods

check_is_fitted([method_name])

Check if the estimator has been fitted.

clone()

Obtain a clone of the object with same hyper-parameters and config.

clone_tags(estimator[, tag_names])

Clone tags from another object as dynamic override.

create_test_instance([parameter_set])

Construct an instance of the class, using first test parameter set.

create_test_instances_and_names([parameter_set])

Create list of all test instances and a list of names for them.

fit(y[, X, fh])

Fit forecaster to training data.

fit_predict(y[, X, fh, X_pred])

Fit and forecast time series at future horizon.

get_class_tag(tag_name[, tag_value_default])

Get class tag value from class, with tag level inheritance from parents.

get_class_tags()

Get class tags from class, with tag level inheritance from parent classes.

get_config()

Get config flags for self.

get_fitted_params([deep])

Get fitted parameters.

get_param_defaults()

Get object's parameter defaults.

get_param_names([sort])

Get object's parameter names.

get_params([deep])

Get a dict of parameters values for this object.

get_pretrained_params([deep])

Get pretrained parameters of this estimator.

get_tag(tag_name[, tag_value_default, ...])

Get tag value from instance, with tag level inheritance and overrides.

get_tags()

Get tags from instance, with tag level inheritance and overrides.

get_test_params([parameter_set])

Return testing parameter settings for the estimator.

is_composite()

Check if the object is composed of other BaseObjects.

load_from_path(serial)

Load object from file location.

load_from_serial(serial)

Load object from serialized memory container.

predict([fh, X])

Forecast time series at future horizon.

predict_interval([fh, X, coverage])

Compute/return prediction interval forecasts.

predict_proba([fh, X, marginal])

Compute/return fully probabilistic forecasts.

predict_quantiles([fh, X, alpha])

Compute/return quantile forecasts.

predict_residuals([y, X])

Return residuals of time series forecasts.

predict_var([fh, X, cov])

Compute/return variance forecasts.

pretrain(y[, X, fh])

Pre-train forecaster on panel (global) data.

reset()

Reset the object to a clean post-init state.

save([path, serialization_format])

Save serialized self to bytes-like object or to (.zip) file.

score(y[, X, fh])

Scores forecast against ground truth, using MAPE (non-symmetric).

set_config(**config_dict)

Set config flags to given values.

set_params(**params)

Set the parameters of this object.

set_random_state([random_state, deep, ...])

Set random_state pseudo-random seed parameters for self.

set_tags(**tag_dict)

Set instance level tag overrides to given values.

update(y[, X, update_params])

Update cutoff value and, optionally, fitted parameters.

update_predict(y[, cv, X, update_params, ...])

Make predictions and update model iteratively over the test set.

update_predict_single([y, fh, X, update_params])

Update model with new data and make forecasts.