Kronos金融时间序列预测模型实战指南:开源免费,把K线预测准确率做到85%
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
深夜十一点,K线图上五根红柱整整齐齐,均线金叉、量能放大,教科书式的看涨信号,第二天却低开两个点。问题出在哪?答案可能很反常识:K线不是数字,而是一门语言。Kronos金融时间序列预测模型要做的,就是教会机器说这门语言的母语。
想想看,一段行情记录里藏着开盘、收盘、最高、最低和成交量五个维度,它们共同构成了一段完整"叙事"——放量突破、缩量回调、先涨后跌。人眼能读懂这个故事,传统算法却只把它当一堆散装数字去算均值、算斜率,等于让一个不懂中文的人去做古文翻译,错得离谱也就不奇怪了。这个开源项目,正是冲着这个根子上的问题去的。
一句话讲清它是谁
Kronos 是第一个开源的金融K线基础模型,预训练数据覆盖全球 45 家以上的交易所。它做的事可以概括成一句:把连续的K线序列先"翻译"成结构化的 Token,再交给一个只许看过去的因果 Transformer 去预测未来。你不用自己训练大模型,拿来即用,连微调都只是几行脚本的事。
如果只留一个印象,请记住这句:它是目前少有的、把K线当成一门语言来教的模型。
先看效果:跟着一张预测图走一遍 📈
与其听我讲原理,不如先看它交出的答卷。仓库里运行示例脚本后生成的对比图长这样:
上半张是收盘价,蓝线是真实行情,红线是模型预测;下半张是成交量。注意红线和蓝线几乎是贴着走的——不是"猜了个大概",而是连波动的节奏都跟上了。这还只是默认参数的随手一跑。
想更直观地玩一玩?项目内置了一个 Web 界面,在webui/目录执行python run.py就能启动。最贴心的是那个时间窗口滑块:固定"400 个历史点 + 120 个预测点"的窗口,你拖到哪,模型就从哪开始往后推演,像拉着进度条看预测电影。支持 CSV、Feather 格式,温度、核采样、样本数都能调,CPU、CUDA、MPS 全兼容——没有显卡也能跑。
再看一张更完整的分析图。examples/yuce/000021_optimized_prediction.png是深科技(000021)的多维预测,除了价格,还有成交量、涨跌幅,甚至把大盘趋势、板块共振、宏观环境拆成了评分柱状图:
一张图把"价格往哪走、量能怎么配、外部环境支不支持"全摆出来。这已经超出了"预测股价"本身,更像一份迷你投研简报。
藏在背后的三件事
效果只是表象,真正值得琢磨的是它解决三个问题的思路。
第一件事:怎么让机器"读懂"K线。通用时序模型通常把序列切成等长小块喂给网络,相当于把一句话拦腰剪断再拼回去,语义全丢。Kronos 用双粒度编码:先把整段K线粗粒度离散成"大单元"(相当于先分出句子),在每个单元内部再用细粒度子 Token 保留价格与成交量的细节(相当于再标出每个词的语气),最后用 BSQ 量化压缩维度。既保住了结构,又压下了计算量。figures/overview.png把这条"从K线到 Token、再从 Token 重建K线"的流水线画得很清楚:
第二件事:怎么保证"不偷看未来"。模型堆叠的是因果 Transformer,预测第 t+1 步时只能看到第 t 步及之前的信息。听起来是基本功,但很多模型处理长序列时都会不自觉"泄题"。Kronos 把这个约束做成了硬性结构,和真实交易场景严格对齐。
第三件事:怎么让不同预算的人都用得起。它发布了一整条模型家族:Kronos-mini(4.1M 参数)、Kronos-small(24.7M)、Kronos-base(102.3M)、Kronos-large(499.2M)。个人电脑跑 mini 和 small 毫无压力,要冲精度再上 base。官方还贴心提醒:small 和 base 的上下文上限是 512,输入超长会自动截断,别硬塞。
数字说话:回测和准确率
空口无凭,看看项目方给出的验证。官方微调流程里带了一个完整回测演示,对比带成本和无成本下的累计收益与超额收益:
图中黑色虚线是基准指数 CSI300,其余曲线是模型策略在不同口径下的表现。累计收益和超额收益都稳定压在基准上方,回撤也控制在合理范围。在个股实战中,项目方用阿里巴巴 5 分钟K线(样例数据在finetune_csv/data/)微调后,价格预测准确率超过 85%,成交量峰值预测精度超过 90%,趋势方向判断准确率约 92%:
顺带一提,这篇工作已被 AAAI 2026 接收——不是野路子项目,是正经进了顶会的学术成果。
但有一句老实话得说:回测表现不等于实盘收益,预测准确率也不等于收益率。任何宣称"稳赚"的模型都该警惕。Kronos 的价值在于它提供了一个高质量、可复现、可微调的预测底座,剩下的策略、仓位、风控,还得靠你自己的体系。
它和"传统方案"差在哪
用一张表说清楚边界:
| 方案 | 思路 | 典型瓶颈 |
|---|---|---|
| 传统技术指标 | 用 MACD、均线等固定公式推导信号 | 规则是死的,市场是活的 |
| 通用时间序列模型 | 把序列当普通数据做回归 | 不懂K线独有语义,噪声中容易迷失 |
| Kronos | 把K线当语言,先学语法再预测 | 需要一点上手成本,效果依赖数据质量 |
一句话总结:传统指标是"背公式",通用模型是"猜数字",Kronos 是"学语言"。它特别适合两类人——想给量化策略加高质量预测信号的研究者,以及想快速验证"AI 预测到底靠不靠谱"的个人投资者。如果你只想找个"明天涨不涨"的锦鲤,它可能帮不上忙。
四步跑起来 ⚡
上手比想象中简单,全程不超过四步。
第一步:装环境。
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt第二步:准备数据。一张 CSV 就够,至少包含open、high、low、close四列,volume和amount可选。仓库里有现成样例,照格式改就行。
第三步:写十来行预测代码。核心逻辑就三件事:加载模型、喂历史数据、拿预测结果。
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) pred_df = predictor.predict(df=x_df, x_timestamp=x_ts, y_timestamp=y_ts, pred_len=120)数据预处理、归一化、反归一化全由KronosPredictor在内部处理完,你拿到的直接是能用的预测结果。想同时预测多只股票,换predict_batch就能并行跑。
第四步:可视化或部署。跑examples/prediction_example.py生成对比图验证效果;要图形界面就进webui/执行python run.py。全程无需从零训练,模型参数直接从 Hugging Face 拉取。
值得继续关注的理由 🚀
最后说几个让我觉得这个项目"有后劲"的信号:预训练模型从 mini 到 large 全部开源;微调管线同时覆盖了 A 股(Qlib 流程)和任意自定义 CSV(finetune_csv/),等于把"定制专属预测模型"的门槛也降了下来;再加上 AAAI 论文背书和持续更新的 Web 界面,看得出团队在认真做产品,而不是发完论文就撒手。
如果你对它感兴趣,最快的参与方式是:clone 下来跑一次prediction_example.py,看看自己的数据上预测长什么样;遇到问题去提 issue,顺手点个 star 支持一下。金融预测没有银弹,但多一个把K线当"母语"来学的开源底座,总比一个人对着五根红柱干瞪眼强。
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考