AI 因子挖掘:AlphaGBM + Qlib 自动发现 Alpha
传统量化因子(PE、ROE、动量等)已经被市场广泛使用,Alpha 收益逐年衰减。AI 因子挖掘是量化交易的前沿方向——让机器学习算法自动从海量数据中发现人类分析师未曾注意到的有效因子。本教程使用微软 Qlib 和 AlphaGBM,带你进入 AI 因子挖掘的世界。
1. Qlib 环境搭建
Qlib 是微软开源的 AI 量化投资平台。安装:pip install pyqlib。下载 A 股数据:python scripts/get_data.py qlib_data --region cn --interval 1d。Qlib 的数据格式是高性能的 bin 文件,处理速度比 pandas 快 10 倍以上。核心概念:Instruments(股票池)、Features(因子/特征)、Models(AI 模型)、Backtest(回测框架)。先用 Qlib 自带的 Alpha158 因子集跑一个基准模型。
2. 因子工程
因子是 AI 模型的输入变量。Qlib 内置的 Alpha158 因子集包含 158 个常用的量价和基本面因子。但你可以在其基础上扩展:(1) 技术指标类:RSI、MACD、布林带宽度、成交量异常度;(2) 资金流类:大单净流入、北向资金变化;(3) 情绪类:新闻情绪评分、股吧讨论热度和情感倾向;(4) 另类数据:卫星图像(商场人流)、供应链关系图。因子数量可以从 158 扩展到 500+。
3. AlphaGBM 自动因子挖掘
AlphaGBM 是专为金融时序优化的梯度提升框架。与传统 GBDT 不同,它内置了:(1) 自动特征交叉:自动生成因子的两两组合和变换(如 PE*ROE、ln(Volume) 等),扩大因子空间;(2) 时序交叉验证:按照时间顺序切分训练/验证集,防止未来信息泄露;(3) 过拟合防护:通过早停和正则化防止模型记住历史噪声。运行 AlphaGBM 自动因子挖掘:输入基础因子列表,输出排序后的因子重要性排名,取 IC>0.03 且 IR>0.5 的因子。
4. 深度学习模型
筛选出有效因子后,可以用深度学习进一步提取非线性模式:(1) GRU/LSTM:捕捉因子之间的时序依赖关系,适合预测未来 5-20 天收益;(2) Transformer:通过自注意力机制自动学习因子之间的交互权重;(3) 多任务学习:同时预测收益率和波动率,让模型学习共用的特征表示。Qlib 内置了这些模型的实现,只需修改配置文件即可切换。注意:深度学习模型参数量大,需要更多数据,建议至少用 5 年以上的日线数据训练。
5. 模型评估与迭代
AI 模型上线后需要持续监控和迭代:(1) IC 衰减分析:每周计算一次因子 IC,观察是否出现衰减趋势,如果 IC 连续 4 周下降超过 20% 就需要重新训练;(2) 分组回测:按照预测分数将股票分为 10 组,观察各组实际收益是否单调递减,验证模型排序能力;(3) 行业中性化:确保模型选股不是集中在某几个行业,做行业市值中性化处理;(4) 每月用最新数据重新训练模型(滚动训练),保持模型对市场变化的适应性。
最佳实践
用Qlib+AlphaGBM跑通第一个AI选股模型
🎯 想验证机器学习能否比传统因子选出更好的股票
pip install pyqlib → 下载A股数据(qlib工具) → 用Alpha158因子集初始化DataHandler。
→ 数据环境搭建完成,158个标准因子就绪
用LightGBM模型训练:input=Alpha158因子, target=未来20日收益率。用2019-2023数据训练,2024数据验证。输出来预测分数最高的20只股票。
→ 第一个AI选股模型完成,获得选股列表
回测验证:等权买入Top20,每月调仓。计算年化收益和信息比率(IR)。与等权沪深300比较超额收益。做IC分析确认因子有效性。
→ 完整的AI选股回测报告,知道模型在哪类市场下表现好
第一个模型不要追求复杂,LightGBM+Alpha158基准跑通后,再逐步加自定义因子和复杂模型
专家提示
- 因子挖掘最怕过拟合——样本外测试至少保留最近 6 个月数据不参与训练
- 单一 AI 模型风险集中,建议同时运行 3-5 个不同架构的模型做集成
- 好因子胜过好模型,花 70% 时间在因子工程上,30% 时间在模型调参上