Kronos 股票预测入门指南:5 分钟跑通 K 线走势预测
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
Kronos 是一个开源的金融 K 线基础模型——首个专门为股票 K 线序列预训练的开源基础模型,训练数据覆盖了 45 个以上交易所。你只需要给它一段历史 K 线(开盘、最高、最低、收盘,成交量可选),它就能输出一条未来的 K 线序列,而不只是一个"涨/跌"信号。核心模型代码在 model/kronos.py,最小规格 Kronos-mini 仅 410 万参数,论文已被 AAAI 2026 接收。
先看效果:Kronos 股票预测能输出什么
在决定要不要深入之前,先看清它实际交付的东西:
- 完整的未来 K 线:
predict方法返回未来每个时间点的 open/high/low/close/volume/amount 整条序列,可以直接画图、回测或接策略 - 可复现的回测流程:仓库自带 A 股微调 + 回测管线(
finetune/),跑完会生成策略累计收益对基准的对比曲线 - 多规格模型可选:从 410 万参数到 5 亿参数,适配不同算力
官方发布的预训练模型规格如下:
| 模型 | 参数量 | 上下文长度 | 开源 |
|---|---|---|---|
| Kronos-mini | 4.1M | 2048 | 是 |
| Kronos-small | 24.7M | 512 | 是 |
| Kronos-base | 102.3M | 512 | 是 |
| Kronos-large | 499.2M | 512 | 否 |
原理白话版:K 线如何变成模型能读的"文字"
Kronos 分两步工作,可以用"语音转文字 + 续写"来打比方:
- Tokenizer 把 K 线"转成文字"。连续的价格和成交量就像一段语音,无法直接被语言模型处理。Tokenizer 先把每个时间点的 OHLCV 数据量化成离散 Token,并且是两层结构:粗粒度 Token 记录整体形态,细粒度子 Token 保留更精细的价格与量能信息。这样既压缩了数据,又没丢掉细节
- 自回归 Transformer 负责"续写"。模型像写文章一样,一个 Token 接一个 Token 地生成未来序列,预测某一步时只能看到之前的历史——这跟真实交易中"看不到未来"的场景完全一致
注意上下文限制:Kronos-small / base 的最大输入长度是 512 根 K 线,超出部分KronosPredictor会自动截断。
5 分钟跑通第一次 Kronos 预测
环境要求 Python 3.10+,依赖很简单(PyTorch 2.0+、pandas 等):
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt python examples/prediction_example.py跑之前准备一份 5 分钟 K 线 CSV,放到工作目录的data/下(示例脚本默认读取./data/XSHG_5min_600977.csv)。列名要求:timestamps、open、high、low、close必填,volume、amount可选(examples/prediction_wo_vol_example.py 演示了无成交量数据的情况)。
脚本会按"历史 400 根 → 预测 120 根"的窗口调用模型,最后弹出预测曲线和真实值的对比图。不想写代码的话,仓库还内置了 Web 界面:
cd webui python run.py启动后访问http://localhost:7070,在页面上选数据文件、模型规格(支持 CPU / CUDA / MPS)和采样参数即可出结果,见 webui/README.md。
实战:批量预测与自有数据微调
单只股票跑通之后,仓库预留了两条进阶路径:
- 批量并行预测:
predict_batch方法可以同时预测多只股票,利用 GPU 并行加速。要求所有序列的历史窗口长度和预测长度一致 - 用自己的数据微调:
finetune_csv/:针对任意 CSV 数据的一站式流程,python train_sequential.py --config configs/...自动完成"先微调 Tokenizer、再微调预测模型"两步。仓库里附带港股 09988 的 5 分钟 K 线示例数据,跑完的效果示例存放在finetune_csv/examples/finetune/:基于 Qlib 的 A 股日线数据管线,覆盖数据预处理、训练、回测全流程
- 综合分析报告示例:
examples/yuce/下存放了 000021 等个股的分析报告 JSON 与图表,可以看到预测结果如何与市场、板块、宏观评分等维度组合使用
Kronos 与传统技术指标的差异对比
| 维度 | 传统技术指标(均线、MACD 等) | Kronos |
|---|---|---|
| 输入 | 从价格中人工挑选少数指标 | 直接吃完整 OHLCV 序列 |
| 经验依赖 | 参数与阈值高度依赖个人经验 | 在 45+ 交易所数据上预训练,通用模式开箱即用 |
| 输出 | 单一信号(金叉、超买等) | 未来完整的 OHLCV 序列 |
| 多标的处理 | 逐个计算 | predict_batch并行批量 |
| 适配特定标的 | 换股票重调参数 | finetune_csv/用自有数据微调 |
适合人群与风险提示
适合谁:想动手验证"基础模型 + 金融序列"方向的研究者(论文可查 arXiv:2508.02739);想批量扫描 K 线形态的量化开发者;以及希望用 5 分钟级别数据做日内趋势研究的交易者(配合finetune_csv/的微调流程)。
风险必须说清楚:
- 模型输出是带温度与核采样参数的概率性预测(
T、top_p、sample_count都会影响结果),同一段数据多次运行结果可能不同 - 仓库官方明确声明:内置回测是演示简化版,并非生产级交易系统,真实策略还需要组合优化、风险因子处理、交易成本与滑点建模
- 历史回测表现不代表未来收益,本文内容不构成任何投资建议
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考