
Kronos金融大模型从K线Token化到A股回测的完整实践【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/KronosKronos是首个开源的金融市场K线基础模型在45个以上全球交易所的数据上完成预训练。它把开高低收量OHLCVK线序列当作一种语言来处理先量化成分层离散token再由自回归Transformer生成对未来K线的预测为股票预测与量化回测提供了一条端到端的开源路径。 Kronos的十分钟上手单只股票预测全流程对想快速验证效果的读者仓库给出了从加载到出图的完整脚本跑通一次只需要十分钟。运行examples/prediction_example.py后生成的Kronos预测结果上半图为收盘价真实值与预测值对比下半图为成交量对比复现路径安装requirements.txt中的依赖后KronosPredictor类把数据归一化、推理、反归一化封装为一步传入历史K线的 DataFrame、历史时间戳和未来时间戳再指定pred_len即可拿到预测的 OHLCV 序列返回的仍是标准 DataFrame。参数直觉采样参数T温度、top_p核采样和sample_count并行采样路径数再取平均决定了预测的随机性与稳定性——想要贴近历史风格可调低温度想要捕捉尾部行情可调高采样数examples/prediction_wo_vol_example.py则演示了没有成交量数据时的用法。批量能力需要同时预测多只标的时predict_batch方法利用 GPU 并行独立处理多条序列自动完成每条序列的归一化与还原前提是各序列的回看窗口与预测长度保持一致。一句话对大多数读者examples/prediction_example.py就是理解 Kronos 推理接口的最短路径。 把K线拆成词汇表双阶段Token化架构拆解理解了接口再看一眼内部——Kronos 与直接把价格喂给 Transformer 的做法不同它先用专用分词器把连续的多维K线压成分层离散token再让语言模型式的架构在其上自回归预训练。Kronos完整架构左侧为K线Token化流程右侧为基于离散token的自回归预训练框架分层离散化分词器model/kronos.py中的KronosTokenizer由编解码器 Transformer 加二值球面量化器BSQuantizer组成把每个时间步的OHLCV向量量化为粗粒度细粒度两段位编码粗token捕捉主要形态、细token补全局部细节避免了单一码本表达力不足的问题。依赖感知解码主干模型model/kronos.py中的Kronos是带旋转位置编码的因果Transformermodel/module.py中的DependencyAwareLayer用交叉注意力让细粒度token条件于粗粒度表征再由DualHead先预测粗token、再条件生成细token模拟了先骨架后细节的K线生成过程。规模选择开源模型族包含 Kronos-mini4.1M参数上下文2048、Kronos-small24.7M与 Kronos-base102.3M后者两者上下文长度为512注意输入回看窗口不宜超过该上限超出部分会被自动截断。这种先词法后语法的两阶段设计是它能跨市场复用的关键——量化层负责适配数据分布Transformer 负责学习K线的语法。 A股实证从单只股票到多股综合分析架构讲完看真实数据上的表现。examples/yuce/目录保存了一组对A股的批量预测产物可以当作 Kronos 在A股场景下的参考基准。Kronos在A股000021上的优化预测结果配套综合分析报表位于examples/yuce/目录批量产物该目录为 000021、002354、300207、600580 四只股票各生成了一份优化预测图与*_comprehensive_analysis_report.json报表market_analysis_report.json则汇总了市场层面的分析结论说明 Kronos 的predict_batch接口被用于多标的并行推理。复现路径目录内的historical_backtest.py脚本给出了针对这些预测结果做历史回测的参考实现配合run_backtest_kronos.py可以把预测信号接到策略评估流程上。观察角度判断预测是否可用建议同时看价格路径的贴合度与成交量走势单看收盘价容易高估模型的稳定性。需要强调这些是示例性结果而非收益承诺A股风格与市场结构与其他交易所差异明显跨市场使用时更推荐先微调再评估。 A股微调与回测管线从原始信号到top-K策略把预训练模型放到A股上官方给出的是一条基于 Qlib 的四步微调管线也是回测数据的主要来源。运行finetune/qlib_test.py后生成的回测图策略累积收益曲线与基准的对比如上管线四步先在finetune/config.py中配置 Qlib 数据路径、训练区间与保存目录再依次运行finetune/qlib_data_preprocess.py切分数据、torchrun多卡启动finetune/train_tokenizer.py与finetune/train_predictor.py完成两阶段微调最后用python finetune/qlib_test.py --device cuda:0在测试集上推理并回测。回测口径测试脚本基于预测的价格变化信号构建简单的 top-K 选股策略输出控制台的绩效分析与上方累积收益曲线便于直观对比基准。边界提示官方明确说明这条管线是演示性质而非生产级系统——原始信号未经风险因子中性化top-K 是极简策略交易成本、滑点与市场冲击都未精细建模tests/test_kronos_regression.py提供的回归测试固定随机种子下预测 MSE 与参考值比对更适合用来校验推理环境是否正确。回测曲线回答管线跑得通离策略能上线中间还隔着组合优化与风控这一层。 端到端CSV微调案例阿里巴巴港股5分钟K线不想搭 Qlib 环境的话finetune_csv/提供了最轻量的路径只要一张 CSV 表格就能完成分词器预测模型的顺序微调。Kronos在阿里巴巴09988.HK5分钟K线上微调后的多步预测示例数据文件位于finetune_csv/data/数据要求CSV 需包含timestamps与开高低收六列量额可填0仓库自带样例finetune_csv/data/HK_ali_09988_kline_5min_all.csvfinetune_csv/configs/config_ali09988_candle-5min.yaml中可配置回看窗口512、预测长度48等参数。训练方式一条命令python train_sequential.py --config ...即可按先tokenizer后predictor的顺序完成全流程也支持--skip-tokenizer只训其一多卡时可用 torchrun 开启 DDP 加速分步训练则分别对应finetune_csv/finetune_tokenizer.py与finetune_csv/finetune_base_model.py。结果对照finetune_csv/examples/保存了多份微调后的预测图上方这张展示了港股5分钟级别的多步预测——高频级别下预测长度受上下文限制更适合日内而非长线场景。想跳过命令行直接交互webui/run.py提供了一个带K线图渲染与参数滑块的网页端启动后访问 7070 端口即可操作。从45个交易所的预训练语料到A股Qlib回测与港股CSV微调Kronos 把K线语言模型从论文概念落成了可复现的开源工程。如果你手上有自己的行情数据最快的验证方式是打开finetune_csv/目录把一张 CSV 换成你的数据跑一遍顺序微调想先感受推理效果则可以直接运行examples/prediction_example.py十几分钟内就能看到预测曲线与真实走势的对照。【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考