Kronos 金融K线预测模型上手:安装、第一次预测与常见坑
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
面对来自 45 家全球交易所的海量 K 线,靠人眼找规律基本不现实。Kronos 是第一个专为金融 K 线训练的开源基础模型,给它一段历史 K 线,它能接着预测未来的 K 线,适合想快速体验金融预测的开发者。
🔍 它能帮你做什么
- 输入历史 OHLCV 数据,输出未来任意根数 K 线的开高低收、成交量预测
- 一次加载模型后可连续预测多只标的,支持
predict_batch批量并行推理 - 概率式采样预测(温度、top-p、多路采样平均),结果不是单条"宿命曲线"
- 自带 A 股微调与回测流水线,可以验证预测信号在策略里是否真的有效
它是怎么工作的(30秒版)
Kronos 的核心是两阶段框架:先把连续的 K 线数据量化成一串离散 token,相当于把行情"翻译"成模型能读的语言;再让一个 decoder-only 的自回归 Transformer 在这些 token 上预训练,像语言模型逐词生成一样逐根 K 线地"写"出未来。类比来说,它把看盘这件事变成了"接着往下造句",而且是在 45 家交易所的数据上练出来的。
从零跑通:环境、安装与第一次调用
环境要求:
- Python 3.10+
- 依赖通过 requirements.txt 安装(含 PyTorch 2.0+,有 GPU 更好,CPU 也能跑但慢)
- 首次运行需联网从 Hugging Face 下载预训练权重
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt最短示例(假设 df、x_timestamp、y_timestamp 已按 K 线数据准备好):
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_timestamp, y_timestamp, pred_len=120) print(pred_df.head())输出的pred_df是一张 DataFrame:按你给定的未来时间戳,逐行列出预测的开、高、低、收、成交量和成交额,拿到手就可以直接画图或喂给策略。
一个真实场景走一遍:预测 600977 的 5 分钟 K 线
输入:一份带timestamps列和 open/high/low/close 字段的 5 分钟 K 线 CSV(volume、amount 可缺省)。
操作:仓库里现成的 examples/prediction_example.py 就是完整演示——取前 400 根 K 线作历史上下文,让模型往后推 120 根,跑完自动画图。
看到的结果:下图上半部分是收盘价,蓝线为真实行情、红线为 Kronos 的预测,走势与真实值明显贴合;下半部分同理对比成交量。
如果想看得更全面,examples/yuce/ 下有多只股票的四联分析图(价格、成交量、变化率、市场因素评分);如果想在策略层面验证信号,finetune 目录提供了 A 股微调 + 回测流水线,下图即回测得到的累计收益曲线:
⚠️ 几个容易踩的坑
- lookback 超过 512:Kronos-small / base 的最大上下文是 512 根,超出的部分会被自动截断,别指望更长的历史窗口
- 列名不齐或缺失值:DataFrame 必须含 open/high/low/close,volume/amount 缺失会填零,但出现 NaN 会直接报错,先清洗数据
- 批量预测约束:
predict_batch要求所有序列的历史长度、预测长度完全一致,混着不同窗口长度会失败 - 首次下载慢:权重来自 Hugging Face,网络不畅时配置镜像代理再跑
- CPU 跑得慢:设备自动检测(CUDA > MPS > CPU),没有 GPU 建议先用 4.1M 参数的 Kronos-mini 试水
跑通 example 之后,基本就算入门了。想看批量预测或 CSV 微调的更多细节,去下方链接找脚本。
相关资源
- 完整预测示例(含绘图):examples/prediction_example.py
- 无成交量数据的预测示例:examples/prediction_wo_vol_example.py
- 批量预测示例:examples/prediction_batch_example.py
- A 股微调与回测流水线:finetune/
- 基于 CSV 的微调说明(含港股 5 分钟 K 线示例):finetune_csv/README_CN.md
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考