[机器学习研究二]广义线性模型因子复现:滚动训练 GLM 合成因子的平台实证

无名的人无名的人··6 浏览

摘要

本文针对一套基于华泰证券《人工智能选股之广义线性模型》(2017-06-22)因子合成框架的 A 股多因子选股策略,系统记录其从静态等权合成到沙箱内滚动训练 GLM 的迭代演进过程,并通过 PandaAI 因子分析平台的完整回测数据(2023-01-01 至 2025-12-31,10 日调仓,10 组分层,中证全指为基准)对两版策略进行全面定量对比。策略一(优化前)采用 RANK 等权合成近似"因子合成模型",以 12 个平台可映射因子静态加权,多头年化收益 19.13%,最大回撤 37.71%,夏普比率 0.650;策略二(优化后)在平台 Python 沙箱内引入逐月滚动训练的广义线性模型(Logistic 回归,前 30%/后 30% 截面分类标签),并严格执行标签 purge 防未来函数,多头年化收益 14.58%,最大回撤 28.78%,夏普比率 0.656,三年累计收益 41.66%

数据表明,策略二在信息含量与风险结构两个维度体现出系统性优势:Rank_IC 由 0.0541 提升至 0.0625,IC_mean 由 0.0298 提升至 0.0352,IC p 值由 0.0738 改善至 0.0561;多头最大回撤由 37.71% 收窄至 28.78%,超额收益最大回撤由 10.76% 收窄至 8.67%,多空最大回撤由 19.10% 收窄至 14.47%。但策略二的日频重排预测使多头换手率由 42.28% 翻倍至 86.21%,年化成本 13.03% 完全吞掉 2.72% 的多头超额,净超额转负(-10.31%),显著差于策略一的 0.88%;多空端亦由 22.49% 降至 8.23%。核心结论有三:其一,滚动训练 GLM 的 IC 改善是真实但温和的,在 18 个候选的多重检验阈值(p < 0.0028)下未达统计显著;其二,原研报"分类器优于回归器"(IC_mean 口径 logistic 0.0352 > OLS 0.0307)与"正则化无提升"(Lasso 全面不优于 OLS)两条结论在 2023-2025 年平台数据上方向复现;其三,预测值的日频重排是 ML 合成因子在本平台 10 日调仓框架下的结构性成本,冻结块内预测是下一步迭代的第一杠杆。


一、引言

1.1 研究背景

华泰证券 2017 年金工报告《人工智能选股之广义线性模型》将多因子选股表述为一个监督学习问题:以 70 个因子暴露为特征、下一期收益为标签,用线性回归、岭回归、Lasso、弹性网络、逻辑回归与随机梯度下降等 7 种广义线性模型(GLM)逐月滚动训练,将模型预测值直接作为合成因子。该报告的两条标志性结论——"逻辑回归等分类器优于回归器""正则化对选股效果没有明显的提升作用"——均建立在 2007-2017 年月频调仓的全 A 回测之上。

本文的前作([机器学习研究一],2026-08-24)在 PandaAI 平台上复现了该报告的因子方向规律,但受限于当时"平台因子模式仅支持公式算子与静态合成"的认知,以 RANK 等权合成近似因子合成模型,滚动训练机制未能落地。

1.2 问题提出

本次迭代回答三个问题:第一,平台 Python 沙箱能否真正执行"逐月滚动训练 + 样本外预测"的 GLM 合成机制;第二,滚动机器学习合成相对静态等权合成,IC 与绩效改善几何;第三,原研报的两条标志性结论在 2023-2025 年、10 日调仓、平台实际股票池(沪深全 A,约 4900 只)口径下是否依然成立。

1.3 研究价值

