Public note
Kronos on GitHub: A Finance-Specific Foundation Model for Candlestick Data
Kronos is a finance-focused foundation model for K-line sequences available on GitHub, with public checkpoints and a research paper. It uses a two-stage approach involving tokenization of OHLCVA data followed by autoregressive modeling with a Transformer.
Subheadline
This report covers the exact GitHub repository shiyu-coder/Kronos, not unrelated same-name software. The project packages a finance-focused foundation model for K-line sequences, with public checkpoints, a linked research paper, and an official live demo.[1][2]
Lead
Kronos is not presented as a general-purpose time-series toolkit. In the linked repository, it is described as a foundation model for financial candlesticks, or K-lines, built to model the noisy, non-stationary structure of market data rather than generic temporal signals.[1][2]
That distinction matters. The repo and paper frame Kronos around a specific technical bet: turn multivariate OHLCVA market observations into discrete tokens, then train a decoder-only Transformer on those tokens as if they were a language. In other words, Kronos is trying to make financial markets legible to language-model-style pretraining without pretending that finance behaves like ordinary time series.[2]
For readers evaluating the repository as an IT project, the important point is that Kronos is more than a paper stub. The public repo includes example scripts, tests, fine-tuning code, linked Hugging Face checkpoints, and an official demo dashboard. At the same time, the maintainers explicitly warn that the backtesting pipeline is only a demonstration, not a production-ready trading stack.[1][3]
At a Glance
shiyu-coder/Kronosis a public MIT-licensed GitHub repository for a financial K-line foundation model.[1]- The linked paper says Kronos was pre-trained on more than 12 billion K-line records from 45 global exchanges across 7 temporal granularities.[2]
- The architecture is two-stage: a tokenizer discretizes OHLCVA inputs into hierarchical tokens, then a decoder-only Transformer models those tokens autoregressively.[2]
- The repo’s model zoo lists four sizes: mini, small, base, and large, but only mini, small, and base are publicly available; large is not yet open-sourced.[1]
- The repository exposes
KronosTokenizer,Kronos, andKronosPredictor, with both single-series and batch prediction workflows.[1][3] - According to the README, the paper appeared on arXiv on August 2, 2025, fine-tuning scripts were released on August 17, 2025, and the work was accepted to AAAI 2026 on November 10, 2025.[1]
What Happened
The clearest way to understand Kronos is as a research-first open-source project that has gradually accumulated usable public artifacts. The repository’s own news log ties the project to three milestones: an arXiv paper in early August 2025, the release of fine-tuning scripts later that month, and an AAAI 2026 acceptance noted in November 2025.[1]
What the repo now offers is a fairly complete experimentation surface. There is a documented inference path built around KronosPredictor, a batch inference API for multiple series, example scripts for prediction with and without volume data, a Qlib-based fine-tuning and backtesting pipeline, and an official live forecast page. That means a developer can inspect the model’s claims, run checkpoints, and study how the authors expect Kronos to be adapted to downstream finance tasks.[1][3]
Just as important, the repository does not hide its limits. The fine-tuning section explicitly says the A-share backtest is a simplified example and not a production-ready quantitative trading system. That caveat is one of the most useful signals in the entire repo, because it keeps the project anchored in research and prototyping rather than overclaiming live-trading readiness.[1]
Key Facts / Comparison
| Model | Tokenizer | Context Length | Parameters | Public Availability |
|---|---|---|---|---|
| Kronos-mini | Kronos-Tokenizer-2k | 2048 | 4.1M | Yes |
| Kronos-small | Kronos-Tokenizer-base | 512 | 24.7M | Yes |
| Kronos-base | Kronos-Tokenizer-base | 512 | 102.3M | Yes |
| Kronos-large | Kronos-Tokenizer-base | 512 | 499.2M | No |
Source: the repository’s model zoo.[1]
A second important comparison sits between the paper and the repo. The paper’s core configuration table details three main research variants—small, base, and large—while the public repo also exposes a lighter Kronos-mini checkpoint. That suggests the deployable open-source lineup is somewhat broader than the paper’s headline model table, at least for inference and demos.[1][2]
The paper’s headline performance claims are also worth separating from the repo packaging. In the authors’ reported results, Kronos improves price-series forecasting RankIC by 93% over the strongest TSFM baseline and by 87% over the best non-pre-trained baseline, while also reporting a 9% lower MAE in volatility forecasting and a 22% improvement in generative fidelity for synthetic K-line sequences.[2]
Background and Context
Why build a finance-specific foundation model at all? The paper argues that financial K-line data is a difficult fit for generic time-series foundation models because it is noisy, non-stationary, and rich in cross-feature dependencies among open, high, low, close, volume, and amount. The authors also argue that mainstream TSFM work has under-served downstream finance tasks such as volatility prediction and synthetic market generation.[2]
That framing is the identity anchor for the whole project. Kronos is not pitched as a generic forecasting library. It is positioned as a finance-native representation learner for K-line sequences, with the repo, paper, and demo all reinforcing that same idea.[1][2]
One point deserves careful wording. The repo and linked model cards describe Kronos as the “first open-source foundation model for financial candlesticks.” That is the project’s own positioning. The linked sources support that this is how the authors present Kronos, but the repo itself does not independently survey every related system in the market.[1]
Why This Matters
For general readers, Kronos matters because it shows how the foundation-model playbook is being adapted to one of the hardest real-world data domains: financial markets. Instead of treating market data as just another regression target, Kronos reframes it as a tokenized sequence problem with forecasting, volatility estimation, synthetic generation, and even portfolio-style simulation as downstream outputs.[2]
For developers, the repo matters because it lowers the barrier to inspection. Many research projects stop at an abstract and a figure. Kronos ships code, examples, model checkpoints, a linked demo, and a documented adaptation path via Qlib. That makes it easier to test the project’s practical shape, even if it does not eliminate the usual finance-specific risks around evaluation, robustness, and deployment.[1]
For quantitative users, the biggest practical takeaway is more cautious: Kronos may be an interesting research base or prototyping component, but the maintainers themselves do not present the provided backtest as a complete production workflow. The project invites experimentation; it does not remove the need for portfolio construction, execution logic, slippage modeling, and risk controls.[1]
Insight and Industry Analysis
Kronos’s most interesting idea is not simply that it uses a Transformer. Plenty of forecasting projects do that. Its more distinctive claim is that financial OHLCVA sequences should first be discretized into a compact symbolic form, then modeled autoregressively in a coarse-to-fine way. That makes the project feel closer to generative sequence modeling than to ordinary supervised forecasting.[2]
That design choice matters because it helps explain why the paper evaluates Kronos across several different task families. A model trained to generate the next structured market tokens can, in principle, support point forecasting, probabilistic forecasting, volatility estimation, and synthetic sequence generation inside one framework. The paper’s five-task evaluation suite and 25-model baseline comparison are meant to show exactly that broader scope.[2]
There is also a useful maturity signal in what the repo omits. There are no GitHub releases published, and the largest model is not yet public. Taken together with the demo-style fine-tuning pipeline, that suggests Kronos is further along than a bare research repository, but still earlier than a hardened software product.[1]
Strengths, Limitations, and Open Questions
Strengths
- The project identity is unusually clear: Kronos is for financial K-line data, not generic forecasting.[1][2]
- The architecture is explicit and technically differentiated, with a tokenizer-plus-autoregressive-Transformer design rather than a vague “AI for finance” label.[2]
- Public artifacts are solid for an academic-style project: code, examples, checkpoints, a live demo, and a fine-tuning path are all present.[1]
- The paper reports broad evaluation across forecasting, volatility, synthetic generation, and investment simulation rather than a single benchmark.[2]
Limitations
Kronos-largeis listed but not yet publicly available.[1]- The repository has no published GitHub releases, which makes versioning and packaged distribution less mature than many production-oriented projects.[1]
- The fine-tuning and backtesting workflow is explicitly described as a simplified demo, not a production trading system.[1]
- The repo’s strongest category claim, being the first open-source K-line foundation model, is presented by the project itself and not independently verified within the linked sources.[1]
Open questions
- Will the largest model be released publicly, or will the open-source lineup remain focused on mini, small, and base?[1]
- Will the project move toward formal versioned releases, or continue to distribute primarily through repository updates and Hugging Face links?[1]
- How well will the framework generalize when adapted beyond the repo’s documented examples, especially outside the provided Qlib-style workflow?[1]
Technical Deep Dive
At the methodology level, Kronos follows a two-stage pipeline. First, a specialized tokenizer converts continuous OHLCVA observations into hierarchical discrete tokens. The paper says each token is split into a coarse and a fine subtoken, with the hierarchy enforced during reconstruction so the first part captures broad structure and the second refines it. Second, a decoder-only Transformer models the resulting token sequence autoregressively, predicting the next market step in a coarse-to-fine order.[2]
The paper’s implementation argument is that this discrete formulation is more scalable and more flexible for finance than directly predicting continuous values. Its ablation study reports that the discrete sequential setup outperforms continuous-space alternatives and also beats a parallel subtoken variant, which the authors take as evidence that the hierarchical dependency matters.[2]
The code makes the public API concrete. In model/kronos.py, the repo exposes three main classes: KronosTokenizer, Kronos, and KronosPredictor. The predictor expects at least open, high, low, and close columns, while volume and amount are optional. If volume is missing, the code fills volume and amount with zeros; if amount is missing but volume exists, it derives amount from volume times the mean price across the OHLC columns. The predictor also extracts timestamp features including minute, hour, weekday, day, and month before running generation.[3]
The inference surface is broader than a single-series notebook helper. The repo documents predict for one series and predict_batch for multiple aligned series, with shared lookback and forecast lengths. In both the README and code, Kronos uses probabilistic generation controls such as temperature, top-p sampling, and multiple sampled paths that can be averaged for more stable forecasts.[1][3][2]
The official demo shows how the project translates these ideas into a live-facing artifact. At the time this report was prepared, the dashboard described a BTC/USDT 24-hour forecast using Kronos-mini, 360 hours of 1-hour Binance data as context, and Monte Carlo sampling over 30 paths to produce a mean trajectory and uncertainty range. That is a useful demonstration of the project’s intended operating mode: probabilistic, not purely point-estimate forecasting.
What to Watch Next
- Whether
Kronos-largebecomes public, which would change the open-source ceiling of the project.[1] - Whether the repository starts publishing formal GitHub releases instead of relying on README updates and linked checkpoints.[1]
- Whether future public materials expand the fine-tuning story beyond the current Qlib-based A-share example.[1]
- Whether the official demo evolves from a showcase into a richer benchmarking or comparison environment.
Conclusion
shiyu-coder/Kronos is best understood as a finance-native foundation-model project that is unusually inspectable for its category. The linked paper supplies the research narrative, the repo exposes enough code to test that narrative, and the official demo shows how the authors want the model to be experienced in practice.[1][2]
The strongest case for Kronos is not that it is already a turnkey trading system. The sources do not support that claim, and the repo explicitly warns against reading the demo pipeline that way. The stronger case is that Kronos offers a serious open-source attempt to represent financial candlesticks as a discrete language, with public artifacts that make that idea easier to evaluate than many research-only finance models.[1][2]
References
Supporting sources