最近一个叫 Kronos 的项目频繁出现在视野里——单日涨了近 2000 星,现在 GitHub 上的总星数已经突破 3.4 万。

炒过股、玩过币的人都知道,K线这玩意儿极难琢磨。涨跌无序,噪声又多,拿通用的 AI 模型生搬硬套去预测,效果往往很糟糕。
清华的团队做了一件很有意思的事:干脆为 K 线数据专门训练一个模型,让它只精这一门。
把 K 线当成一种“语言”来学,这种思路确实罕见。
项目简介
传统量化怎么玩?手写策略、调参数、回测,实盘一跑可能就翻车。换个品种,一切又得从头来。
Kronos 走的是另一条路:不学具体策略,只学 K 线本身的演变规律。给它一段历史走势,它直接推演出接下来几根 K 线长什么样。

就像 GPT 不需要你教它语法就能写文章,Kronos 也不需要你写交易策略就能给出预测结果。
它的训练数据覆盖了全球 45 家以上的交易所,横跨股票、期货、加密货币等多个市场。
目前在 GitHub 上已经斩获超过 3.3 万星,热度相当高。更关键的是,相关论文已被 AAAI 2026 这种级别的会议收录,说明这东西不是随手糊的小玩具。

功能特性
01 两阶段框架:把 K 线变成“词”
Kronos 最核心的设计可以拆成两步。
第一步,把 K 线数据(开盘、最高、最低、收盘、成交量)编码成离散的“词”。先刻画涨跌方向,再量化变动幅度。
第二步,用类似 GPT 的方式在这些“词”上做预训练,自回归地预测下一根 K 线。
为什么非要兜这么一大圈?
金融数据的噪声实在太大,直接拿原始数值训练,效果大打折扣。先压缩成离散的“词”,等于在数据层面做了一重去噪。
一句话总结:K 线被转化成“词”,模型学的就是“市场怎么说话”。
02 零样本预测:不用写策略,喂数据就出结果
这才是最让人兴奋的地方。
没有特征工程,不需要调参,更不用硬编码任何策略逻辑。把一段历史 K 线塞进去,它直接输出未来 N 根 K 线的预测值。
而且它还支持零样本预测——哪怕是一个它从没见过的交易品种,丢进去照样能给你结果。
官方给出的数据是:零样本排序能力比主流时序模型高出 93%。当然,实际效果得亲手跑过才知道,但方向是没错的。

03 支持 A 股微调:基于 Qlib 的完整流程
A 股也能用。项目配套了完整的微调流程,底层调用的还是微软开源的量化平台 Qlib。
整个流程四步走:数据预处理 → 微调模型 → 回测评估。工坊给出了日线数据的演示示例,还附带选股策略回测,可以直接生成这样的收益曲线图。

不过项目方也很坦诚:这只是一个演示,并不是生产级的系统。
04 多版本模型 + 在线 Demo

最小的模型才 4.1M 参数,任意一台电脑都能跑起来。所有模型都可以直接在 Hugging Face 上下载。
项目还贴心地搭了个在线 Demo,不用装任何东西,就能直接看 BTC 未来 24 小时的预测效果:
https://shiyu-coder.github.io/Kronos-demo/

快速安装、使用
安装
git clone https://github.com/shiyu-coder/Kronos.git
cd Kronos
pip install -r requirements.txt
基础预测:几行代码
from model import Kronos, KronosTokenizer, KronosPredictor
# 加载模型(首次自动从 HuggingFace 下载)
tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
model = Kronos.from_pretrained("NeoQuasar/Kronos-small")
predictor = KronosPredictor(model, tokenizer, max_context=512)
# 准备数据(需包含 open/high/low/close 列)
import pandas as pd
df = pd.read_csv("./data/XSHG_5min_600977.csv")
df['timestamps'] = pd.to_datetime(df['timestamps'])
lookback, pred_len = 400, 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
)
喂数据,拿预测,就这么直接。
A 股微调
额外装上 Qlib,然后四步走:
pip install pyqlib
# 1. 数据预处理
python finetune/qlib_data_preprocess.py
# 2. 微调分词器
torchrun --standalone --nproc_per_node=1 finetune/train_tokenizer.py
# 3. 微调预测器
torchrun --standalone --nproc_per_node=1 finetune/train_predictor.py
# 4. 回测评估
python finetune/qlib_test.py --device cuda:0
社区里也有人整理了一套中文实战指南(Vincentwei1021/kronos-guide-cn),想上手 A 股的话可以参考。
项目实测展示
我亲自跑了一趟,用的是 Kronos-base 模型,102M 参数。数据通过 yfinance 拉取,扔进去大约近两年 250 天的日线,然后让模型预测未来 30 天。

先拿个股开刀。
把历史 K 线喂进去,模型就吐出了未来 30 天的全套预测——收盘价趋势、波动区间、成交量,全挤在一张图里。
蓝线是历史,红色虚线是预测,浅红色区域就是模型给的置信波动范围。如果数据里本身就含了真实的未来行情,它还会自动帮你算误差率。


再试试指数。
同样的套路,切到批量预测模式,三个指数一次性出结果,直接生成一张涨跌对比图和汇总表——预测均点、最高、最低、涨跌幅,全列得明明白白。


从环境搭好到出图,前后大概只需要 5 分钟。预测单只股票耗时约 30-60 秒,批量三个指数也就一两分钟的事。
趋势的大方向基本能吻合,但精确点位上会有偏差。这很正常,零样本、没微调嘛。项目方也反复强调,这是演示级,不是生产级。
最后说几句
得先泼一盆冷水:这东西再厉害,也没法保证你能赚钱。
- 性能最强的那个大版本,官方目前还没有开源;想体验满血版,还得再等等。
- 项目中的微调和回测示例,只是用来走通流程的,不是一套可以直接拿来做实盘的成熟策略。真要用来炒股炒币,风控、仓位管理这些活,一点也不能省。
- 市场本身就充满了不确定性,任何模型都不可能做到 100% 准确。把它当成研究工具就好,别幻想着靠它躺着赚钱。
不过平心而论,这个项目的价值不在于“能不能帮你赚钱”,而在于它开辟了一条新路子——用预训练大模型的范式来做金融预测,把 K 线当作语言来学。
真正开源、能跑、还有完整微调流程的,Kronos 也许是第一个。
搞量化的朋友很值得花时间深入看看。即便不做量化、只是关注 AI 落地场景的人,这种垂直领域模型的训练思路也值得收藏。更多细节,可以直接去项目主页探索:
https://github.com/shiyu-coder/Kronos
在 云栈社区 里,也常有开发者分享这类垂直领域模型的实际部署与调优经验,可以从更多维度把玩这类工具。