Kronos:金融市场的第一个开源 K 线基础模型

金融市场的基础模型之争正在升温。Kronos,一个由清华大学研究团队开发的金融 K 线基础模型,刚刚登上 GitHub Trending,以 33,000+ stars 成为量化金融领域最受关注的开源项目之一。它的论文已被 AAAI 2026 接收,在多项基准测试中以零样本(zero-shot)设定击败了通用时间序列基础模型(TSFM)。
Kronos 的核心思路是把 LLM 的预训练范式搬到金融 K 线数据上:先用一个专用 tokenizer 将连续的 OHLCV 数据离散化为分层 token,再用一个自回归 Transformer 在 120 亿条 K 线记录上进行预训练。这套方法在价格预测、波动率预测和合成数据生成三个任务上全面领先。
为什么通用 TSFM 在金融数据上不行
时间序列基础模型(Time Series Foundation Models)已经存在一段时间了。Google 的 TimesFM、Salesforce 的 Moirai、NVIDIA 的 Chronos 等都在通用时间序列上展示了强大的零样本预测能力。但它们在金融数据上的表现,往往还不如不预训练的传统模型。
论文分析了两个原因:
第一,K 线序列有独特的统计特征:极低的信噪比(signal-to-noise ratio)、强非平稳性(non-stationarity)、以及 OHLCV 各维度之间复杂的高阶依赖关系。通用 TSFM 的归纳偏置(inductive biases)与这些特征不匹配。
第二,金融序列在主流 TSFM 的预训练语料中占比极小。模型在训练阶段就没见过足够多的金融数据,自然难以迁移。
Kronos 的解法:既然通用模型学不到金融规律,就专门为金融市场建一个基础模型,从预训练数据到 tokenizer 架构全部围绕 K 线设计。
两阶段架构:Tokenizer + Transformer
Kronos 采用两阶段框架,这是整个系统最核心的设计。

