Chronos-2¶
Forecaster id chronos-2 ยท tycheon.models.chronos.ChronosForecaster
Source¶
Amazon's Chronos-2 (amazon/chronos-2), pinned to
Hugging Face commit 29ec3766d36d6f73f0696f85560a422f50e8498c, run through the PyPI package
chronos-forecasting 2.3.2 (Chronos2Pipeline). Technical report:
arXiv:2510.15821.
Read 2026-10-04 from the Hugging Face card: a 120M-parameter, encoder-only model; univariate, multivariate and covariate-informed tasks in one architecture; maximum context 8192 and maximum prediction length 1024; multi-step quantile forecasts; CPU and GPU inference.
License¶
Apache-2.0 for both the weights (Hugging Face metadata) and the code.
Training data¶
As stated by the publisher (read 2026-10-04): a combination of real-world and large-scale
synthetic datasets, with autogluon/chronos_datasets and Salesforce/GiftEvalPretrain listed
on the card. These are general-purpose time series; the card does not describe financial price
series as a focus, and Tycheon does not claim that it was trained on any.
Intended use¶
Zero-shot forecasting of a univariate series. Tycheon feeds it the close price level, the
most recent max_context bars (default 2048), and asks for a configurable set of quantile
levels (default 0.05, 0.1, 0.25, 0.5, 0.75, 0.9, 0.95). Longer horizons are handled by the
package's own autoregressive unrolling.
Limitations¶
- Marginal quantiles only. No joint sample paths;
samplesisNoneandrequire_paths()refuses path-dependent questions, exactly as for TimesFM. - Quantile levels are limited to what is requested and must lie inside (0, 1); nothing is extrapolated beyond the levels asked for.
- Quantile crossing, if it occurs, is repaired by sorting and recorded in the diagnostics.
- Chronos-2 can use covariates (past and known-future); this adapter does not, until the covariates work in a later phase.
- Device: the requested device (
auto,cpu,cuda,mps) is passed asdevice_map; an unavailable accelerator is an error, not a silent CPU fallback. - Long contexts and horizons cost time and memory; the context is capped at
max_context.
Calibration¶
Uncalibrated as built: the quantiles are the model's own. Calibration is available for any forecaster: wrap it with ConformalCalibrator (split or
adaptive conformal) and the forecast carries a status (calibrated, stale or uncalibrated)
earned on a holdout it was not fitted on. See calibration. Chronos-2 returns marginal quantiles only, so calibration applies to its quantiles, and it cannot feed path-based risk measures (see ADR 0005).
How Tycheon runs it¶
Chronos2Pipeline.from_pretrained("amazon/chronos-2", revision=<pinned SHA>, device_map=<device>)
then predict_quantiles([close], prediction_length=horizon, quantile_levels=...). The adapter
is tested against fakes that reproduce the pipeline's call and output contract, and against the
real weights in the nightly slow suite (see the verification note below).
Baseline comparison¶
Not in the published benchmark run. Nothing on this card claims that Chronos-2 beats the random walk. Run it yourself with make benchmark-small after adding it to a config; every result is reported against the random walk with Diebold-Mariano tests. See benchmark methodology.
Verification note¶
On 2026-10-04 the adapter was run against the real amazon/chronos-2 weights (478 MB) with chronos-forecasting 2.3.2, CPU only, on synthetic data: output shape, finiteness, non-crossing quantiles and positive medians held (tests/test_foundation_slow.py). That checks the plumbing, not forecast quality.
For research and risk analytics. Not investment advice.