
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 RD process.项目地址: https://gitcode.com/GitHub_Trending/qli/qlib刚做量化研究时最耗时间的是数据、模型、回测散落在三个脚本里各写各的。Qlib 量化回测平台把因子构建、模型训练、回测报告串进一份 YAML 配置一条 qrun 命令跑到底。为什么选 Qlib 做量化研究自己搭量化流程最先碰壁的是两件事因子和标签的时间对齐容易写错回测假设也不真实——涨停买不进、手续费不能忽略。Qlib 把这些做成了现成模块特征表达式在 qlib/data/ops.py 里计算涨跌停与手续费在 qlib/backtest/exchange.py 里强制执行examples/benchmarks/ 下有三十多个论文模型的配置可以直接抄来跑不用从零搭量化回测链路。用 pip 一条命令安装 Qlibpip install pyqlib需要仓库最新代码时走源码安装pip install numpy pip install --upgrade cython git clone https://gitcode.com/GitHub_Trending/qli/qlib cd qlib python setup.py install官方离线数据集暂时停用可用社区维护的 qlib_bin 数据把压缩包解压到~/.qlib/qlib_data/cn_data即可。数据就位后直接跑 LightGBM 量化回测cd examples qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml终端会打印年化收益、信息比率、最大回撤docs 目录里的 report.png 就是这个量化回测流程生成的报告样式它是怎么工作的YAML 驱动的四级流水线qrun 解析 YAML 后按顺序组装四个模块像流水线一样数据准备data_handler_config指向 qlib/contrib/data/handler.py 里的 Alpha158把原始行情加工成 158 个因子量价、波动率、价格位置等模型训练task.model是 qlib/contrib/model/gbdt.py 里的 LGBModeltask.dataset是 qlib/data/dataset/ 里的 DatasetH按 segments 里的时间段切出 train/valid/test 三段信号生成record 段执行 qlib/workflow/record_temp.py 里的 SignalRecord把模型对每只股票未来涨跌的预测存成信号回测执行PortAnaRecord 用 TopkDropoutStrategyqlib/contrib/strategy/signal_strategy.py模拟每日调仓exchange 层按配置执行涨跌停与费用。除监督学习外它还有独立的强化学习框架 qlib/rl/用来处理订单执行这类更细粒度的连续决策配置与调优workflow_config_lightgbm_Alpha158.yaml 里先看这 6 项1. 数据路径 provider_uriqlib_init: provider_uri: ~/.qlib/qlib_data/cn_data必须和数据实际下载目录一致否则 qlib.init 直接报错。2. 训练集切分 segmentssegments: train: [2008-01-01, 2014-12-31] valid: [2015-01-01, 2016-12-31] test: [2017-01-01, 2020-08-01]按时间顺序切常见比例约 7:2:1。注意附带数据集只到 2020-08-01日期别写超。3. 持仓宽度 topk 与换手 n_dropkwargs: topk: 50 n_drop: 5持有预测分数最高的 50 只股票每天淘汰最差的 5 只换成新晋高的。topk 常用 20~100n_drop 常用 1~10n_drop 越大换手越高、手续费越贵。4. 交易成本 open_cost / close_costopen_cost: 0.0005 close_cost: 0.0015对应 A 股佣金加印花税的量级想更贴近实盘可以调成 0.001 / 0.0013。5. 涨跌停阈值 limit_thresholdlimit_threshold: 0.095当日涨幅超 9.5% 视为涨停无法成交。沪深主板保持默认即可别急着改。6. 模型复杂度num_leaves: 210 learning_rate: 0.2 num_threads: 20num_leaves 建议 31~300 之间越大越容易过拟合num_threads 按你机器的核数调。踩过的坑现象import qlib 报 ModuleNotFoundError: No module named qlib.data._libs.rolling → 原因Cython 扩展没在源码里编译或仓库本地 qlib 目录把已安装的包挡住了 → 解决在仓库根目录执行python setup.py build_ext --inplace并确保脚本不在仓库目录下运行。现象Windows 上跑报 RuntimeError start a new process before bootstrapping → 原因multiprocessing 在 Windows 不能直接派生新进程 → 解决把 qlib.init() 和 D.features 放进if __name__ __main__:里再运行。现象报 QlibCacheException提示 redis 锁的 key 已存在 → 原因redis 默认 db 1 里残留了上次任务的锁 → 解决redis-cli后执行select 1再flushdb或用 qlib.init(redis_task_db2) 换一个库。现象Mac M1 上装 lightgbm 依赖失败 → 原因缺 OpenMP 运行时 → 解决先brew install libomp再pip install .。【免费下载链接】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),仅供参考