ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Qlib 上手实录:快速跑通第一个 AI 量化回测的实操笔记

Qlib 上手实录:快速跑通第一个 AI 量化回测的实操笔记 Qlib 上手实录快速跑通第一个 AI 量化回测的实操笔记【免费下载链接】qlibQlib is an AI-oriented Quant investment platform that aims to use AI tech to empower Quant Research, from exploring ideas to implementing productions. Qlib supports diverse ML modeling paradigms, including supervised learning, market dynamics modeling, and RL, and is now equipped with https://github.com/microsoft/RD-Agent to automate RD process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlibQlib 是微软开源的 AI 量化平台把数据、因子、模型、回测放进同一套工程体系。这篇笔记记录从零搭环境、跑通第一个 AI 量化回测的完整过程顺带记下几个新手容易踩的坑。量化研究常见的三个痛点Qlib 怎么接日常做量化的麻烦很多其实是工程问题。举三个数据清洗繁琐从各种数据源把行情整理成能用的格式最费时间。Qlib 把数据统一成自定义列式格式存储scripts/data_collector/ 里给了一套多数据源的采集脚本因子口径不一同一个因子两个人算出两个结果。Alpha158、Alpha360 这些因子库统一走表达式引擎计算口径固化在代码里而不是文档里回测与实盘不一致回测一份数据、实盘另一份结果必然漂移。Qlib 的回测与预测共用同一数据层交易成本、涨跌停约束统一在回测引擎里处理。安装并拉取中国 A 股示例数据分两步装包、拉数据。git clone https://gitcode.com/GitHub_Trending/qli/qlib cd qlib pip install pyqlib python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cnpip install pyqlib从 PyPI 安装包最后一行把 A 股日线示例数据region cn下载到本地目录。注意示例数据的时间范围有限基线配置用到 2020-08-01学习够用做研究需要自己补新数据。一条命令跑通 LightGBM 基线回测在仓库的 examples 目录下执行cd examples qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yamlqrun内部完成的是完整流水线构建数据集、训练模型、信号评估、回测、生成报告全部参数写在那份 YAML 配置 里。第一次运行建议对照配置看三处segments把 2008–2020 切成训练2008–2014、验证2015–2016、测试2017–2020三段exchange_kwargs定义回测成本与涨跌停strategy用 TopkDropout按信号每日持有前 50 只、最多换出 5 只。看懂 Alpha158 因子库与数据流Alpha158 是技术面因子库从 K 线、价格与滚动统计里算出 158 个特征全部用表达式定义代码在 qlib/contrib/data/handler.py。Alpha360 思路相反不做因子工程把窗口内的原始行情字段合计 360 维直接铺平喂给模型让模型自己学更适合深度学习场景。两个值得注意的细节其一标签是Ref($close, -2)/Ref($close, -1) - 1即次一交易日收益刻意错一天避免拿当天收盘预测当天其二handler 把训练链与推理链分开归一化处理器只在训练段fit_start_time/fit_end_time估计参数从数据层挡住未来信息。回测报告里该重点看什么 qrun 跑完会给出信号层和组合层两类指标IC模型预测与真实收益的相关性越高说明信号越有效、年化收益、最大回撤最坏情况下的亏损幅度、信息比率等分析代码在 qlib/contrib/report/。两个读法第一重点看测试段的指标训练段数字再好看也不作数第二先核对假设。基线回测按收盘价成交、佣金 0.05% 买入 / 0.15% 卖出、单笔最低 5 元、涨跌停 9.5% 过滤——收盘价成交本身偏乐观换手高的策略实盘成本只会更高。避坑清单缓存、切分与成本假设⚠️ 第一次跑容易卡住的几处缓存参数表达式首次计算最耗时。qlib.init提供expression_cache、dataset_cache、mem_cache_size_limit等开关默认值见 qlib/config.py重复实验时开启磁盘缓存能省不少时间时间序列切分不要随机切分。基线配置的三段严格按时序排列处理器只在训练段拟合参数自己造数据集时保持同样的纪律PIT 数据point-in-time即只用当时已知的信息对财务类因子尤其重要Qlib 有专门模块说明见 docs/advanced/PIT.rst成本假设换到分钟级策略时改用高频数据与更保守的滑点别直接沿用日线配置的收盘价成交。强化学习、在线服务与 RD-Agent方向指路三个方向各一句话强化学习主要面向订单执行这类动态决策问题示例在 qlib/rl/ 与 examples/rl_order_execution/在线服务负责模型定期更新与预测发布入口在 qlib/workflow/online/RD-Agent 用大模型自动化研发流程作为独立组件集成。下一步Qlib 更像一套规范化的工程骨架它不直接给出 alpha但把数据、因子、模型、回测之间的重复劳动消掉了一大半。接下来读 官方文档、把 examples/benchmarks/ 里其他基线模型换着跑一遍、有问题去社区提问是比较顺的路线。【免费下载链接】qlibQlib is an AI-oriented Quant investment platform that aims to use AI tech to empower Quant Research, from exploring ideas to implementing productions. Qlib supports diverse ML modeling paradigms, including supervised learning, market dynamics modeling, and RL, and is now equipped with https://github.com/microsoft/RD-Agent to automate RD process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlib创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表