资讯动态

Kronos K线预测教程:开源模型如何在回测中验证

发布时间:2026/9/2 12:42:42 来源:尧图企业网站定制
Kronos K线预测教程开源模型如何在回测中验证【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/KronosKronos 是一个面向 K线预测 任务的开源基础模型属于金融AI预测方向它把 K线 序列当作一种语言来学习训练方式与语言大模型类似。预训练数据覆盖全球 45 个以上交易所仓库内置了完整的微调与 K线回测 脚本可以从零跑通预测—验证链路。 它是怎么工作的K线分词与自回归预测Kronos 把任务拆成两级。第一级是 K线分词分词器tokenizer把连续的 OHLCV开高低收加成交量数据量化成分层的离散 token。分词的意思就是把连续的价格数字翻译成模型能直接操作的离散字母表。第二级是自回归预测一个 decoder-only 的 Transformer 在海量 K线 token 序列上预训练根据前文逐个预测下一个 token即给定过去推下一段与文本生成是同一套机制只是文字换成了 K线。推理时再把预测出的 token 解码回 K线数值并反归一化还原到原始价格尺度。 最小可用路径三步装好并跑通 Kronos装依赖克隆仓库并安装环境要求 Python 3.10依赖在 requirements.txt 中固定了版本。git clone https://gitcode.com/GitHub_Trending/kronos14/Kronos cd Kronos pip install -r requirements.txt跑通第一次预测加载模型并调用 predict数据要求DataFrame 至少包含open、high、low、close四列和timestamps时间列volume、amount可选缺失时自动补零。import pandas as pd from model import Kronos, KronosTokenizer, KronosPredictor tokenizer KronosTokenizer.from_pretrained(NeoQuasar/Kronos-Tokenizer-base) model Kronos.from_pretrained(NeoQuasar/Kronos-small) predictor KronosPredictor(model, tokenizer, max_context512) df pd.read_csv(your_kline.csv) x_df df.iloc[:400] pred_df predictor.predict( dfx_df, x_timestampdf.iloc[:400][timestamps], y_timestampdf.iloc[400:520][timestamps], pred_len120, T1.0, top_p0.9, )两点说明Kronos-small与Kronos-base的上下文上限是 512历史窗口lookback不建议超过它T是采样温度top_p是核采样概率控制从多少候选 token 中取样两者共同决定预测路径的随机程度。看结果返回一个可对比的 DataFramepredict返回按未来时间戳索引的 DataFrame含预测的 open/high/low/close/volume可直接与真实值对齐画图。print(pred_df.head()) pred_df[[close, volume]].plot(figsize(10, 4))带完整画图的示例脚本见 examples/prediction_example.py官方输出效果如下上图为官方示例脚本的输出上半部分对比实际收盘与预测收盘下半部分对比成交量。注意输出只是采样出的一条路径sample_count调大并平均多条路径能缓解单路径噪声。 结果凭什么可信K线回测怎么做、指标怎么读仓库提供两条验证路径。其一finetune/qlib_test.py微调后的模型在测试集上推理生成预测收益率信号用 TopkDropout 策略每天持有信号最强的前 K 只标的扣除买卖成本后与基准指数对比输出累计收益曲线与超额收益。其二examples/run_backtest_kronos.py独立回测脚本把预测收益转成买卖信号后逐日模拟交易并计算完整指标集。上图是官方微调回测示例彩色线为不同策略扣除成本后的累计收益黑色虚线为基准。三个核心指标的读法年化收益把回测区间的总收益折算成年化口径看的是它是否稳定高于基准而不是单看绝对值大小。夏普比率超额收益除以收益波动率白话说就是每承担一单位风险换回多少超额收益示例脚本中无风险利率按 3% 设定。最大回撤净值曲线从历史峰值到谷底的最大跌幅用来判断策略最坏情况下可能出现的亏损幅度。需要说明以上指标只在回测区间、特定策略规则和成本假设下成立不保证未来复现同等水平。️ 进阶能力微调、批量预测与 Web 可视化微调出自己的模型。仓库有两套入口finetune/ 是 Qlib 流程预处理数据、分别微调分词器与预测器、回测四步全部路径与超参数集中在 finetune/config.pyfinetune_csv/ 是面向自定义 CSV 的流程准备好含timestamps/open/high/low/close/volume/amount七列的 CSV改好 finetune_csv/configs/config_ali09988_candle-5min.yaml 中的路径后执行cd finetune_csv python train_sequential.py --config configs/config_ali09988_candle-5min.yaml官方仓库附带了阿里巴巴港股 5 分钟 K线的微调示例微调后效果见图该图为微调训练产出的预测示例批量预测。predict_batch接收df_list、x_timestamp_list、y_timestamp_list三个列表利用 GPU 并行预测多条序列适合组合级分析。约束是所有序列的历史长度与预测长度必须一致。示例见 examples/prediction_batch_example.py。Web 可视化。在 webui/ 下执行python run.py浏览器访问localhost:7070可以选模型规格mini/small/base与计算设备调节温度和核采样参数结果与真实数据自动做对比分析。详见 webui/README.md。⚠️ 避坑指南跑起来之前先看的 5 个问题输入长度超过 512small/base 模型上下文上限为 512Predictor 会对更长输入自动截断但截断可能丢掉你想用的时间窗建议自行把 lookback 控制在 512 以内。数据里没有成交量和成交额volume、amount为可选列缺失时自动补零只用 OHLC 也能预测专门示例见 examples/prediction_wo_vol_example.py。批量预测报长度不一致predict_batch要求各序列的历史与预测长度严格相同调用前先对齐长度再传入。微调脚本报缺少 qlib 相关模块Qlib 流程需额外安装 pyqlib 并预先准备 Qlib 数据先装依赖备好数据或改用 finetune_csv 的 CSV 流程绕开。首次加载模型明显偏慢首次运行需从模型库下载权重属正常现象耐心等待或提前预拉取权重即可。 现实边界与资源清单最后交代边界K线预测的产出是概率性采样结果不同温度与采样参数会得到不同路径预测不代表确定涨跌。回测指标依赖数据区间、策略规则与成本假设README 也明确声明微调流程是演示而非生产级量化系统。若要把信号用于实盘需要自行补齐仓位控制、止损等风控环节本文不构成投资建议。资源清单项目说明与模型规格README.md完整预测示例含画图examples/prediction_example.py独立回测脚本examples/run_backtest_kronos.py微调入口Qlib 流程finetune/train_predictor.py微调入口CSV 流程finetune_csv/README_CN.mdWeb 界面入口webui/app.py【免费下载链接】KronosKronos: A Foundation Model for the Language of Financial Markets项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价