Kronos 股票 K 线预测上手:3 分钟跑通第一个预测
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
Kronos 是一个开源的金融 K 线基础模型:喂给它历史 OHLCV K 线,它输出未来一段的价格与成交量预测。读完全文,你能在自己机器上跑通一次真实预测,并看懂输出图的每一条线。
📈 先看效果
第一次运行就能拿到 120 根预测 K 线。下方示例用 Kronos-small(2470 万参数)对一只 A 股 5 分钟序列做预测:上图为收盘价,下图为成交量,蓝线是真实值,红线是模型预测。
上图把红色预测线和蓝色真实线按 K 线逐根对齐,下图同样对比成交量。这就是你跑完示例脚本后看到的成果形态。
三分钟跑起来
最短路径是两条命令:一条装依赖,一条跑示例。
安装并运行
Kronos 要求 Python 3.10+ 和 torch>=2.0.0;单次预测用 CPU 就够,批量预测和微调才需要 GPU。模型权重首次运行会从 Hugging Face 自动下载,这一步需要联网。
git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos && pip install -r requirements.txt然后跑最小示例:
python examples/prediction_example.py脚本会加载 Kronos-Tokenizer-base 和 Kronos-small,取 600977 这只股票 5 分钟 K 线的前 400 根做输入,输出接下来 120 根预测,最后弹出双联图。注意数据文件 XSHG_5min_600977.csv 仓库未自带,运行前先准备一份自己的 CSV。
想用浏览器就开 webui
cd webui && python run.pywebui/ 把同一套预测能力包成了 Flask 页面:启动后打开 localhost:7070,选 CSV、拖动 400+120 的时间窗口,点预测即可,适合不想碰命令行的人。
它是怎么工作的
Kronos 分两级。第一级是 tokenizer:把每根 K 线的 OHLCV 数值压成分层离散 token,类似把一句话翻译成音素串,模型就不用直接面对连续、带噪的价格。第二级是预训练在 45 个以上全球交易所数据上的自回归 Transformer,逐 token 预测下一个。你调用时,KronosPredictor 负责归一化和反归一化,你只需面对原始 DataFrame。
图中左侧是 tokenizer 把 K 线压缩成 token,右侧是自回归 Transformer 逐个生成下一个 token。
跟一个真实案例走一遍
这个案例输入 600977 的 5 分钟 K 线,输出 120 根预测 K 线,全流程在 examples/prediction_example.py 脚本里。
输入:读入 CSV,取前 400 根作为历史(open/high/low/close/volume/amount 加时间戳),接下来 120 根是要预测的时间窗。
中间:预测器先把价格尺度归一化,tokenizer 把 400 根 K 线量化成 token,模型自回归地一次采样 120 个 token(T=1.0,top_p=0.9),最后反归一化回真实价格。
输出:一个 120 行的 DataFrame,含预测的 open/high/low/close/volume/amount,以你提供的时间戳为索引。
仓库 examples/yuce/ 目录里还有一份更完整的日级成果:000021 深科技的四联预测图。
左上子图蓝线是历史价格、绿线是增强预测,红色三角标出最高点 25.88 元,蓝色方块是最终预测值 19.31 元;右上是成交量预测(绿柱为预测量),右下是市场因子评分(均分 0.59)。
环境与常见坑
硬件:单次预测 CPU 可跑,批量预测 predict_batch 与微调建议用 CUDA GPU。软件:Python 3.10+、torch>=2.0.0,其余依赖全在 requirements.txt 里。
- 缺数据文件:prediction_example.py 读取 examples/data/XSHG_5min_600977.csv,该文件仓库未附带,直接运行会报错。解法:导出任意股票的 5 分钟 K 线 CSV 放到该路径,列名含 open/high/low/close。
- 输入超过 512 根:Kronos-small 与 Kronos-base 的 max_context 为 512,过长输入会被预测器自动截断,但效果最好控制在 512 根以内。解法:调小 lookback,或换用 2048 上下文的 Kronos-mini。
- predict_batch 报错:批量预测要求所有序列历史长度相同、pred_len 相同,且每个 DataFrame 必须有 open/high/low/close 列(volume 和 amount 可选,缺失会补 0)。解法:先把所有序列统一切片长度再入批。
适合谁、下一步做什么
适合三类场景:想快速验证 K 线预测效果的个人投资者;想在自己的数据上做微调的量化开发者(finetune_csv/ 支持自定义 CSV 微调);以及想并行筛选一批标的的团队。
下一步动作:准备一份自己的 K 线 CSV,先跑通 examples/prediction_example.py 看输出图;习惯图形化操作的话,跑 webui/run.py 打开浏览器即可。
【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考