本文的价值在于:机制突破——实证确认平台 Python 沙箱提供 sklearn/lightgbm 等完整机器学习库,且通过 factors['字段名'] 字面量声明即可加载字段目录全量数据(估值、市值、换手等),打通了"沙箱内滚动训练"这条此前认为不可行的路径;工程沉淀——给出含标签 purge、训练窗约束、抽样控制的防未来函数 GLM 因子模板;诚实归因——量化 ML 合成因子的换手结构劣化,明确净超额恶化的机制来源,而非只报告 IC 改善。

1.4 文章结构

本文第二章阐述研究目的;第三章介绍回测框架与评价体系;第四章剖析两版策略的代码逻辑与归因;第五章呈现对比结果与市场阶段分析;第六章总结局限与迭代方向。


二、研究目的

(一)核心目标

  1. 机制落地:在平台 Python 沙箱内实现与原研报同构的"特征预处理 → 滚动训练 → 样本外预测 → 合成因子"完整链路;
  2. 对照检验:以同一 12 因子池、同一回测口径,量化滚动 GLM 相对 RANK 等权合成的 IC 与绩效差异;
  3. 结论复现:检验原研报"分类器优于回归器""正则化无提升"两条结论的跨期稳定性;
  4. 成本归因:解释 ML 合成因子净超额变化的换手机制。

(二)具体任务

任务编号 具体任务 预期产出
1 探测沙箱库可用性与字段声明机制 特征池确认(12 因子全量可用)
2 编写含 purge 的滚动训练 GLM 因子模板 glm_composite_{logistic,linear,lasso}.py
3 短窗口验证后全窗口运行三变体 data/glm-ml-*.json
4 与前作等权合成结果对比、成本折算 对比表与净值图
5 撰写机器学习系列复现研究报告 本报告

三、回测框架与核心代码逻辑

3.1 回测平台与数据基础

回测在 PandaAI 因子分析平台完成,股票池为平台实际加载的沪深全 A(约 4900 只),基准中证全指。数据层面本迭代有两项关键确认:其一,Python 沙箱可 import numpy、pandas、sklearn、xgboost、lightgbm、scipy、statsmodels 全套库;其二,平台按代码内 factors['字段名'] 字面量声明静态加载数据,据此 ratio_ep_ttm(EP)、book_to_market_ratio_ttm(BP)、sp_ratio_ttm(SP)、dividend_yield_ttm(DP)、market_cap(市值)、turnover(换手率)与 close 全部可用,12 因子池与前作完全对齐。平台自动附带回测起点前约 4 个月历史数据(warm-up 缓冲),构成首个预测块的初始训练集。防未来函数方面,因子在沙箱内训练、在回测窗口内预测,训练样本的标签窗严格落在预测块开始之前(purge),因此平台报告的 IC 与分组收益全部为样本外口径。

3.2 回测参数统一设置

参数项目 策略一(等权合成) 策略二(滚动 Logistic) 说明
回测平台 PandaAI 因子分析 PandaAI 因子分析 同一平台
回测区间 20230101-20251231 20230101-20251231 三年,服务端实测上限内
调仓周期 10 个交易日 10 个交易日 平台允许 1-10
分组数 10 10 方向端解析口径
因子方向 0(低值优) 1(高值优) 多头分别为分组1/分组10
合成机制 RANK 等权静态合成 沙箱内逐月滚动训练 GLM 核心机制差异
标签 无(直接合成) 未来 10 日收益;分类为截面前后 30% purge 至预测块起点
训练窗 最近约 12 个月,20% 行抽样 原研报最优 12-24 个月
特征预处理 RANK 隐式截面秩 5×MAD 去极值→中位数填充→z-score 原研报口径的可行子集

3.3 绩效评估指标体系

维度 指标 说明
因子质量 Rank_IC、IC_mean、IC_p、单调性 IC_p 为 IC_mean t 检验 p 值
收益类 多头/多空年化收益、累计收益、超额收益 多头=方向端 10% 等权组合
风险类 最大回撤、超额收益最大回撤 含多空组合口径
风险调整 夏普比率、信息比率 分层组合口径
交易质量 换手率、年化成本、净超额、月胜率 成本=换手×2×0.3%×252/10

