Stocks / ETFs / FX: coming soonData provided by CoinGecko
QuantX402powered by KronosKronos Guide $47

← Blog

Reading a Kronos forecast: median, bands, invalidation, and when models disagree

2026-10-11 · kronos, forecasting, education, bitcoin, uncertainty, ai-agents

A Kronos forecast isn't one line pointing up or down. It's a spread of possible futures, and most of what's useful is in that spread. This post goes through each part of the QuantX402 window and the plain-English breakdown, using one real example.

Update, Oct 12 2026 (model status): we have since backtested the raw Kronos-small output over many past windows. It is not calibrated: the raw model showed no reliable directional edge, its raw 80% band was much too narrow, and its raw share of paths finishing higher overstated confidence. QuantX402 now treats the output as an experimental model signal: the range is re-centred and widened to match historical volatility, no move estimate is published, and raw path shares are being replaced by a direction plus a confidence bucket. Every forecast is scored in the free, public track record. The single example below is kept for illustration only.

The chart, layer by layer

On quantx402.app, the forecast is drawn on top of real BTC or ETH hourly candles:

What you see What it is Field
Candles Real hourly prices from Coinbase. Only closed candles go into the model last_close, as_of
30 faint lines 30 futures Kronos-small sampled from the last 360 candles, 24 hours ahead sampling.paths
Bold line The median path: at each hour, the middle of the 30 paths. It's the center of the spread, not a promise expected_move_pct (final step)
Inner band Where half the paths are (25th–75th percentile) percentiles.p25, p75
Outer band Where 80% of the paths are (10th–90th percentile) band_80_pct, expected_range
Dashed line Invalidation: the price that says "the model was wrong" invalidation_level

The breakdown panel, field by field

One real example: two models, two answers

This is one example, not a benchmark, and the backtest above shows why one example says little. BTC-USD hourly candles, forecasting from Oct 10 16:00 to Oct 11 16:00 UTC. BTC started the window at about 82,940 and closed it at about 83,816, a move of roughly +1.06%.

Kronos-small:

Kronos-mini, same candles:

Kronos-small hold-out: sampled paths, 10–90% band, median, and what actually happened

What to take from it

  1. Don't read much into one window. Kronos-small's band held the outcome here, but across many windows the raw band missed far more often than an 80% band should. The median overshot too.
  2. Model size and settings change the answer. Two Kronos models looked at the same candles and disagreed on direction. In our lab runs, lower sampling temperatures also made bands narrower and more one-sided. If two reasonable setups disagree, the right output is "low confidence".
  3. One right call proves nothing. Neither does one miss. That's why QuantX402 scores every forecast after its window closes and publishes the track record, misses included.

Using this in an agent

A sensible agent treats the fact list as input to research, not an instruction. Some ways to do that:

Try it on the free delayed sample: GET https://quantx402.app/api/v1/sample?symbol=BTC-USD&tf=1h. The live forecast is /api/v1/forecast, $0.02 per call via x402 (live in USDC on Base and Solana mainnet).

Kronos is an open-source (MIT) model by its original authors; QuantX402 is not affiliated with them. Experimental model output for research and education only: informational, not financial advice. Past results don't predict future results.

Forecasts are probabilistic model output for research and education. Not financial advice.