当机器学习遇见多因子:一份给“懂模型但不懂量化”的人的技术导览
如果你熟悉线性回归、正则化、树模型和过拟合这些概念,但从未接触过量化的多因子投资,那么一个自然的切入方式是:多因子模型本质上是一个你已经见过的统计学习问题,只是它的数据生成过程和约束条件被金融市场改写过了。
这篇文章不做金融叙事,而是把多因子投资拆解成几个你在机器学习中已经熟悉的问题——压缩、选择、松弛与问责——然后看看量化实践者是如何用你熟悉的工具回答它们的。
因子暴露就是特征,因子收益就是回归系数
多因子模型最基础的形态是一个截面回归:
[
r_{i,t} = \alpha_t + \sum_{k=1}^{K} \beta_{i,k,t} f_{k,t} + \varepsilon_{i,t}
]
其中 (r_{i,t}) 是股票 (i) 在 (t) 期的收益,(\beta_{i,k,t}) 是股票 (i) 在因子 (k) 上的暴露,(f_{k,t}) 是该因子的收益。用机器学习的语言说:因子暴露就是你为每只股票构造的特征向量,因子收益就是在给定这些特征下拟合出来的回归系数。 你在做特征工程时计算的公司规模、估值、动量,在量化中就是“因子”;你的模型为每个特征学到的权重,在因子模型中就是每期截面回归估出来的 (f_{k,t})。
这个映射之所以成立,是因为多因子模型和标准回归共享同一个统计目标:用少数共同成分解释大量个体观测的变异。 Fama-French 三因子用市值(SMB)和价值(HML)两个手工构造的组合收益来充当因子,本质上是在手动指定隐变量的代理;而机器学习的视角会立刻追问:为什么不把隐变量交给数据去估计? 这正是 PCA 和自编码器进入因子研究的入口。
高维因子选择:Lasso 不是“借用”,而是问题本身要求的正则化
一旦你接受“因子=特征”,立刻会认出量化研究中最头疼的问题在机器学习中的名字:(p) 远大于 (n),且特征高度相关。 学术界已经提出了数百个候选因子,而可用的有效截面样本在时间维度上相当有限。Cochrane 所说的“因子动物园”,在统计学习语言中就是一个设计矩阵病态的高维选择问题。
Lasso 和 Elastic Net 在因子选择中的角色,恰恰对应了这个问题本身就需要的正则化。(\ell_1) 惩罚实现稀疏选择,把大量冗余因子压缩到少数非零;Elastic Net 在 (\ell_1) 与 (\ell_2) 之间调节,当相关因子成组出现时倾向于整组保留而非任意丢弃一个。一项基于沪深300成分股、覆盖244个因子(2007—2021年)的对比研究发现,线性正则化模型在克服因子相关性和噪声方面表现突出,而非线性模型则在捕捉因子与收益之间更复杂的长期关系上更强。更有意思的是因子偏好上的分工:线性模型倾向于选中与价格走势相关的动量因子,而非线性模型更看重基于公司基本面的价值与质量因子。这提示了一件事:“选哪些因子”本身依赖于你假设的函数形式,而不是一个与模型无关的客观答案。
非线性的诱惑与代价:松弛一个可疑的统计约束
线性因子模型有一个容易被忽视的统计假设:因子暴露 (\beta) 是不随时间变化的常数,因子对收益的作用是线性可加的。 从机器学习角度看,这是一个很强的设定误差来源。如果真实关系存在交互(比如“高动量”只在“低波动”条件下才预测正收益),线性模型会产生系统性偏差,而且这种偏差不会因为样本增大而消失。
随机森林和梯度提升树提供的“松弛”路径,你在机器学习中已经很熟悉:不预设函数形式,用分段常数逼近和树的组合来隐式建模非线性和交互。Gu、Kelly 和 Xiu 的条件自编码器则走得更远:让因子载荷本身成为资产特征的函数,在保留低维因子结构的同时放松了常数载荷约束。
但松弛有统计代价。非线性模型的有效自由度更高,而金融数据的信噪比极低、非平稳性普遍。偏差的下降是否值得方差的上升,不是一个可以靠“模型更先进”来回答的问题,而是一个需要在具体样本外区间上检验的经验问题。 上述 A 股对比研究也提醒:更复杂的模型(包括深度学习)并不总是带来更好的收益预测,随机森林在一些设定下反而优于 SVM 和神经网络。把非线性当作默认选项,和把线性当作信仰,在统计上犯的是同一类错误。
归因:深度模型必须自己生产“因子系数”
多因子模型在机构中之所以有制度生命力,不只因为它能预测,更因为它能归因:组合赚的钱可以被分解到因子上,基金经理和风控部门能够就“赚的是什么钱”形成可审计的共识。一个没有归因通道的黑箱,在金融语境中不是一个完整的因子模型。
深度因子模型的回应,是在网络内部重建归因。Nakagawa 等人的框架对训练好的深度网络应用逐层相关性传播(LRP) ,将预测收益分解到输入因子层面,从而在非线性黑箱上恢复类似“因子贡献度”的量。它的统计含义值得认真对待:LRP 给出的不是回归系数的标准误意义上的推断,而是一种局部归因,其稳定性依赖于网络结构和输入分布。但它指向的方向是清晰的:如果机器学习的预测力要替代传统模型的制度功能,它就必须在自身框架内生产出统计上可辩护的归因量。
Barra 的“纯因子组合”提供了一个有用的对照。纯因子组合的数学构造是 ((X^T X){-1}XT),乘以暴露矩阵 (X) 后得到一个单位矩阵——这从代数上保证了组合只对目标因子有单位暴露、对其他因子暴露为零。这种“数学上自洽”的归因,正是线性框架的强项,也正是非线性模型需要以另一种方式去逼近的目标。
A 股的一个切面:数字说明了什么,又不说明什么
用一个具体的 A 股多因子组合作为参照:从估值、规模、成长、质量、杠杆等 10 大类 100 多个细分因子中筛选出 44 个,基于 IC 及 IC 协方差矩阵构建动态 IR 优化组合,滚动 36 个月,持仓 150 只,信息比 3.67,年化收益 31%。另一个量价因子等权合成的综合因子,RankIC 均值为 -11.99%,十分组多空组合年化收益 33.86%。
这些数字在 A 股研究报告中并不罕见,但机器学习训练出的直觉应该让你追问两件事。第一,这些是样本内还是样本外? 多因子研究中“样本内夏普优秀、样本外夏普失效”是一个被反复记录的模式:样本内满足“弱有效低相关”条件的因子,在样本外相关性仍然较低,但大量因子会出现夏普比失效,最终拖累合成因子的表现。第二,因子本身会衰减。 A 股的 SMB 因子在 2017 年之后的表现明显走弱,提示“曾经有效”并不蕴含“将继续有效”。这不是对多因子方法的否定,而是对它的统计性质的一个诚实描述:因子收益是一个非平稳过程,任何在历史窗口上估计出来的参数,都面临分布漂移的风险。
结语:机器学习给多因子带来的,不是替代,是问题意识的精确化
回到最初的问题:一个懂机器学习的人应该怎样理解多因子量化?
最准确的回答或许是:多因子模型是统计学习在金融数据上的一种受约束实例。 你熟悉的压缩(潜变量估计)、选择(高维正则化)、松弛(非线性函数形式)和问责(归因重建),在多因子中一个不少,只是它们被嵌入在一个信噪比极低、非平稳、且制度上要求“可解释”的数据生成过程中。
机器学习带来的最有价值的改变,不是宣布树模型或神经网络“战胜”了 Fama-French,而是让因子研究中原本以金融叙事包裹的统计问题变得不可回避:因子是否在控制高维候选集合后仍有增量信息?非线性带来的偏差下降是否值得方差代价?一个不可归因的预测在制度语境中是否算一个“模型”?这些问题在多因子中一直存在,只是机器学习迫使人们用更精确的语言面对它们。
而它无法消除的那部分困难——因子收益在下一个样本外区间是否持续——则属于金融数据本身的性质,不属于任何方法的胜利或失败。

浙公网安备 33010602011771号