ARTICLE DETAIL

资讯详情

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

Qlib Alpha158 因子库完整指南:三步跑通你的第一个量化回测

Qlib Alpha158 因子库完整指南:三步跑通你的第一个量化回测 Qlib Alpha158 因子库完整指南三步跑通你的第一个量化回测【免费下载链接】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做量化研究最容易卡住你的往往不是模型而是特征。自己从 K 线里拼因子、写清洗、做归一化一套下来两星期就没了还没有人能对标结果。Qlib 的 Alpha158 因子库解决的就是这个问题它内置了 158 个由表达式定义、经过 A 股市场验证的技术面因子从数据加载、预处理到回测一条配置就能跑完。你不需要懂因子工程也能在半小时后看到一条带交易成本的超额收益曲线。 痛点切入为什么别再手写因子库这段你要拿到的结论是Alpha158 把特征工程从手工活变成了配置项。手写因子的典型困境有三层。第一层是重复劳动——移动平均、波动率、量价相关性这些因子每个研究员都在各自代码库里重写一遍第二层是对标困难——你的因子集和别人差几个特征结果就不可比第三层是数据泄漏——因子预处理时用了未来数据回测曲线漂亮得离谱实盘一上就翻车。Alpha158 的做法是把 158 个因子全部写成 Qlib 的表达式Expression由数据引擎直接计算。因子定义就是一份配置而不是散落的代码预处理流程去极值、标准化、缺失值填充绑定在训练区间上拟合从机制上堵住了前视偏差。整个因子库的实现在 handler 源码 和 loader 源码 里总共几百行你可以逐行看懂。 拆解 158这些因子到底从哪来这段你要拿到的是因子构成清单以后别人问158 是什么你能脱口而出9 4 145。9 个 K 线形态因子用当天开、高、低、收四个价格构造如 KMID收盘价相对开盘价的偏离、KLEN当日振幅、KSFT收盘在当日的相对位置。它们刻画的是今天这根 K 线长什么样。4 个价格因子OPEN0、HIGH0、LOW0、VWAP0即当日开盘价、最高价、最低价、成交均价相对收盘价的比例提供原始价格锚点。145 个滚动窗口因子这是主力。在 [5, 10, 20, 30, 60] 五个时间窗口上分别计算 29 个算子ROC动量、MA均线、STD波动率、BETA趋势斜率、RANK当前价格在近期区间的分位、RSV类 RSI 位置、CORR/CORD量价相关性、CNTP/CNTN涨跌天数占比、SUMP类 RSI 强度等。29 个算子 × 5 个窗口正好 145 个。标签label也一并内置了Ref($close, -2)/Ref($close, -1) - 1即预测未来两个交易日的收益率。因子名和算子都能在 因子加载源码 中一一对应每个算子旁边还注释了它对应的经典技术指标出处。 上手路径从下载数据到出回测结果只需三步这段你要拿到的是一个可直接执行的完整流程全部命令都能复制。第一步装环境、拉数据。git clone https://gitcode.com/GitHub_Trending/qli/qlib cd qlib pip install -e . python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn第二条命令会下载 A 股日线数据到本地默认是 csi300/csi500 股票池。数据说明详见 数据获取文档。第二步改配置文件。打开 LightGBM 示例配置只需要关心四块data_handler_config里写死用 Alpha158 和起止时间segments里划分训练/验证/测试集model里是 LightGBM 超参record里注册了信号分析IC和组合分析回测两个输出环节。注意fit_start_time和fit_end_time两个字段——它们让因子标准化只在训练区间上拟合这是防泄漏的关键设置。第三步一行命令跑全流程。qrun examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yamlqrun会依次完成加载 Alpha158 数据 → 训练 LightGBM → 逐日打分 → 用 TopkDropoutStrategy 构建组合每天持有 50 只、换 5 只→ 按 0.05% 买入/0.15% 卖出费率回测 → 输出报告。全程不需要你写一行 Python。 性能基准Alpha158 上各模型到底能跑出多少这段你要拿到的是一个横向参照系用来校准你的心理预期。官方基准CSI300 股票池、2008–2016 训练、2017–2020.8 回测、20 个随机种子取均值结果见 基准文档里几个代表性数字模型IC年化收益信息比率最大回撤LightGBM0.04480.09011.02-0.104XGBoost0.04980.07800.91-0.117CatBoost0.04810.07650.80-0.109DoubleEnsemble0.05210.11581.34-0.092三个值得注意的观察。其一IC 在 0.02–0.05 区间内波动但年化收益差异明显——说明打分质量IC和组合构建方式共同决定结果其二DoubleEnsemble 这类集成方法在 Alpha158 上收益最高因为表格型因子对树模型天然友好其三最大回撤普遍在 10% 上下这是含手续费、带涨跌停约束的回测不是纸面收益。⚖️ 选型建议Alpha158 还是 Alpha360这段你要拿到的是我该怎么选的答案。两者的本质区别Alpha158 是人设计的表格型特征每个因子都有明确含义特征间空间相关性弱Alpha360 是60 天的原始价格/成交量序列6 个字段 × 60 天几乎不做特征工程把理解结构的活交给模型。选型上很直接用树模型LightGBM/XGBoost/CatBoost或线性模型 → 选 Alpha158。表格式输入正是树模型的舒适区基准里它在 Alpha158 上的收益普遍优于 Alpha360。用时序模型GRU/LSTM/Transformer/TRA→ 两个都试但很多论文配置如 ALSTM、GATs是在 Alpha158 上先做特征筛选再喂时序模型的因为 158 维输入对序列网络更省算力。想研究模型能不能自己学会特征工程 → 用 Alpha360 做对照组。官方文档对两者有一句话总结Alpha158 是特征由人精心设计的表格数据Alpha360 是强时间维空间关系的原始数据。做对比实验时同一模型跑两个数据集结论才有说服力。⚠️ 避坑清单新手最常踩的四个坑这段你要拿到的是踩坑自查表跑之前过一遍能省不少时间。别用 Alpha158 的默认标签做当天收益预测。标签是未来第 2 天相对第 1 天的收益率天然对齐了 T1 交易制度。自己换标签时务必检查 Ref 的方向负数偏移表示未来写反就是前视偏差回测会好看得离谱。删掉 fit_start_time/fit_end_time 会泄漏数据。默认处理器如横截面标准化必须在训练区间拟合。官方示例里这两个字段只覆盖训练段这是刻意的不是冗余。滚动窗口 [5,10,20,30,60] 是默认值不是建议值。想改窗口、增删算子改的是get_feature_config传入的 config见 loader 源码顶部注释而不是手改表达式。特征数不等于效果。基准里 GRU/LSTM 配 Alpha158 时反而只选了 20 个特征按 LightGBM 特征重要性筛选效果优于全量 158 个。158 是个好的起点不是天花板噪声特征多了树模型也扛不住。 动手现在就把第一条曲线跑出来前文已经把路铺平了最后把最小行动路径收拢成三行git clone https://gitcode.com/GitHub_Trending/qli/qlib cd qlib pip install -e . python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn qrun examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml跑完后你会得到一份完整的报告IC、ICIR、年化收益、信息比率、最大回撤。把这份结果存下来后面换模型、换因子集它就是你所有实验的对照组。特征工程这一环从这条命令开始就不再是你自己的活了。【免费下载链接】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),仅供参考
返回列表