Kronos: The First Open-Source Foundation Model for Financial Markets
Every major time series foundation model — TimesFM, Chronos, Moirai — treats financial data as just another univariate signal. Same architecture that forecasts electricity demand or hospital admissions gets pointed at candlestick charts and told to predict price. The results are roughly what you’d expect from a tool that doesn’t know what Open, High, Low, Close, and Volume mean as a unit.
Kronos is the first open-source foundation model built specifically for financial candlestick (K-line) data. Developed at Tsinghua University and accepted at AAAI 2026, it was trained on over 12 billion records from 45+ global exchanges — Binance, NYSE, NASDAQ, LSE, and dozens more. It ships under the MIT license with models on Hugging Face.
Why financial data needs its own model
A candlestick isn’t five independent numbers. The relationship between open and close tells you sentiment. The wicks (high and low relative to the body) encode rejection and indecision. Volume confirms or contradicts the price action. General time series models flatten this structure into separate channels or a single value, losing the multivariate semantics that any human trader reads at a glance.
Kronos was designed around this structure from the ground up.
The key innovation: a two-stage tokenizer
The core architectural idea is a specialized two-stage framework. First, a financial tokenizer quantizes raw OHLCV data into hierarchical discrete tokens — essentially learning a vocabulary of candlestick patterns the way a language model learns a vocabulary of word fragments. Price ranges, body shapes, wick ratios, and volume levels all get encoded into structured tokens that preserve their relationships.
Then a decoder-only Transformer operates on these tokens autoregressively, predicting the next candlestick the same way GPT predicts the next word. This is elegant because it converts a continuous multivariate regression problem into a discrete sequence modeling problem — and Transformers are extremely good at sequence modeling.
The result: Kronos handles price forecasting and volatility prediction across any asset class, any market, and any timeframe, zero-shot. No fine-tuning required to get started.
The numbers (with context)
The paper reports Kronos is 93% more accurate than leading time series foundation models and 87% more accurate than the best non-pretrained baselines — in zero-shot settings. That “zero-shot” qualifier matters. This is comparing Kronos (trained on financial data) against general models (trained on everything) when neither has seen the specific target asset before. It’s a legitimate comparison, but it’s not saying Kronos beats a carefully tuned quant model trained on your specific asset. The domain specialization advantage is real; just calibrate expectations accordingly.
The arXiv paper has the full benchmark details.
Practical to actually use
Kronos ships in four sizes: mini (4.1M parameters), small (24.7M), base (102.3M), and large (499.2M). The mini model runs comfortably on a laptop. All four are available on Hugging Face under the NeoQuasar organization.
Getting a prediction takes a few lines of Python (requires Python 3.10+):
from kronos import KronosForecaster
model = KronosForecaster.from_pretrained("NeoQuasar/Kronos-mini")
predictions = model.predict(ohlcv_data, horizon=24)
There’s batch prediction support for parallel multi-asset forecasting, and a fine-tuning pipeline with Qlib integration — the README includes an A-share market example for anyone working with Chinese equities.
You can see it working live: the BTC/USDT demo runs a 24-hour forecast updated hourly.
Real-world usage: Kronos in a multi-signal trading engine
Updated: April 2026
The benchmarks are one thing. Here’s what it looks like when someone actually plugs Kronos into a live trading pipeline.
One implementation we’ve seen uses Kronos-mini as one signal in a 10-signal stock screening engine. The pipeline:
- Data in: 45 days of hourly OHLCV candles fetched from Yahoo Finance for each watchlist stock
- Kronos-mini processes the candle sequence and outputs a direction score (-1.0 to +1.0) plus a volatility estimate on a 24-hour horizon
- Direction score maps to signal:
- > +0.1 → 🟢 Bullish
- < -0.1 → 🔴 Bearish
- ±0.1 → 🟡 Neutral
- Merged into the engine at 10% weight alongside nine other signals (technical, fundamental, sentiment)
- Fallback: If Kronos fails to load, the system silently degrades to an EMA5 vs EMA20 momentum signal
This is exactly the kind of integration the Kronos authors intended — a forecasting building block slotted into a larger system, not a standalone trading strategy. The 10% weight reflects appropriate confidence: useful signal, but not something you’d bet the portfolio on without corroboration from other indicators.
The silent fallback is worth noting as a pattern. Foundation models in production pipelines need graceful degradation. If the model server goes down or the import fails, you don’t want your entire screening engine to crash — you want a reasonable heuristic to take over until the model is back. EMA momentum isn’t Kronos, but it’s not nothing either.
One honest caveat from the implementer: the fallback path means you should verify the model is actually loading. A try/except ImportError that silently swaps in a simpler heuristic can mask the fact that you’ve been running on the fallback for weeks without realizing it. Worth adding a log line or health check.
From demo to production: the honest caveats
The Kronos README is refreshingly direct about what the model is and isn’t. Raw prediction signals are not pure alpha. In production, you’d need risk neutralization, position sizing, transaction cost modeling, and all the other infrastructure that separates a signal from a strategy. The model gives you a forecast — what you do with it is a separate engineering and risk management problem.
This is the right framing. A foundation model for financial markets is a building block, not a trading system.
Bottom line
Kronos fills a genuine gap. Financial time series have specific structure that general models ignore. A purpose-built tokenizer that understands candlestick semantics, trained on 12 billion records across global markets, available in four sizes under MIT license — that’s a meaningful contribution to the open-source quant toolbox.
Links: GitHub · Paper · Live Demo · Hugging Face Models