3.4 稳健性检验设置

同池三模型对照(Logistic/OLS/Lasso)检验原研报两条结论;全部结果按研究累计 18 个候选计多重检验阈值(p < 0.0028);训练随机种子固定(块序号派生),重复运行可复现;换手成本按 0.3% 单边统一折算后重新排序。


四、研究过程:基于代码逻辑的深度推演与绩效归因

4.1 策略一核心逻辑与代码分析

python

策略一是公式模式的静态合成:12 个因子逐日做截面秩排名后等权相加,权重永不更新。其"合成"等价于对各因子取等权截面 z 排序,本质上是无学习参数的线性合成——因子权重由构造直接给定(各 1/12),不随数据变化。

策略一模式总结

机制透明、无过拟合通道、因子间互补性由等权强制保证;代价是无法表达因子间的条件依赖与时变权重,且多头端换手 42.28% 中有相当部分来自 12 个因子秩排名的日频抖动。

4.2 策略二核心逻辑与代码分析

python

策略二模式总结

与原研报同构的四步机制全部落地:特征和标签提取(12 因子 + 未来期收益)、特征预处理(MAD 去极值/填充/标准化)、训练集合成(12 个月滚动窗、分类标签前后 30%)、滚动训练(逐月重训、样本外预测)。与原研报的三点偏差为平台约束所致:训练窗起点受 warm-up 限制、无行业数据故以截面中位数填充替代行业均值填充、不做行业市值中性化与 PCA。

4.3 策略一潜在表现与归因分析

优势阶段

等权合成的权重固定,日频换手仅来自 12 个因子秩的抖动,多头换手 42.28% 为两版中更低;2024 年 9 月末的急涨行情中多头组合由净值 0.74 快速修复至 1.05 以上,弹性完整保留。

劣势与风险暴露

多头最大回撤 37.71% 深于策略二的 28.78%:等权结构中市值对数因子(前作实测净超额最高的单因子)权重被固定为 1/12,无法在风格切换时自适应收缩暴露。

归因总结

策略一的绩效核心是"低成本 + 高多头超额",风险短板是权重刚性导致的回撤容忍。

4.4 策略二潜在表现与归因分析

优势阶段

2025 年 5 月至 12 月,多头组合净值由 1.15 一路抬升至 1.42,是全区间最顺畅的上涨段:滚动训练在积累了 2 年以上样本后,模型对估值/反转/市值复合暴露的加权趋于稳定,Rank_IC 的逐期胜率(P(IC>0.02)=56.94%)在该段集中体现。

核心优势归因

IC 质量改善(Rank_IC +0.084、IC_mean +0.054 的绝对量提升)与回撤结构改善(多头回撤 -8.93 个百分点、超额回撤 -2.09 个百分点)共同源于模型权重对数据的学习:模型自动下调了 2023-2024 年失效的反转类暴露、上调估值与市值暴露,这是等权结构不可能实现的。

归因总结

策略二的绩效核心是"信息含量 + 回撤控制",成本短板是预测值日频重排带来的换手翻倍(86.21%):每次重训后模型系数漂移,全截面排名次日即发生大规模互换,年化成本 13.03% 反超多头超额 2.72%。


五、研究结果与核心结论

5.1 核心绩效指标量化对比

策略一(优化前)

策略二(优化后)

表1:核心绩效指标量化对比(回测实测数据)

