[分享发现] Kronos 入场:当 AI 进化到可以“画出”明天的 K 线

在 2026 年的 A 股市场,我们不仅在与人博弈,更是在与‘时间序列’背后的幽灵共舞。站在 2026 年这个节点,老派的技术分析正面临前所未有的生存危机。随着全面注册制的深化和超高频量化算法的普及,传统的 MACD 、KDJ 甚至曾经被奉为神谕的“仙人指路”形态,似乎都在被某种无形的力量精准收割。...
[分享发现] Kronos 入场:当 AI 进化到可以“画出”明天的 K 线
[分享发现] Kronos 入场:当 AI 进化到可以“画出”明天的 K 线

在 2026 年的 A 股市场,我们不仅在与人博弈,更是在与‘时间序列’背后的幽灵共舞。站在 2026 年这个节点,老派的技术分析正面临前所未有的生存危机。随着全面注册制的深化和超高频量化算法的普及,传统的 MACD 、KDJ 甚至曾经被奉为神谕的“仙人指路”形态,似乎都在被某种无形的力量精准收割。当市场陷入“量价迷雾”,散户与大户的博弈已不再仅仅体现在盘口的挂单上,而变成了算力与逻辑的终极赛跑。最近看到 Kronos 金融模型,我决定尝试将 Kronos 接入我的 A 股量化工作流。 首先介绍一下 Kronos 。Kronos 是一个专为金融市场"语言"——K 线序列预训练的 decoder-only 基础模型系列。与通用时间序列预测模型( TSFM )不同,Kronos 专门设计用于处理金融数据独特的高噪声特性。它采用创新的两阶段框架:专用分词器首先将连续的多维 K 线数据( OHLCV )量化为分层离散令牌。随后基于这些令牌预训练大型自回归 Transformer ,使其成为适用于多种量化任务的统一模型。 kronos 我花了半天的时间在本地使用 Kronos 模型和 qlib 数据,在 CPU 上预测未来交易日的 K 线走势,并输出:K 线图(单图,上预测下真实)。 脚本支持两类模型输入:Kronos 官方模型目录和普通 PyTorch 模型文件

项目目录格式:

├── kronos_qlib_predict.py
├── README.md
├── qlib_data/
├── model/
├── tokenizer/
└── Kronos/

目录说明:

model/:本地 Kronos 模型目录
tokenizer/:本地 Kronos tokenizer 目录
Kronos/:官方源码仓库,用于提供 model.py

本地环境要求:

CPU 环境即可
已安装本地 qlib 数据
下载模型和 tokenizer

下载 Kronos 模型,推荐使用 Hugging Face Hub 的整仓下载,而不是手动拷贝单个文件:

python -c "from huggingface_hub import snapshot_download; snapshot_download(repo_id='NeoQuasar/Kronos-base', local_dir='/Users/fighteryu/Downloads/kronos_demo/model', local_dir_use_symlinks=False)"

下载 tokenizer

模型目录中至少应包含:

model.safetensors 或其他*.safetensors
tokenizer 目录中应包含 tokenizer 所需配置和词表文件。

下载官方 Kronos 源码

当前脚本在加载 Kronos 官方模型时,会使用:

from model import Kronos, KronosTokenizer, KronosPredictor

因此需要本地存在官方代码仓库:

git clone https://github.com/shiyu-coder/Kronos.git

运行脚本时,需要把 Kronos 仓库加入 PYTHONPATH:

标准运行方法

 --provider-uri ~/Downloads/kronos_demo/qlib_data \
 --instrument sh600519 \
 --start 2023-01-01 \
 --end 2024-12-31 \
 --model-path ~/Downloads/kronos_demo/model \
 --tokenizer-path ~/Downloads/kronos_demo/tokenizer \
 --window 64 \
 --horizon 5 \
 --seed 40 \
 --out ~/Downloads/kronos_demo/kronos_pred.csv \
 --chart-out ~/Downloads/kronos_demo/kronos_pred.png

执行预测 K 线结果输出 K 线图 预测 K 线 股票价格参数会输出到表格中,终端输出如下图 价格 如果是预测的历史的交易数据,生成的图片会展示预测 K 线和实际 K 线,我们可以从图上直观的看到预测和实际 K 线的差别 对比 参数搜索(自动回测)

如果你要自动找更优参数( window / T / top_p / sample_count ),可以使用--tune:

 --provider-uri ~/Downloads/kronos_demo/qlib_data \
 --instrument sh600519 \
 --start 2021-01-01 \
 --end 2024-12-31 \
 --model-path ~/Downloads/kronos_demo/model \
 --tokenizer-path ~/Downloads/kronos_demo/tokenizer \
 --horizon 5 \
 --seed 40 \
 --tune \
 --grid-window 64,128,256,384 \
 --grid-temp 1.0,0.9,0.7 \
 --grid-top-p 0.95,0.9,0.8 \
 --grid-sample-count 1,5,10 \
 --tune-stride 5 \
 --tune-max-windows 120 \
 --tune-out ~/Downloads/kronos_demo/kronos_tune_scores.csv

说明:

会在历史区间做滚动回测

评分指标为 close 的 MAE / RMSE / MAPE

结果会保存到--tune-out

程序会打印 RMSE(close)最优参数组合

RMSE

如何提高预测的数据准确率?提升准确率最有效的是这几件事(按优先级):

先做可复现评估再调参:固定--seed ,固定回测区间,按滚动窗口评估 MAE/RMSE/MAPE ,先建立 baseline 。

调 window (最关键):别只用 64 ,建议网格 64/128/256/384/512 ; Kronos-base 上下文上限通常 512 。

调采样参数,随机性较强。要更稳可试:

按标的做独立最优参数:不同股票波动结构差异大,参数不应一套通吃。

数据质量优先:确认 qlib 数据无缺失/异常点,factor 处理一致,避免未来数据泄漏。

分市场/分周期建模:A 股、港股、美股混在一起直接推理常会降精度;不同频率(日线/5min )也要分开调。

引入真实交易日历:你现在未来日期用 B ,与真实交易日可能不完全一致,建议用交易所日历生成预测日期,减少时间错位误差。

如果允许训练:做微调(提升最大):用你的目标标的/行业数据做轻量 finetune ,通常比纯 zero-shot 提升明显。

给你一个最实用的执行顺序( 1 天内可做):

固定 seed + 固定评估集

跑 window 网格

在最佳 window 上调 T/top_p/sample_count

输出每组参数的 MAE/RMSE 表,选最优

再考虑是否 finetune

如果大家对我的话题感兴趣的话可以👍➕关注哦!

code

原文转载自:Kronos 入场:当 AI 进化到可以“画出”明天的 K 线

来源: v2ex查看原文