2. 因子模型概述:单因子模型、多因子模型(CAPM、Fama-French)、因子暴露与因子收益

因子模型是量化金融与组合风险归因的基石。它将资产收益分解为若干共同因子(系统性风险)的线性组合与一个特质项(非系统性风险),从而将高维的协方差矩阵降维,使风险归因与流式决策成为可能。

2.1 单因子模型

单因子模型假设资产收益仅受一个共同因子驱动,最经典的形式为市场模型:

R_i = α_i + β_i · R_m + ε_i

其中:

  • R_i:资产 i 的超额收益
  • R_m:市场组合的超额收益(唯一因子)
  • β_i:资产 i 对市场因子的暴露(敏感度)
  • α_i:截距项,代表超额收益中不能被市场解释的部分
  • ε_i:特质收益,均值为 0,且与市场因子不相关
核心推论: 在单因子模型下,资产 i 与资产 j 的协方差完全由市场因子决定:Cov(R_i, R_j) = β_i · β_j · Var(R_m)。特质风险被假设为相互独立,可被充分分散化消除。

2.2 多因子模型

多因子模型将单因子扩展为 K 个共同因子,更精确地刻画资产收益的横截面差异:

R_i = α_i + β_i1 · F_1 + β_i2 · F_2 + ... + β_iK · F_K + ε_i

其中 F_k 为第 k 个因子收益,β_ik 为资产 i 对因子 k 的暴露。

2.2.1 CAPM(资本资产定价模型)

CAPM 是单因子模型的代表,也是现代金融理论的基石。它认为市场组合是唯一有效的风险因子,资产的预期收益仅与其市场 β 线性相关:

E(R_i) = R_f + β_i · [E(R_m) - R_f]
CAPM 关键假设 含义
投资者理性、风险厌恶 追求均值-方差有效前沿
无摩擦市场 无交易成本、无税收、可无限卖空
同质预期 所有投资者对资产收益的预期一致
存在无风险资产 可自由借贷无风险利率
实践局限: CAPM 在实证中解释力有限,大量异象(如规模效应、价值效应)无法被市场 β 单独解释,这推动了多因子模型的发展。

2.2.2 Fama-French 三因子模型

Fama 与 French(1993)在 CAPM 基础上引入规模因子(SMB)与价值因子(HML),显著提升了横截面收益的解释力:

R_i - R_f = α_i + β_mkt · (R_m - R_f) + β_smb · SMB + β_hml · HML + ε_i

因子含义:

  • MKT(市场因子):市场组合超额收益,捕获系统性市场风险
  • SMB(规模因子):小盘股组合收益减大盘股组合收益,捕获市值效应
  • HML(价值因子):高账面市值比组合收益减低账面市值比组合收益,捕获价值效应
后续扩展: Carhart(1997)加入动量因子(MOM)形成四因子模型;Fama-French(2015)进一步加入盈利因子(RMW)与投资因子(CMA)形成五因子模型,使因子体系更完备。

2.3 因子暴露与因子收益

在多因子框架下,风险归因的核心在于准确估计两个关键变量:

概念 符号 定义 估计方法
因子暴露 β_ik 资产 i 对因子 k 的敏感度,即因子 k 变化 1 单位时资产 i 收益的预期变化 时间序列回归(滚动窗口 OLS)、截面回归(Fama-MacBeth)、机器学习
因子收益 F_k 因子 k 在特定时期内的实现收益,代表该因子风险溢价的实际兑现 多空组合收益差(如 SMB、HML)、主成分分析(PCA)、最大似然估计
流式决策中的关键挑战: 因子暴露与因子收益均具有时变性。在流式场景下,需采用滚动窗口、指数加权或卡尔曼滤波等方法实时更新估计,避免使用全样本静态参数导致的风险误判。

2.4 因子模型结构总览

下图展示了从单因子到多因子的演进脉络,以及因子暴露与因子收益在风险归因中的核心位置:

因子模型结构总览 因子模型结构总览 单因子模型 多因子模型 因子暴露 & 因子收益 CAPM(市场因子) Fama-French 三因子 四因子 / 五因子 因子暴露 β_ik 因子收益 F_k 特质收益 ε_i 组合风险归因 · 流式决策 · 绩效归因 因子暴露 × 因子收益 = 因子贡献风险

2.5 因子模型在风险归因中的核心公式

基于因子模型,组合收益与风险可分解为:

组合收益:R_p = α_p + Σ_k β_pk · F_k + ε_p
组合风险:σ²_p = Σ_k Σ_j β_pk · β_pj · Cov(F_k, F_j) + σ²_εp

其中 β_pk 为组合对因子 k 的加权平均暴露,σ²_εp 为组合特质风险(随资产数量增加而衰减)。

流式决策要点: 在 SQL 实现中,因子暴露 β_pk 可通过滚动窗口的 REGR_SLOPE 或自定义 UDAF 实时计算;因子收益 F_k 可通过多空组合的 SUM(CASE WHEN ...) 按日更新。两者结合即可实现逐笔交易级别的风险归因。