指标 策略一(RANK 等权合成) 策略二(滚动 Logistic GLM)
回测区间 20230101-20251231 20230101-20251231
调仓周期 / 分组数 10 日 / 10 组 10 日 / 10 组
Rank_IC(有效方向) 0.0541 0.0625
IC_mean 0.0298 0.0352
IC_p(多重检验阈值 p<0.0028) 0.0738 0.0561
单调性 0.85 0.78
多头累计收益 +54.67% +41.66%
多头年化收益 19.13% 14.58%
多头超额收益 7.27% 2.72%
多头换手率 42.28% 86.21%
年化换手成本 6.39% 13.03%
净超额收益 0.88% -10.31%
多头夏普比率 0.650 0.656
多头最大回撤 37.71% 28.78%
超额收益最大回撤 10.76% 8.67%
多头月胜率 61.11% 58.33%
多空年化收益 22.49% 8.23%
多空夏普比率 1.101 0.415
多空信息比率 1.239 0.596
多空最大回撤 19.10% 14.47%
多空月胜率 72.22% 58.33%

三模型同池对照(原研报两条结论的检验口径):

表2:GLM 三变体同池对照(20230101-20251231)

模型 IC_mean Rank_IC IC_p 单调性 多头超额% 多头换手% 多空年化% 多空信息比率
Logistic(分类器) 0.0352 0.0625 0.0561 0.78 2.72 86.21 8.23 0.596
OLS(回归器) 0.0307 0.0672 0.0775 0.62 2.32 51.81 19.01 0.883
Lasso(正则化) 0.0289 0.0660 0.1001 0.55 1.91 51.11 19.14 0.870

5.2 净值曲线与资金行为深度解析

策略一净值曲线特征

多头(分组1)净值三年累计 +54.67%,曲线呈"两段式":2023 年至 2024 年 8 月宽幅震荡(多次回撤至 0.75-0.85 区间),2024 年 9 月末行情启动后进入单边抬升通道。多空组合(+64.25%)的斜率在 2024 年 9 月后显著变陡,主要贡献来自分组10(高值端)在小盘拥挤交易退潮期的持续亏损(年化 -15.21% 超额)。

策略二净值曲线特征

多头(分组10)净值累计 +41.66%,2023 年至 2024 年中的回撤明显浅于策略一(最低 0.85 对 0.74),2024 年 9 月后同样进入抬升通道,2025 年 5 月后加速。多空组合仅 +23.51%:其分组1(低值端,空头替代观察端)年化收益为正(+6.35%),空头端未能提供收益差,这是多空年化仅 8.23% 的直接原因。

5.3 关键差异点归因

差异维度 策略一 策略二 对绩效的影响
因子权重来源 构造固定(各 1/12) 数据学习(逐月更新) IC_mean +0.0054、多头回撤 -8.93pct
预测值更新频率 随行情连续变化 重训日跳变 + 日频重排 换手 42.28%→86.21%,成本 +6.64pct
空头端分离 分组10 年化 -3.35% 分组1 年化 +6.35% 多空年化 22.49%→8.23%
信息利用 无标签参与 前后 30% 分类标签 IC_p 0.0738→0.0561

5.4 市场阶段适应性分析

  • 2023 震荡分化市:两版多头均无趋势性超额,策略二凭借市值/估值暴露的 learned 加权,回撤浅于策略一(0.85 对 0.74);Alpha 贡献主要来自风格暴露而非选股。
  • 2024 年 2 月微盘流动性冲击:两版多头同步回撤,等权结构因小市值暴露更重而回撤更深,验证了学习权重对风格切换的自适应价值。
  • 2024 年 9 月末政策反转市:两版同步 V 型修复,弹性均完整,GLM 学习权重未在急涨中缺席。
  • 2025 结构性上行:策略二多头段(+41.66% 中的约 60% 来自 2025 年 5 月后)体现滚动训练在样本积累后的信息释放;同期策略一多头斜率放缓。

