# Kronos:把金融市场变成"语言"的基座模型,AAAI 2026 录用
> 如果你还在用 LSTM 或 Prophet 做行情预测——这篇可能让你重新思考时间序列建模的方向。
当 Transformer 遇上 K 线
金融时间序列预测领域一直存在一个核心矛盾:数据噪声极高、非平稳性极强,传统深度学习模型(LSTM、CNN、Transformer 直接堆叠)往往在训练集上表现尚可,一到实盘就全面崩盘。原因很简单——这些模型把金融数据当作普通数值序列处理,完全忽略了市场的分层结构和语义特征。
2025 年 8 月,arXiv 上出现了一篇名为 *Kronos: A Foundation Model for the Language of Financial Markets* 的论文,作者团队来自清华大学及合作机构。他们做了一个大胆的假设:如果 K 线(OHLCV)序列本质上是一种"语言"——价格波动是词汇,交易模式是语法——那么 Transformer 是否也能像理解自然语言一样理解市场?
答案令人惊讶地肯定。这篇论文已被 AAAI 2026 正式录用。更关键的是,开源实现已经上线 GitHub,参数最小仅 410 万,个人开发者即可运行。
核心架构:Tokenize 市场,再"读懂"行情
Kronos 的核心创新在于一套两阶段框架,彻底改变了金融数据的输入方式。
第一阶段:专用 Tokenizer。 传统做法直接将 OHLCV(开盘价、最高价、最低价、收盘价、成交量、成交额)送入模型。Kronos 则先用自研 Tokenizer 将这些连续多维数据量化为分层离散 token。这个设计巧妙地在保留价格层次关系的同时,将无限可能的连续值映射到有限的 token 空间——相当于给每段行情打标签。
第二阶段:Decoder-only Transformer。 在 token 化的 K 线序列上,Kronos 进行标准的自回归预训练。模型学习的是"给定过去 N 根 K 线,接下来会怎样展开"这一模式——与 GPT 学"给定前面文字,预测下一个词"在数学上是同构的。
这种设计的优势在于可迁移性极强。不同交易所、不同品种、不同时间周期的 K 线,经过同一个 Tokenizer 后都在同一语义空间内对齐,模型学到的不是某个具体股票的模式,而是"市场的语言"本身。
模型家族与开箱即用
Kronos 提供四个尺寸的预训练模型,覆盖从研究到生产的完整需求:
| 模型 | 参数量 | 上下文长度 | 许可 | 获取地址 |
|---|---|---|---|---|
| Kronos-mini | 4.1M | 2048 | ✅ 开源 | [HuggingFace](https://huggingface.co/NeoQuasar/Kronos-mini) |
| Kronos-small | 24.7M | 512 | ✅ 开源 | [HuggingFace](https://huggingface.co/NeoQuasar/Kronos-small) |
| Kronos-base | 102.3M | 512 | ✅ 开源 | [HuggingFace](https://huggingface.co/NeoQuasar/Kronos-base) |
| Kronos-large | 499.2M | 512 | ❌ | — |
快速上手示例——预测比特币未来走势:
# 安装依赖
pip install -r requirements.txt
# 一键预测(Python)
python examples/prediction_example.py
from model import Kronos, KronosTokenizer, KronosPredictor
import pandas as pd
# 加载模型
tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
model = Kronos.from_pretrained("NeoQuasar/Kronos-small")
predictor = KronosPredictor(model, tokenizer, max_context=512)
# 读取历史 K 线
df = pd.read_csv("./data/BTC_1h.csv")
df['timestamps'] = pd.to_datetime(df['timestamps'])
# 生成预测
pred_df = predictor.predict(
df=df[['open','high','low','close','volume']],
x_timestamp=df['timestamps'][:400],
y_timestamp=df['timestamps'][400:520],
pred_len=120, T=1.0, top_p=0.9, sample_count=1
)
print(pred_df.head())
项目还提供实时 Demo,可在线查看 BTC/USDT 的未来 24 小时预测曲线。
微调实战:接入中国 A 股回测
Kronos 最大的亮点之一是对中国市场原生友好——官方提供了基于微软 Qlib 的微调 Pipeline,一条命令即可完成从数据准备到策略回测的全流程:
# 1. 安装 Qlib 并下载 A 股日频数据
pip install pyqlib
pyqlib-cli download --days=2000
# 2. 预处理数据(切分训练/验证/测试集)
python finetune/qlib_data_preprocess.py
# 3. 微调 Tokenizer(多 GPU)
torchrun --standalone --nproc_per_node=2 finetune/train_tokenizer.py
# 4. 微调 Predictor
torchrun --standalone --nproc_per_node=2 finetune/train_predictor.py
# 5. 运行回测
python finetune/qlib_test.py --device cuda:0
回测脚本会自动输出累计收益曲线对比,直观展示微调后的模型相对于基准策略的表现。需要注意的是,官方声明该 Pipeline 为教学演示用途,实际生产中还需要配合组合优化模块和风险因子中性化处理。
总结:机遇与边界
Kronos 的开创性毋庸置疑——它是目前已知首个将金融市场统一建模为语言基座模型的尝试,且完全开源,MIT 协议意味着你可以商用而不必担心法律风险。对于量化研究入门者来说,它是一个极佳的起点;对于有经验的量化开发者,它的 Tokenization 思路值得借鉴到其他金融子领域。
但必须清醒认识其边界:当前模型输出的只是原始预测信号,直接用于交易远远不够。一套完整的量化策略还需要仓位管理、止损规则、交易成本建模等工程组件。此外,large 版本未开源是个遗憾——499M 参数的性能上限仍未知。
选型建议:学术研究或快速验证想法 → Kronos-small(够用且免费);生产环境部署 → base 起步 + 结合业务场景微调;纯前端可视化 → 直接用在线 Demo 无需本地部署。
*数据来源: GitHub Trending · Kronos GitHub · 论文 arXiv:2508.02739*

评论(0)