Kronos 开源 K线基础模型:5 分钟从零跑通你的第一次股价预测
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
收盘后 15 点,你翻出几只股票的 K 线图,想判断明天的方向,眼前却只有一根根红绿柱。Kronos K线预测就是为这个场景做的:它是首个面向金融 K 线的开源基础模型,在45+家全球交易所的数据上预训练,你喂它一段历史 K 线,它回你一截接下来的价格与成交量走势。这篇文章带你从零开始,用几分钟跑通第一次预测。
🔍 传统做法卡在哪里
你有没有过这样的经历:图表上叠满指标,MACD 金叉加均线多头排列,信号显示"买",结果第二天高开低走一根大阴线。问题未必出在指标本身——每个指标都只是开盘、最高、最低、收盘、成交量这五个维度的单角度切片,单一数字很难同时装下量价关系的整体状态。
更常见的麻烦在后面:你想把观察池从 3 只扩到 30 只,却发现 K 线只能一张一张盯,没有批量、没有自动化;而你脑子里那套"经验模型"和同事完全不同,复现不了、回测不了,也没法迭代。做开源股票预测这件事,卡点往往不在算法,而在"能不能被程序复现"。
🧠 它是怎么做到的
如果要用一句话讲清 Kronos 的工作方式,那就是:先把 K 线"转写"成一串离散的音符,再对这串音符做接龙式的续写。
第一步是 tokenizer(分词器,作用类似文本模型把句子拆成词):它用二进制球面量化(BSQ,一种把连续数值压缩成有限位模式的压缩手段)把连续的 OHLCV 数据先切成粗粒度子 Token,再切出细粒度子 Token——粗的保住趋势,细的留住局部波动,数据维度被大幅压缩,模型却两个层面都看得见。第二步是自回归 Transformer:堆叠 N 个因果(causal)Transformer 块,模型沿时间轴逐个补出下一枚"音符"。坚持"只看过去"不是限制,而是设计目标——因果机制保证它预测下一根 K 线时,和真实交易一样只能用历史数据,不存在偷看答案的通道。
📊 效果有多硬
仓库没有公布单一的"准确率"数字,但有几组可以直接验证的事实:
- 训练面:预训练数据覆盖45+家全球交易所,论文已被AAAI 2026接收;
- 选型空间:开源模型库提供 Kronos-mini(410 万参数、上下文2048根 K 线)、Kronos-small(2470 万、上下文512)、Kronos-base(1.02 亿、上下文512)三档,从笔记本到工作站都能跑;
- 单点预测:官方示例用最近400根历史预测未来120根,红色预测线与蓝色实线贴合度相当高,成交量的峰值位置也基本对得上。
预测线真的和实线贴得这么近吗?看官方示例图:
更有分量的是回测。下图来自官方的 A 股微调示例:2024 年 7 月至 2025 年 6 月、含交易成本的条件下,策略累计收益曲线大部分时间压在沪深 300 基准之上,累计超额收益全程保持为正且趋势向上。
白话翻译:扣掉交易成本之后,这段区间里策略仍跑赢指数,而且领先幅度随时间还在扩大。但要泼一句冷水——这是简化版演示回测,不是未来收益的保证。
注意事项:官方 README 明确说明,finetune 回测管线是简化示例,并非生产级量化系统;模型输出的是原始预测信号,真实使用应接入组合优化与风险管理。把结果理解为"模型有能力",而不是"买了就赚"。
⚡ 几分钟上手
Kronos 安装步骤
前提只有Python 3.10+,依赖一行装完:
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt官方示例 examples/prediction_example.py 默认读取一份 5 分钟 K 线 CSV(需要open/high/low/close/timestamps列,volume/amount可选)。仓库里自带一份可直接用的样例数据集:阿里巴巴 5 分钟 K 线 finetune_csv/data/HK_ali_09988_kline_5min_all.csv,把脚本里的数据路径改成它即可开跑。
python examples/prediction_example.py跑完终端会打印预测结果的 DataFrame,窗口里弹出价格、成交量两联图:蓝线是真实值,红线是模型预测。
注意事项:Kronos-small / Kronos-base 的最大上下文是512,输入
lookback建议不超过该值,超出部分KronosPredictor会自动截断;没有成交量数据可以改用无成交量版本 examples/prediction_wo_vol_example.py;首次运行会从 Hugging Face 下载预训练权重,请保证网络可用。
🚀 还能怎么玩(适合谁用)
Kronos 微调:用自己的数据继续训练
预训练权重只是通用底子,想让模型真正读懂你盯的那片市场,关键在 Kronos 微调。仓库给出两条开箱即用的路线:
- A 股 / Qlib 路线:finetune/ 提供完整管线——数据预处理
qlib_data_preprocess.py→ 训练 tokenizertrain_tokenizer.py→ 训练预测模型train_predictor.py→ 回测qlib_test.py,开工前只需改 finetune/config.py 里的路径; - 自定义 CSV 路线:手头有任何 K 线 CSV 就走 finetune_csv/,写好一份 YAML 配置,
python train_sequential.py --config <配置>一次完成 tokenizer 加预测器的顺序训练,支持多卡 DDP 加速。
下面是在阿里巴巴 5 分钟 K 线上微调 Kronos 后得到的预测结果:
批量与图形化:不只为单只股票服务
- 批量预测:
predict_batch接口可并行预测多只标的,适合板块级扫描、组合级信号生成这类场景; - Web UI:进入 webui/ 运行
python run.py,浏览器打开 localhost:7070 即可拖入 CSV、滑选时间窗口、一键出图,支持 CPU / CUDA / MPS 设备; - 多维度分析:examples/yuce/ 提供了单股综合分析样例——价格、成交量、涨跌幅与市场因素评分四联输出,例如深科技(000021)这份:
一句话划清适用人群:想找个能直接跑起来的开源股票预测基线,直接用预训练权重;有自己的行情数据、想让模型懂本地市场,走微调路线;做研究的话,K线基础模型的完整实现在 model/kronos.py,论文与模型库均开放。
别再让 K 线停留在"看一眼"的阶段——克隆仓库、改掉一行数据路径,从 examples/prediction_example.py 跑起第一次预测,再决定要不要继续深入。
更多资源:README · 批量预测示例 · A股微调管线 · 自定义CSV微调 · Web UI · 模型源码
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考