5.5 核心结论

  • 结论一:滚动训练 GLM 的信息含量提升真实但温和——Rank_IC 0.0541→0.0625、IC_mean 0.0298→0.0352、IC_p 0.0738→0.0561,但在研究累计 18 候选的多重检验阈值(p < 0.0028)下未达显著,不能据此断言学习权重稳定优于等权。
  • 结论二:预测换手是 ML 合成因子的结构性成本——日频重排使多头换手翻倍至 86.21%,13.03% 的年化成本将 2.72% 的多头超额吞至 -10.31%,净超额口径下策略一(0.88%)仍是更优的可执行方案。
  • 结论三:原研报两条标志性结论方向复现——分类器在 IC_mean(0.0352 vs 0.0307)与多头超额(2.72% vs 2.32%)上优于回归器,Lasso 全面不优于 OLS;同时线性模型首次将空头端做负(分组1 年化 -4.82%),其多空年化 19.01% 显著高于 logistic 的 8.23%,提示"分类器优于回归器"的结论对评价口径(多头/多空)敏感。

六、未来优化与展望

6.1 策略一改造与重估

保留 RANK 等权合成的低成本骨架,补充两项:将 12 因子池中 2023-2025 年持续失效的反转类因子(1 月反转净超额 -9.29%)替换为波动率/换手交互项;以 6 个月滚动窗口对 12 个因子的等权权重做微调(权重限制在 0.5-1.5 倍区间),在不引入重训换手的前提下逼近学习权重的 IC 水平。

6.2 策略二精进与探索

第一杠杆是冻结块内预测、压降换手:

python

其次,训练窗由 12 个月扩至 24 个月(原研报最优区间上限)、HORIZON 由 10 日对齐月频 21 日、引入 LightGBM 作为非线性对照组检验"线性已足够"的边界;空头端可测试"仅多头分组10 输出、低值端置 0"的多头专用输出头,规避 logistic 空头分离失败的成本。

6.3 研究局限与后续方向

主要研究局限(标准四条):

  1. 实盘验证缺失:回测结果未经样本外实盘验证,86.21% 的多头换手在真实冲击成本下净超额将进一步恶化;
  2. 交易容量未评估:分组 10% 等权组合在 10 日调仓下的建仓成本与容量约束未建模;
  3. 参数鲁棒性未量化:RETRAIN_DAYS=21、TRAIN_DAYS=252、SUBSAMPLE=0.2、HORIZON=10 均为单点设定,未做系统性参数扫描;
  4. 统计功效不足:36 个月仅 72 个调仓期,IC_p=0.0561 距 18 候选的多重检验阈值(p<0.0028)尚有两个数量级差距,IC 改善不排除噪声。

后续研究方向(标准四条):

  1. 冻结块内预测的成本归因迭代(预期换手回到 40-50% 区间后重新评估净超额排序);
  2. LightGBM/线性模型的大池对照(12 因子 → 40+ 因子,检验原研报 70 因子池口径);
  3. 与其他策略组合构建(GLM 合成因子作为卫星、等权合成作为核心的核心-卫星架构);
  4. 实盘化工程建设(训练管道封装、模型系数漂移监控、换手预算约束下的自动降频)。

附录:本轮复现的工程资产

资产 说明
glm_composite_{logistic,linear,lasso}.py 滚动训练 GLM 因子(含 purge/抽样/预处理全流程)
glm_field_probe.py Python 沙箱字段声明机制探测脚本
data/glm-ml-{logistic,linear,lasso}.json 平台全窗口回测原始返回
data/glm_ml_groups.csv 三变体 10 组分组收益汇总
make_charts_ml.py 净值曲线与 IC 对比图表生成脚本
outputs/charts/ml2_*.png 本报告图 1-3

数据来源:PandaAI 因子分析平台回测实测(因子对象 glm-ml-logistic / glm-ml-linear / glm-ml-lasso,运行日期 2026-09-13);策略一数据引自前作报告《[机器学习研究一]广义线性模型因子复现》(2026-08-24,同一平台同一口径)。原研报方法参照华泰证券《人工智能选股之广义线性模型》(林晓明等,2017-06-22)。本文所有观点仅用于研究复现,不构成投资建议。

评论

还没有评论,来说点什么吧
0 / 2000