Qlib 入门教程:3 步跑出第一份 AI 量化回测报告
2026/8/24 2:55:41 网站建设 项目流程

Qlib 入门教程:3 步跑出第一份 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 R&D process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlib

Qlib 是一个用 Python 写的 AI 量化平台,把「数据 → 因子 → 模型 → 回测 → 部署」整条链路装进同一套工具里。如果你有一点 Python 基础、想系统入门量化建模,这篇文章会带你从空环境走到第一份回测报告,再讲清楚几个高频用法和上实盘前要核对的坑。

Qlib 能帮你做什么:一条完整的 AI 量化流水线

量化研究容易碎成很多脚本:数据清洗一个脚本、因子计算一个脚本、模型训练又一个脚本,回测时数据格式对不上,还得返工。Qlib 的思路是把每个环节挂在同一套接口上:你写表达式,它帮你取数;你挂上模型,它帮你训练;你配好策略,它帮你回测;跑完自动产出绩效报告。

整条链路分五段,每一段都可以单独替换:取数可以用官方数据集也可以换成自己的行情;因子用表达式引擎现写;模型从 GBDT 到 Transformer 再到强化学习策略都有现成实现;回测自带成本与换手建模;最后还能接在线服务,让模型定期重训、持续产出预测。

Qlib 官方架构图:数据层、模型层、工作流层与部署层的完整分层

新手不用背这张图。只需要记住一件事:Qlib 的主入口是一条命令qrun 配置文件.yaml,下面所有内容都围绕它展开。

三步起步:从 0 到第一份回测报告

第 1 步:安装 Qlib 并拉取 A 股数据

git clone https://gitcode.com/GitHub_Trending/qli/qlib cd qlib pip install -e .

安装需要 Python 3.8 以上(建议用虚拟环境)。接着拉一份 A 股日线数据集:

python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn

跑完后数据落在~/.qlib/qlib_data/cn_data,Qlib 默认会从这里找数据,不用额外配置。

第 2 步:跑通官方 LightGBM 基准示例

LightGBM 是量化行业最常用的基线模型之一,Qlib 在 examples/benchmarks/LightGBM/ 目录里放了可直接运行的样例,不用改任何配置就能跑完整流程:

pip install -r examples/benchmarks/LightGBM/requirements.txt qrun examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml

跑完会在mlruns目录下生成回测报告,CPU 上训练 LightGBM 只需几分钟。这个示例用的是Alpha158——一个由 158 个人工设计因子组成的特征库;如果你想把原始量价数据直接喂给模型,还有配套的 Alpha360 配置可以切换。

第 3 步:读懂回测报告 📊

报告先别盯着数字,抓住下面 5 个指标就够了:

指标大白话含义怎么看
累计收益按策略一路持有赚/亏的总比例和基准指数比,跑不赢指数就没有策略价值
夏普比率每承担一份风险(波动)换到多少收益大于 1 算及格,越高越好
最大回撤净值从最高点到最低点的最大跌幅-10% 意味着某段时间"账面亏掉 10%",绝对值越小越好
IC模型打分和真实未来收益的相关系数日线场景下 0.03 以上算可用,稳定性比单点高值更重要
换手率每期换掉多少只股票交易成本能把利润吃掉多少,直接决定是"纸面策略"还是真策略

回测报告中不同分组的累计收益:多头、空头组合互相对照,看净效应

每日 IC 曲线:判断模型预测力是否稳定为正,而不是看某一天的高值

报告里还有风险分析、月度 IC、自相关等图表,想深挖可以翻 docs/ 里的回测与报告章节。

三个高频使用场景 ⚙️

场景一:用 Alpha158 + LightGBM 搭一个多因子选股策略

这是最标准的第一个策略:模型每天给全市场股票打分,你买分数最高的前 N 只、卖出分数最低的。需要动手改的通常只有两处:训练/验证/测试的日期切分(避免用未来数据训练)和股票池(默认沪深 300,也可以换成中证 500)。改完qrun一下,回测重新生成,一轮迭代就这么短。

