fighteryu
V2EX  ›  投资

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

  •  
  •   fighteryu · 2 days ago · 658 views

    在 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 线

    7 replies    2026-05-11 14:59:49 +08:00
    cyhulk
        1
    cyhulk  
       2 days ago
    你用的是多大的模型
    fighteryu
        2
    fighteryu  
    OP
       2 days ago
    @cyhulk 可以参考 GitHub 上的 Kronos 项目,目前使用的是 Kronos-base 版本
    iorilu
        3
    iorilu  
       1 day ago
    前阵子和 ai 一起研究了下

    反正我的结论是对真实交易没锤子用
    incu
        4
    incu  
       13h 55m ago
    看了一下这项目是去年就发布的,感觉没什么水花,看了一下 github 的讨论好像也不怎么准确的样子
    fighteryu
        5
    fighteryu  
    OP
       11h 55m ago
    @iorilu 哈哈哈,真实交易都不看 K 线的
    fighteryu
        6
    fighteryu  
    OP
       11h 55m ago
    @incu 哈哈哈哈,如果准确的话谁还拧螺丝
    iorilu
        7
    iorilu  
       11h 9m ago
    @fighteryu 不是准不准问题

    而是这个模型压根不能证明能和预测股价有关系
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1170 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 18:09 · PVG 02:09 · LAX 11:09 · JFK 14:09
    ♥ Do have faith in what you're doing.