从零跑通 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
Qlib 是一个面向 AI 的量化投资平台,把"因子、模型到回测(用历史数据模拟交易)验证"这条链路整个接了进来。完成一次 Qlib 安装后,你拿到的不只是一个数据工具,而是一条现成的 ML 流水线:数据加载、模型训练、回测、绩效分析都能直接跑。对刚接触量化的人来说,最快的信任方式是把它装好、用自带的 A 股日线数据跑一遍 LightGBM(梯度提升树模型),亲眼看到回测曲线出来。
📋 先花 10 秒确认你的环境
| 项目 | 最低要求 | 说明 |
|---|---|---|
| Python | 3.8(支持至 3.12) | 建议用 conda 建独立环境,裸装容易缺头文件 |
| 工具 | Git | 从源码拉取仓库 |
| 前置依赖包 | numpy、cython | 源码安装前必须先装,否则 C 扩展编译失败 |
Linux、macOS、Windows 都支持,官方更推荐 Linux。
🛠️ 拉代码、装依赖、跑起来
先把仓库克隆到本地:
git clone https://gitcode.com/GitHub_Trending/qli/qlib cd qlib编译 Qlib 里的 Cython 扩展前需要 numpy 和较新的 cython,先装好:
pip install numpy && pip install --upgrade cython然后从源码安装,这一步会连带把 lightgbm、mlflow、pandas 等运行依赖一起装上:
pip install .Qlib 用的是自研二进制数据格式,不是普通 CSV。装完直接拉一份 A 股日线数据:
python -m qlib.cli.data qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn数据会落到~/.qlib/qlib_data/cn_data,--region cn指定中国市场的交易日历和格式。
✅ 验证安装,跑第一次回测
先确认能正常导入:
python -c "import qlib; print(qlib.__version__)"打印出版本号就说明 Qlib 安装成功。接着一条命令跑完"建数据集 → 训练 → 回测 → 绩效分析"全流程,配置就是仓库里现成的 LightGBM 基准:
qrun examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml跑完会输出一批分析图,IC(信息系数,衡量预测与收益的相关性)走势大致长这样:
想脱离命令行用纯 Python 走同样的流程,examples/workflow_by_code.py 里每一步都有注释。平台整体是松耦合的模块化设计,数据、学习框架、策略、回测各部分可单独使用:
🔧 三个真正影响运行的配置点
- 改哪里:
qlib.init(provider_uri=...)(或数据命令的--target_dir)→改成什么:你的数据实际目录,默认~/.qlib/qlib_data/cn_data→为什么:数据放别处时不指向它,qlib.init()会直接找不到数据报错。 - 改哪里:
--region与代码里的region=REG_CN→改成什么:做美股就传us/REG_US→为什么:region 决定交易日历和数据解析方式,填错会拿到错位的日期。 - 改哪里:examples/benchmarks/ 下各模型的 yaml →改成什么:训练区间
start_time/end_time、策略的topk等 →为什么:这些参数直接决定回测结果,是实验时最先该动的旋钮。
踩坑速查
- 现象:
ModuleNotFoundError: No module named 'qlib.data._libs.rolling'→原因:Cython 扩展没编译,或在仓库根目录下直接跑 Python 把未编译源码当包导入了 →修复:仓库根目录执行python setup.py build_ext --inplace,并把运行目录切到仓库外。 - 现象:Mac M1 上
pip install .卡在 LightGBM 编译 →原因:缺 OpenMP 运行库 →修复:brew install libomp后重新pip install .。 - 现象:
QlibCacheException,提示 redis 锁 key 已存在 →原因:上次运行异常退出没释放缓存锁 →修复:redis-cli里执行select 1再flushdb。更多问题见 docs/FAQ/FAQ.rst。
跑通第一条回测曲线只是起点,接下来去 examples/benchmarks/ 里挑 GRU、Transformer、DoubleEnsemble 等模型的配置照着跑,对比不同模型在同一数据上的表现。
【免费下载链接】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),仅供参考