ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Kronos K线预测快速上手指南:一个用45个全球交易所数据训练出的金融K线基础模型

Kronos K线预测快速上手指南:一个用45个全球交易所数据训练出的金融K线基础模型 Kronos K线预测快速上手指南一个用45个全球交易所数据训练出的金融K线基础模型【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos把一张K线图交给通用AI它多半连那根竖线都认不全。Kronos专治这个短板它是一个开源的金融K线预测基础模型把K线数据压缩成机器能读懂的离散token再用自回归Transformer去推演未来的K线预训练数据覆盖45个以上的全球交易所。它是什么、适合谁用Kronos 是一组专为 K 线序列设计的 decoder-only 模型整体分两段tokenizer 负责“数据变 token”预训练 Transformer 负责“token 变未来K线”。官方模型库给出四档规格Kronos-mini410万参数上下文 2048 根、Kronos-small2470万、Kronos-base1.02亿后两者上下文均为 512 根4.99亿参数的 Kronos-large 未开源。它的典型用户有三类想在半小时内先看到预测效果的普通投资者和学生需要在统一信号层上叠加自己策略的量化研究者以及有多卡 GPU、想把模型往特定市场数据上微调的团队。常见用法是单只标的预测、批量行情筛选、回测信号生成以及 5 分钟级别的高频K线。项目采用 MIT 协议代码与示例脚本都在仓库里可以直接对照着读。角色说清楚了接下来的问题是它凭什么“读得懂”K线而不是在曲线之间做插值它凭什么能做到第一级把K线翻译成“条形码”模型吃进的不是原始数字而是符号。KronosTokenizer 先把开、高、低、收、量五个维度的连续数据通过 BSQBinary Spherical Quantization二值球面量化编码成离散 token。这很像超市商品上的条形码收银员不需要认识商品长什么样扫一下码就行Kronos 的“收银员”Transformer学的也是这套编码规则。并且这条码是分两级的——第一级 s1 是粗粒度码相当于先告诉你商品来自哪个大区第二级 s2 是细粒度子 token补上这个格子里更精细的价格与成交量信息。粗、细两级并存模型才能一边看大势一边盯局部波动。第二级只允许向前看的自回归 Transformertoken 序列随后送入堆叠的因果 Transformer预测第 t 根K线时只能看到第 t 根之前的历史不能偷看任何未来信息。这像极了侦探办案——只能使用已经发生的线索去推下一步不能翻到卷宗的结尾。模型还给每个时间步配了时间嵌入并有一个依赖感知层让细粒度 token s2 以粗粒度 s1 为条件进行解码两级编码相互咬合而不是各用各的。容量上small/base 的上下文上限是 512 根mini 可达 2048 根超过上限的输入会由预测器自动截断。效果到底如何先看单标的预测。下图是官方示例脚本 prediction_example.py 的输出用 400 根历史K线预测接下来 120 根上半部分是收盘价对比下半部分是成交量对比红线为预测、蓝线为真实值走势拐点基本踩在节奏上。再看策略层面。按仓库里的 A 股流程用 Qlib 数据微调 tokenizer 和 predictor再跑一个简单的 top-K 策略回测下图展示策略与基准指数的累积收益曲线对比。官方 README 特意注明这条流水线只是简化演示不是可直接上生产的量化系统——敢把话说到这个份上反而可信。如果你关心的是可复现性tests/ 目录锁定了固定的模型版本与随机种子对 30 根预测输出做回归校验MSE 在 0.0090512 上下文和 0.0037256 上下文这个量级。换句话说同样的输入跑一百次也是一样的输出。模型的能力边界看到了接下来更实际的问题是在自己的机器上把它跑起来要多少力气最短路径跑起来第一步环境装好 Python 3.10 之后执行——git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt第二步数据准备一份含 open、high、low、close 四列的 CSVvolume 和 amount 可缺省另加一列时间戳。示例脚本 examples/prediction_example.py 读取的是 data/XSHG_5min_600977.csv上交所 5 分钟K线把这份 CSV 换成你自己的行情数据即可。第三步调用从模型库加载预训练 tokenizer 和模型例如 NeoQuasar/Kronos-Tokenizer-base 配 NeoQuasar/Kronos-small交给 KronosPredictor 并设 max_context 为 512再传入 400 根历史数据和 120 个未来时间戳调用 predict。随机性由温度 T、top_p 和采样条数三个参数控制返回的是包含 open、high、low、close、volume、amount 六列的预测表。实在不想写代码也有旁门运行 webui/ 目录里的 run.py在浏览器打开本地 7070 端口拖动滑条选时间窗、点预测页面会自动给出预测值与真实值的对比分析。跑完第一只标的之后你可能会发现预训练权重未必贴合你关注的那个市场的风格——这正是下一节的起点。还能怎么用一是“预测 行情语境”的组合分析。examples/yuce/ 目录里为 000021深科技等个股备好了完整案例模型不只输出K线预测还会把大盘趋势强度、板块动量、美国利率周期等市场因素汇总成综合评分随附的 market_analysis_report.json 里能看到逐项打分。下图就是 000021 的综合预测输出。二是在自有数据上微调。finetune_csv/ 提供了一条完整的自定义 CSV 微调线把时间戳加 OHLCV 的七列 CSV 备好在 YAML 配置里写好数据路径与训练参数跑 train_sequential.py 就会先微调 tokenizer、再微调 predictor多卡环境可用 torchrun 分布式训练。官方演示用的是阿里巴巴 09988 的 5 分钟K线窗口设为 512 根历史预测后续 48 根下图是微调后的实际预测效果能明显看出对单只标的局部节奏的贴合。另外还有 predict_batch 批量接口一次并行预测多条序列适合整市场扫描唯一约束是各条序列的历史窗口和预测长度必须一致。常见疑问与误解澄清K线预测信号能直接拿来交易吗不建议。官方微调流程在 README 里写明只是简化演示产出的是原始预测值要上生产还需要组合优化、风险因子中性化以及交易成本、滑点的精细建模文档对此逐条列出了“从演示到生产”的差距。为什么只能用 512 根历史数据这是 small/base 的上下文上限mini 可以到 2048 根。超过上限时预测器会自动截断但更稳妥的做法是自己在取数阶段控制窗口。成交量数据是必须的吗不是。volume 和 amount 都是可选项缺失时按零填充examples/prediction_wo_vol_example.py 里就是无量版完整示例。为什么两次运行结果不完全一样预测本身是概率采样过程不是确定性函数。WebUI 文档给出的建议是 T 取 1.2 到 1.5、top_p 取 0.95 到 1.0、采样 2 到 3 条取平均可以显著稳定输出。先跑一遍 examples/prediction_example.py看看 Kronos 为你预测的第一批K线长什么样论文已入选 AAAI 2026微调流程 2025 年 8 月开源后持续在更新后续大概率往更多市场、更多时间粒度方向演进。【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表