☰
Kronos K线预测基础模型实战指南:3 条命令跑通你的第一次股价预测
2026/10/17 5:09:06 网站建设 项目流程

Kronos K线预测基础模型实战指南:3 条命令跑通你的第一次股价预测

【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos

Kronos 是一个面向金融 K 线的开源基础模型,在 45+ 个交易所的数据上训练。它把 OHLCV 蜡烛图变成 Transformer 能读的语言,拿来就能预测未来的价格和成交量。读完本文,你可以用 10 分钟在自己机器上跑通一条 K 线预测,并看懂结果图是否可信。

一句话看懂

Kronos 是专门给金融 K 线做的 decoder-only 基础模型:先用 tokenizer 把连续的 OHLCV 数据量化成层级化离散 token,再在 token 上做自回归 Transformer 预训练。它不是通用时间序列模型,而是针对金融数据高噪声特性专门设计的。

维度传统做法Kronos
建模方式手工指标(MA/MACD),逐市场调参一次预训练覆盖 45+ 交易所,跨市场泛化
输入单一价格列或指标序列OHLCV 多维 K 线整根喂入
上下文长度受方法本身限制512~2048 根 K 线(看模型规格)
输出点估计T/top_p 可控采样,支持多条预测路径

它替你省掉什么

手工拼时序预测流水线。自己做时间序列模型,归一化、窗口对齐、超长截断、反归一化每样都要写,每样都可能埋坑。Kronos 用KronosPredictor类把这些全收进去了:你只传一个 DataFrame 和两段时间戳序列,剩下的预处理到反归一化全由它处理。

多标的逐个跑的等待时间。回测或扫全市场时逐只股票推理太慢。predict_batch在 GPU 上并行处理一个序列列表,返回顺序与输入一致,前提是每条序列的 lookback 和 pred_len 相同。

没有成交量的数据源。指数、部分海外数据拿不到 volume。这里 volume、amount 是可选列,缺失时自动填 0,examples/目录里有配套的无成交量示例脚本,不用为缺数据换模型。

🚀 最快上手路径

环境要求:Python 3.10+、PyTorch 2.0+。

git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt

执行完你会看到依赖逐个安装完成,核心是 torch、pandas、matplotlib、huggingface_hub 这几个包。

然后在 Python 里加载模型和 tokenizer:

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)

执行完你会看到 24.7M 参数的 small 模型和 tokenizer 从 Hugging Face 拉到本地缓存,predictor 实例就绪。

最后跑完整示例,脚本取 400 根历史 K 线、预测后 120 根:

cd examples python prediction_example.py

执行完你会看到终端打印预测 DataFrame 的头部,并弹出双面板对比图:上板收盘价、下板成交量。注意脚本读取的是./data/XSHG_5min_600977.csv,这个 CSV 不在仓库里,你需要自备一份同列名的 K 线数据或换成自己的文件路径。

📊 结果怎么读才算靠谱

上板是收盘价、下板是成交量,蓝线 Ground Truth 是真实值,红线 Prediction 是最后 120 根区间的预测。三条判读标准:

  • 不要求预测线"贴"住真实曲线,看方向和波动带。示例里真实值在谷底后横盘,预测却往上走——方向判断错了,但幅度仍落在历史价格区间内,这是可以接受的误差形态
  • 预测成交量的量级必须与历史同档。图中历史成交量大多在 1000 左右,预测也在同一量级;如果放大几倍或塌到 0,先怀疑采样参数
  • 把sample_count调大跑多条路径,如果各条预测分歧很大,说明这条信号置信度低,只适合研究、不适合直接定仓位

回测图是另一个维度的证据:

  • 优先看下板"累计超额收益",这是相对 CSI300 基准的净价值;上板累计收益会被大盘整体行情带着走
  • 四条曲线对应不同采样参数(last/mean/max/min)。min 那条也站在基准上方,说明信号对采样参数不敏感,比较稳
  • 上板前段的回撤(约 -0.1)不用单独恐慌,对照横轴时间看基准同期是否同跌,2024 年初整段都在跌

⚠️ 避坑清单

坑现象解法
上下文超限结果比预期"短视"Kronos-small/base 最大上下文 512,lookback 超过会被自动截断;要长上下文选 Kronos-mini(2048)
数据列不齐predict 报错或结果异常open/high/low/close 四列必填;volume、amount 可缺,缺失填 0
示例缺数据文件FileNotFoundError仓库不附带示例 CSV,自备 K 线数据并确认脚本读的是你的路径
环境版本import torch 失败requirements.txt 锁定 torch>=2.0.0、pandas 2.2.2,别用旧版 PyTorch
批量预测错位结果和标的对不上号predict_batch 要求所有序列 lookback、pred_len 完全一致

🔧 进阶方向

架构上,左侧管道用 BSQ 向量量化把每根 K 线映射成"粗粒度 + 细粒度"两层子 token,右侧 N 层 Causal Transformer Block 做自回归预训练,两头解耦,所以噪声大的金融序列也能稳定建模。

三个可以立刻动手的延伸:

  • 用自己的市场数据微调:仓库内置两条微调流水线,CSV 数据走finetune_csv/(train_sequential.py 一条命令先训 tokenizer 再训 predictor,附港股 09988 五分钟的示例配置和产出图)
  • A 股 Qlib 全流程:finetune/目录按预处理 → 训 tokenizer → 训 predictor → qlib_test 回测四步组织,最后一步自动出 top-K 策略回测和上图那张收益曲线
  • 换预测参数:先调 T、top_p、sample_count 看多路径分歧,再决定要不要微调,顺序别反

Kronos 的价值在于几十行代码就能把 K 线变成可判读的多维预测,代价只是四列数据和 512 的上下文限制。下一步:挑一只你熟悉的股票,拉一年 5 分钟数据,按"最快上手路径"跑一遍——等你能独立判读预测图和回测图这两类图,再进入微调环节。

【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询