news 2026/9/12 4:32:27

开源 K线预测模型 Kronos:45 个交易所数据背后的股票预测基础模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开源 K线预测模型 Kronos:45 个交易所数据背后的股票预测基础模型

开源 K线预测模型 Kronos:45 个交易所数据背后的股票预测基础模型

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

本文介绍的开源 K线预测项目,Kronos 股票预测模型,在 45 个以上全球交易所的 K线数据上预训练。它把开盘、最高、最低、收盘、成交量(OHLCV)序列量化为离散 token,再用自回归 Transformer 逐点预测未来 K线。流程全部开源,可在本地复现。

它解决什么问题

从选股与量化流程看,直接拿 K线数据做预测有三个难点:

  • 维度多,难以统一处理。一根 K线带 open、high、low、close、volume 五个字段,量纲与分布各不相同。传统指标方法一次只看一维,再人工拼接,容易丢掉维度间的联动。Kronos 的 tokenizer 把五维数据作为一组整体做量化,天然保留这种耦合关系。
  • 噪音大,模型容易过拟合。金融序列是高噪音数据,通用时间序列基础模型直接套用并不理想。README 中说明 Kronos 是专门为金融 K线的高噪音特性预训练的 decoder-only 基础模型,而非通用 TSFM。
  • 人工反应慢,无法批量。逐只画图、看线花费的时间,放到数千只股票上就不可行。Kronos 提供predict_batch接口,借助 GPU 并行同时预测多条序列,且每条序列独立做归一化与反归一化。

原理速览

Kronos 是两阶段设计,可以理解为"先把 K线翻译成词,再让语言模型续写":

  1. K线标记化。tokenizer 的编码器对 OHLCV 做 BSQ 量化,把每根 K线拆成"粗粒度 + 细粒度"两层子 token:粗粒度刻画整体形态,细粒度保留价格与成交量细节;解码器能用 token 重构回 K线,保证信息没有丢。
  2. 自回归预测。token 序列上堆叠因果 Transformer 块,粗、细粒度 token 之间通过交叉注意力交互。由于使用因果掩码,预测下一步时只能依赖更早的 token,训练与推理都看不到未来数据——这与真实交易场景一致:下单时刻永远只有历史可用。

核心实现在 model/kronos.py,Transformer 块结构在 model/module.py。

效果怎么验证

回测收益怎么看

仓库随微调流水线(A股数据,由 finetune/qlib_test.py 生成)给出回测图。上下两个面板,各含 last / mean / max / min 四条采样曲线:

  • 上方面板(带成本的累计收益):区间为 2024-07 至 2025-06。四条策略曲线在 2024 年 10 月后整体位于 CSI300 基准虚线之上,2025 年 4 月前后出现一次明显回撤,随后再度拉开差距。
  • 下方面板(带成本的累计超额收益):2024 年 10 月后持续上行,四条曲线末端大致分布在 0.05 到 0.15 之间。

需要说明:README 明确写这段流水线只是简化示例,不是生产级量化系统。

单股价格与成交量预测对比

示例脚本用 400 根历史 K线预测未来 120 根,产出对比图:红为预测,蓝为真实值,收盘价与成交量分上下两幅。图中可以看到:

  • 预测并非每一段都与真实吻合。尾段收盘价预测曲线抬升到 11.3 附近,而真实值停在 10.9 上下,偏差随预测步长增大而放大。
  • 成交量预测与真实值在量级和峰值位置上更接近一些,但单根尖峰仍有偏移。

仓库没有给出固定"准确率"数字,验证方式就是拿同样的历史窗口自己跑一遍,把预测值和真实值画在一起比较。

三步跑起来

Kronos 安装与数据准备

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

要求 Python 3.10 及以上。数据准备一份带 timestamps 列和 open / high / low / close 列的 CSV(volume、amount 可选)。注意 small 与 base 模型的最大上下文长度是 512,历史窗口建议不超过 512 根,更长会被自动截断。

执行预测

运行 examples/prediction_example.py 即可完成"加载模型 → 调用KronosPredictor.predict→ 输出对比图"的完整流程;若数据没有量价字段,用 examples/prediction_wo_vol_example.py 即可,采样参数(T、top_p、sample_count)都可在 predict 调用中调节。

进阶玩法

  • A股微调:finetune/ 提供四步流水线:改config.py路径 →qlib_data_preprocess.py切分数据 → 用 torchrun 依次微调 tokenizer 与 predictor →qlib_test.py回测。依赖pyqlib,示例基于 Qlib 的日线数据。
  • 自定义 CSV 微调:finetune_csv/ 支持拿单个 CSV 直接训练,仓库示例是阿里巴巴(港股 09988)的 5 分钟 K线,train_sequential.py一条命令顺序完成两阶段训练,也支持多卡 DDP。
  • 高频与批量场景:5 分钟级数据按同样 CSV 格式喂入即可,其他频率只需换数据粒度;整池股票筛选用predict_batch,前提是所有序列历史长度与预测长度一致。

适合谁 / 使用注意

适合三类人:想动手试 K线序列建模的量化新手、评估时间序列基础模型的研究者,以及要把并行预测接口嵌进选股流程的开发者。模型权重提供 mini / small / base 三档(4.1M / 24.7M / 102.3M 参数),显存有限可从 mini 起步。

使用注意:模型输出是统计意义上的推断,预测结果不构成任何投资建议。仓库自己也写明回测只是简化演示;要变成可用策略,还需组合优化、风险因子中性化,并认真建模交易成本、滑点与市场冲击。


下一步可以这样做:从 examples/prediction_example.py 跑出第一个预测;需要浏览器界面时参考 webui/,启动后访问本地 7070 端口;项目采用 MIT 协议开源,对应论文题为 "Kronos: A Foundation Model for the Language of Financial Markets"。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 4:31:45

2023主流内容分发工具评测与实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 4:29:56

NLP教学实践包:TF-IDF与BiLSTM可复现全流程

简介:本资源是面向高校计算机与人工智能专业学生的Python自然语言处理(NLP)课程设计实践包,聚焦文本分类、情感分析、命名实体识别等核心任务,助力初学者从代码实现到实验报告撰写全流程掌握NLP基础应用。压缩包共288个…

作者头像 李华
网站建设 2026/9/12 4:29:30

bd recall 命令深度指南:用 Beads 按 key 检索持久记忆

bd recall 命令深度指南&#xff1a;用 Beads 按 key 检索持久记忆 【免费下载链接】beads Beads - A memory upgrade for your coding agent 项目地址: https://gitcode.com/GitHub_Trending/beads1/beads 导读 bd recall <key> 是 Beads 持久记忆体系&#xff…

作者头像 李华
网站建设 2026/9/12 4:28:24

ARM Cortex-M边缘AI语音唤醒模型源码深度审计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 4:26:50

Mipmap 生成与移动端贴图压缩失真:ASTC 格式下的细节保留

Mipmap 生成与移动端贴图压缩失真&#xff1a;ASTC 格式下的细节保留在移动端游戏开发中&#xff0c;纹理通常占据了整包体积与运行时 GPU 带宽的 60% 以上。ASTC&#xff08;Adaptive Scalable Texture Compression&#xff09;作为跨 Android 与 iOS 平台的主流硬件纹理压缩标…

作者头像 李华