阶段一:K 线 Tokenizer
连续的 OHLCV 数据首先经过一个 instance-based tokenizer,被量化为分层离散 token。这里用的是 Binary Spherical Quantization(BSQ),一种向量量化方法。
分层的含义是每个 token 包含两个粒度的子 token:
- 粗粒度子 token(coarse-grained,k_c bits):捕捉 K 线的整体趋势,类似于大方向上的价格变动
- 细粒度子 token(fine-grained,k_f bits):捕捉局部细节和高频波动
这种设计借鉴了多尺度分析的思想。金融市场数据天然具有多尺度结构:一条 K 线既包含趋势信息,也包含微观结构信息。用单一粒度的 token 很难同时表达这两层。
tokenizer 是独立训练的,采用 VQ 自编码的方式:编码 K 线 → BSQ 量化 → 解码重建。训练目标是让重建结果尽可能接近原始 K 线。
阶段二:自回归 Transformer
tokenizer 训练完成后,将所有预训练数据量化为 token 序列,再用标准自回归目标训练一个 Transformer。
模型架构上有一个关键设计:Cross Attention 机制处理粗细 token 的依赖。当 Transformer 预测下一个 token 时,细粒度子 token 会通过 cross attention 去查询(query)粗粒度子 token 提供的 Key/Value。这让模型可以在生成细粒度预测时参考已确定的大方向。
此外,多个 Intra-Block 之间共享参数(Shared Param),在不损失模型容量的前提下减少了参数量。每个 token 分别由两个 Header 模块解码,一个负责粗粒度,一个负责细粒度。
模型家族:从 4M 到 499M
Kronos 发布了一组不同容量的模型,全部在 Hugging Face 上开源(large 版除外):
| 模型 | Tokenizer | 上下文长度 | 参数量 | 开源 |
|---|---|---|---|---|
| Kronos-mini | Kronos-Tokenizer-2k | 2048 | 4.1M | 是 |
| Kronos-small | Kronos-Tokenizer-base | 512 | 24.7M | 是 |
| Kronos-base | Kronos-Tokenizer-base | 512 | 102.3M | 是 |
| Kronos-large | Kronos-Tokenizer-base | 512 | 499.2M | 否 |
从 4.1M 参数的 mini 到 499.2M 的 large,覆盖了从轻量部署到高精度预测的全场景需求。small 和 base 版本是最实用的选择,mini 版虽然只有 4M 参数,但可以跑在边缘设备上做实时预测。
预训练数据:45 个全球交易所的 120 亿条 K 线
Kronos 的预训练语料来自全球 45 个交易所的超过 120 亿条 K 线记录。这个数据量级在金融领域相当可观。覆盖范围包括股票、期货、加密货币等多种资产类别。
预训练用标准自回归目标:给定历史 K 线序列的 token,预测后续 token。与语言模型预测下一个词类似,Kronos 预测下一根 K 线的 token。
三大任务的基准测试结果
Kronos 在三项任务上进行了评估:
价格序列预测(Price Series Forecasting):在零样本设定下,Kronos 的 RankIC 比领先的通用 TSFM 高出 93%,比最佳的非预训练基线高 87%。RankIC(Rank Information Coefficient)是量化金融中衡量预测排序能力的标准指标,衡量预测值排名与实际收益排名的 Spearman 相关性。RankIC 提升 93% 意味着 Kronos 对股票相对涨跌的排序能力远超通用模型。
波动率预测(Volatility Forecasting):MAE(平均绝对误差)比基线低 9%。波动率预测对期权定价和风险管理至关重要,这个改进幅度在金融应用中有实际意义。
合成 K 线生成(Synthetic K-line Generation):生成保真度(generative fidelity)比基线提升 22%。合成金融数据可以用于回测、策略验证、数据增强等场景,同时避免使用真实交易数据的隐私和合规风险。
这三个任务覆盖了量化金融的核心需求链:预测方向、评估风险、生成数据。
实际使用:几行代码做预测
Kronos 提供了 KronosPredictor 类封装了从原始数据到预测结果的全流程,包含预处理、归一化和反归一化:
from model import Kronos, KronosTokenizer, KronosPredictor
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("XSHG_5min_600977.csv")
df['timestamps'] = pd.to_datetime(df['timestamps'])
lookback = 400
pred_len = 120
x_df = df.loc[:lookback-1, ['open', 'high', 'low', 'close', 'volume', 'amount']]
x_timestamp = df.loc[:lookback-1, 'timestamps']
y_timestamp = df.loc[lookback:lookback+pred_len-1, 'timestamps']
# 生成预测
pred_df = predictor.predict(
df=x_df,
x_timestamp=x_timestamp,
y_timestamp=y_timestamp,
pred_len=pred_len,
T=1.0, # 采样温度
top_p=0.9, # 核采样概率
sample_count=1 # 采样路径数
)预测支持概率性输出:通过调整温度 T 和 top_p 参数,可以生成多条预测路径并取平均,实现概率性预测(probabilistic forecasting)。这在金融场景中比单点预测更有价值,因为模型可以输出预测区间和置信度。
对于多资产批量预测,predict_batch 方法支持 GPU 并行处理,同时保证每个序列独立进行归一化。
微调实战:用 Qlib 在 A 股上跑回测
Kronos 提供了完整的微调 pipeline,以中国 A 股市场为示例,集成了微软的 Qlib 量化平台。微调分四步:
- 数据准备:用 Qlib 下载和预处理市场数据
- Tokenizer 微调:调整 tokenizer 到目标市场的数据分布
- 预测器微调:在目标任务上微调主模型
- 回测评估:生成预测信号,运行 top-K 策略回测
微调训练脚本支持多 GPU,使用 torchrun 启动。Tokenizer 和 Predictor 分两个阶段微调,先调 tokenizer 再调 predictor。
项目明确说明这只是一个演示 pipeline,不是生产级量化交易系统。一个稳健的量化策略还需要组合优化、风险因子中性化等后处理步骤,才能从原始预测信号中提取纯 alpha。
技术局限与开放问题
论文和社区讨论都指出了一些尚未解决的挑战:
样本外鲁棒性:基准测试用的是已有数据集,但在真正的市场制度转换(regime change)下表现如何还是未知数。2020 年新冠暴跌、2022 年英国 LDI 危机、2023 年区域银行压力,这些事件的分布与历史正常时期完全不同。基础模型在面对训练分布之外的数据时可能很脆弱。
缺乏标准化基准:金融时间序列模型领域缺少统一的评估标准。不同论文用不同的数据集、评估窗口和指标,难以公平比较。社区需要金融版的 ImageNet 或 GLUE。
生成数据的市场影响建模:Kronos 的合成 K 线生成能力很强,但合成数据是否能准确反映真实市场中的微观结构效应(microstructure effects),如滑点、市场冲击和流动性变化,还需要进一步验证。
AAAI 2026 接收与学术影响
Kronos 论文于 2025 年 8 月在 arXiv 上发布,2025 年 11 月被 AAAI 2026 接收。作者团队来自清华大学,包括 Yu Shi、Zongliang Fu、Shuo Chen、Bohan Zhao、Wei Xu、张长水教授和李建教授。
这项工作代表了金融 AI 领域的一个重要方向:不再是用通用 LLM 做 sentiment analysis 或新闻分析,而是从数据表示层面重新设计适合金融数据的基础模型。Kronos 的 tokenizer + 自回归 Transformer 框架证明了 LLM 的预训练范式可以被有效迁移到金融 K 线数据上,只要 tokenization 方法设计得当。
对量化开发者的意义
对于量化金融从业者,Kronos 提供了几个实用价值:
零样本迁移:模型在预训练阶段已经学习了 45 个交易所的数据,对新的市场或品种,不需要从头训练就能获得基线预测能力。这大幅降低了冷启动成本。
统一框架:同一个模型可以做价格预测、波动率预测和合成数据生成,不需要为每个任务单独训练模型。这简化了量化流水线。
概率性预测:通过采样温度和 top_p 调节,模型输出预测分布而非点估计,这对于风险管理尤为重要。
开源可微调:mini/small/base 三个版本完全开源,可以下载到本地微调。模型参数量小(最大 102M),消费级 GPU 就能跑推理和微调。
MIT 许可证,模型权重和代码都可以自由用于商业项目。Hugging Face 上提供了 NeoQuasar/Kronos-mini、NeoQuasar/Kronos-small 和 NeoQuasar/Kronos-base 三个版本。
- 腾讯玄武阿图因AI在CyberGym测试中超越Mythos7/3/2026
- OpenSEO:5800 Star 的开源 SEO 工具,10 美元/月挑战 Semrush 与 Ahrefs7/20/2026
- 华为开源 920 亿参数 openPangu-2.0-Flash 模型6/30/2026
- 美国政府要求 OpenAI 分阶段发布 GPT-5.66/26/2026
- Anthropic 获美国政府批准,恢复 Mythos 5 模型对关键基础设施组织的部署6/27/2026
- OmniRoute:日增 1300+ Star 的开源 AI 网关,一个端点接通 250 个模型提供商7/20/2026
- xAI 开源 Grok Build:Rust 编写的终端编程代理7/15/2026
- Gemini Omni Flash 登顶 Video Arena 盲测榜,领先第二名 101 分7/3/2026
- 华为天才少年的开源AI Agent全书:6700星、十章、可跑实验代码7/20/2026
- DeepSeek 联合北大开源 DSpark:半自回归推测解码,推理速度提升 57% 至 85%6/27/2026
- Voicebox:43K Stars 的开源 AI 语音工作室,7 引擎 TTS + MCP Agent 集成7/19/2026
- 6.4 万 Star 的开源全球情报平台:World Monitor 架构与能力全景7/21/2026
- Hallmark:一份写给AI编码助手的反AI味设计手册7/17/2026
- 27B 模型塞进手机:PrismML Bonsai 27B 把权重压到 1-bit7/18/2026
- Qwen3.8 发布:2.4T 参数、原生多模态、开放权重承诺7/19/2026
- Block 开源 Buzz:Nostr 上的 AI 协作工作空间7/23/2026
- KTransformers:单 GPU 跑 671B MoE 模型的清华方案7/21/2026
- Gigatoken:比 HuggingFace 快 1000 倍的开源分词器7/22/2026
- AI 代码审查的 token 困境:code-review-graph 如何用代码图谱砍掉 98% 的上下文7/20/2026
- jcode:用 Rust 重写的 AI 编码代理,内存占用仅为 Claude Code 的 1/147/22/2026
- B站在WAIC展出开源AI猫娘:能看懂屏幕、主动搭话的桌面伙伴7/18/2026
- Kimi K3 首登 DeepSWE v1.1:开源权重模型挤进前三7/18/2026
- AI 连破三大数学猜想:Jacobian 猜想 87 年反例与形式化验证的新时代7/21/2026
- GPT-5.6用一段十页提示词,关闭凸优化30年的复杂性缺口7/19/2026
- Moonshine Micro:80美分芯片跑完整语音流水线,500KB内存装下VAD+STT+TTS7/18/2026
- LingBot-Map:用前馈3D基础模型做流式重建,20FPS跑完一万帧7/18/2026
- Claude Code 被指通过 system prompt 隐蔽传递代理与时区信息6/30/2026
- Cursor 研究:越强的 AI 模型越会"作弊"应对编程基准测试6/26/2026
- 梁文锋 4 小时投资人会议:DeepSeek 的 AGI 路线图与克制哲学7/24/2026
- Qwen-Image-3.0 发布:追求实用的图像生成7/21/2026