场景二:用表达式引擎定义并验证自定义因子

Qlib 的数据层是表达式化的:不用写循环算因子,一行公式就能对全市场、全部历史日期生效:

momentum_5d = "Ref($close, 5)/$close - 1" # 5 日动量 volatility20 = "Std($close/Ref($close, 1) - 1, 20)" # 20 日收益波动

写完可以先单独算这个因子的 IC(不跑完整模型链路),IC 稳定了再放进模型。这是因子引擎对迭代最大的好处:改一个因子的成本是一行表达式。

场景三:强化学习交易执行与模型在线服务

监督学习模型解决"买什么",强化学习(RL)解决"怎么执行"。在 qlib/rl/ 目录里,三个角色构成闭环:环境模拟市场(订单成交、价格漂移),模拟器负责跑执行回测,策略(策略网络)在里面学习如何拆单——比如一笔订单怎么执行能让滑点最小。策略学完之后,模型还能接上在线服务:qlib/workflow/online/提供了"重训 → 更新预测 → 重新选股"的定期循环,模型不会上线之后就放着不管。

QlibRL:状态、策略、环境与模拟器构成的强化学习闭环

在线服务:数据增量更新、模型定期重训、在线预测自动刷新

上实盘前必须核对的 5 件事

  1. 风险指标:最大回撤和索提诺比率(只看下行波动的风险调整收益)要一起看,收益再高,回撤超过 30% 也很难拿得住。
  2. 交易成本与滑点:Qlib 的回测能建模手续费和滑点,务必把"带成本"和"不带成本"各跑一遍对比,两者差距太大说明策略在替做市商打工。
  3. 模型可解释性:用 examples/model_interpreter/ 里的脚本看特征重要性,搞清楚模型到底依赖哪些因子,头部特征全是说不清的"噪声"时要警惕。
  4. 数据频率:策略是分钟级的话,要先用--interval 1min拉取 1min 数据并配合高频 handler 使用,examples/highfreq/ 目录里有现成样例;日线策略硬上分钟数据只是浪费算力。
  5. 模型更新流程:实盘里市场分布会漂移,一次性训练的模型一定会衰减。提前定好更新节奏(周度重训还是月度重训),并把它写进在线工作流。

Qlib 常见问题 FAQ

Q1:第一次跑通需要多大的电脑配置? 日线 Alpha158 + LightGBM 的示例在 CPU 上几分钟就能跑完,不需要 GPU。只有跑 Transformer、HIST 这类较重的深度学习模型时才建议用 GPU。

Q2:官方数据覆盖哪些市场? 官方示例数据以中国 A 股(cn)和美国(us)为主,用--region cn--region us拉取。其他市场可以用 scripts/data_collector 目录里的采集脚本模板自己抓数据,再转成 Qlib 格式。

Q3:完全没写过量化代码,应该先学什么? 不用从金融理论学起:先把上面三步跑通、把报告读懂,然后改一个因子、改一段日期,观察指标怎么变。"改 → 跑 → 看报告"的循环本身就是最好的学习路径。

Q4:换成自己的大数据(全市场、多年份)能跑得动吗? Qlib 数据层就是按全市场日线设计的(bin 存储、惰性加载),默认示例是约 300 只股票十余年,全市场数据量级相同。注意内存使用并善用缓存机制即可。

Q5:离实盘部署还有多远? Qlib 的定位是研究与模拟,没有内置真实券商接口。常规做法是在线服务模块每天输出预测选股结果,订单执行对接你自己的交易系统;执行环节还可以再叠加 RL 拆单策略降低冲击成本。

理解一个工具最快的方式是跑起来:完成上面三步、看懂报告,然后动手改第一个因子;卡住的时候,examples 目录里每个模型都有配套配置,随时可以照着抄。🚀

git clone https://gitcode.com/GitHub_Trending/qli/qlib

【免费下载链接】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 R&D process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlib

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询