2. 风险因子模型基础:Fama-French三因子模型、Barra模型、因子暴露与因子收益率的数学定义

风险因子模型是组合风险归因的数学基石。它将资产收益分解为若干共同因子的线性组合与一个特质项,从而将高维的协方差矩阵估计转化为低维因子协方差矩阵的估计。本节从最经典的 Fama-French 三因子模型出发,过渡到多因子 Barra 模型,并严格定义因子暴露与因子收益率这两个核心概念。

2.1 Fama-French 三因子模型

Fama 与 French (1993) 在 CAPM 单因子模型基础上,加入市值因子 (SMB) 和账面市值比因子 (HML),构建了三因子模型。该模型认为,股票的超额收益可由市场超额收益、小市值股票相对于大市值股票的超额收益、以及高账面市值比股票相对于低账面市值比股票的超额收益来解释。

数学表达式:

R_i - R_f = α_i + β_i (R_m - R_f) + s_i · SMB + h_i · HML + ε_i

其中:

  • R_i:资产 i 的收益率
  • R_f:无风险利率
  • R_m:市场组合收益率
  • β_i:市场因子暴露(市场贝塔)
  • SMB (Small Minus Big):市值因子收益率
  • s_i:市值因子暴露
  • HML (High Minus Low):价值因子收益率
  • h_i:价值因子暴露
  • α_i:截距项(超额收益)
  • ε_i:特质收益残差
关键理解: 因子暴露 (β_i, s_i, h_i) 是资产对因子变化的敏感度,通过时间序列回归估计;因子收益率 (R_m-R_f, SMB, HML) 是因子多空组合的价差收益,通过截面排序构建。

2.2 Barra 多因子模型

Barra 模型(现为 MSCI Barra)将 Fama-French 的学术框架扩展为工业级多因子模型,通常包含 10–50 个因子,涵盖风格因子、行业因子、国家因子等。其核心假设是:资产收益由共同因子驱动,且因子暴露在截面维度上具有解释力。

数学表达式:

r_i = ∑_{k=1}^{K} X_{ik} · f_k + u_i

其中:

  • r_i:资产 i 的超额收益(相对于无风险利率)
  • X_{ik}:资产 i 对因子 k 的暴露(因子载荷)
  • f_k:因子 k 的收益率(因子溢价)
  • u_i:特质收益(异质风险)
  • K:因子总数

Barra 模型与 Fama-French 模型的核心差异:

对比维度 Fama-French 三因子 Barra 多因子模型
因子数量 固定 3 个(市场、市值、价值) 10–50 个(风格、行业、国家等)
因子构建方式 基于市值排序的多空组合 基于标准化 Z-score 的加权组合
暴露估计 时间序列回归(滚动窗口) 截面回归 + 行业哑变量
应用场景 学术研究、因子检验 组合风险归因、绩效分解、风险预算
协方差矩阵 隐含市场模型 显式因子协方差 + 特质方差对角阵

2.3 因子暴露的数学定义

因子暴露 (Factor Exposure) 衡量资产收益对因子收益变化的敏感度。在截面回归框架下,因子暴露是已知的输入变量,而非待估参数。

定义方式:

  • 风格因子暴露: 通过标准化后的公司特征值计算。例如,市值因子暴露 = ln(市值) 的 Z-score;动量因子暴露 = 过去 12 个月累计收益的 Z-score。
  • 行业因子暴露: 采用哑变量 (0/1) 表示,资产属于某行业则暴露为 1,否则为 0。为避免多重共线性,通常去掉一个行业作为基准。
  • 国家因子暴露: 类似行业因子,使用哑变量表示资产所属国家。
数学形式: 设资产 i 对因子 k 的暴露为 X_{ik},则暴露矩阵 X 的维度为 N × K,其中 N 为资产数量,K 为因子数量。在 Barra 模型中,X 矩阵在截面回归中作为解释变量,因子收益率 f 作为待估系数。

2.4 因子收益率的数学定义

因子收益率 (Factor Return) 是因子多空组合的价差收益,代表承担该因子风险所获得的单位溢价。在截面回归中,因子收益率通过加权最小二乘法 (WLS) 估计得到。

截面回归方程:

r = X · f + u

其中:

  • r:N × 1 向量,各资产超额收益
  • X:N × K 矩阵,因子暴露
  • f:K × 1 向量,待估因子收益率
  • u:N × 1 向量,特质收益残差

WLS 估计量:

f̂ = (X' W X)^{-1} X' W r

其中 W 为权重对角矩阵,通常使用市值平方根或等权重。估计得到的 f̂ 即为当期因子收益率。

实践注意: 因子收益率的时间序列是后续风险归因的核心输入。在训练集切分时,必须确保因子收益率序列与资产收益序列在时间上严格对齐,避免未来信息泄露。因子暴露通常使用期初值,因子收益率使用当期值。

2.5 因子模型与协方差矩阵分解

因子模型的核心优势在于将资产收益协方差矩阵分解为因子部分与特质部分,大幅降低参数估计维度。

协方差矩阵分解:

Cov(r) = X · Ω_f · X' + D

其中:

  • Ω_f:K × K 因子收益率协方差矩阵(低维,K 通常 ≤ 50)
  • D:N × N 对角矩阵,对角元素为特质收益方差 σ²(u_i)
  • X:N × K 因子暴露矩阵

通过该分解,原本需要估计 N(N+1)/2 个参数的协方差矩阵,简化为估计 K(K+1)/2 + N 个参数。当 N 很大(如 3000 只股票)而 K 很小(如 30 个因子)时,参数数量从约 450 万降至约 3465,降幅超过 99.9%。

因子模型结构图:从因子暴露到资产收益 因子模型结构:从因子暴露到资产收益 因子 1 (市场) 因子 2 (市值) 因子 3 (价值) 因子 K (行业) f₁ f₂ f₃ f_K 因子暴露矩阵 X X₁₁ X₁₂ … X₁K X₂₁ X₂₂ … X₂K ⋮ ⋮ ⋱ ⋮ Xₙ₁ Xₙ₂ … XₙK N × K X · f 资产收益 r r₁ = X₁·f + u₁ r₂ = X₂·f + u₂ ⋮ rₙ = Xₙ·f + uₙ 特质收益 u 因子暴露 X 已知(期初特征值),因子收益率 f 通过截面回归估计,特质收益 u 为残差

2.6 因子模型在风险归因中的角色

在组合风险归因中,因子模型提供了将组合总风险分解为各因子贡献的数学框架。组合收益的方差可写为:

σ²_p = w' · Cov(r) · w = (w' X) · Ω_f · (X' w) + w' D w

其中 w 为组合权重向量。第一项为因子风险贡献,第二项为特质风险贡献。通过该分解,可以量化每个因子对组合风险的边际贡献 (MCR) 和百分比贡献 (PCR)。

因子风险贡献的计算步骤:

  1. 计算组合因子暴露: X_p = w' X(1 × K 向量)
  2. 计算因子风险贡献: 因子 k 的边际风险贡献 = (X_p · Ω_f)_k / σ_p
  3. 计算百分比贡献: 因子 k 的风险占比 = (X_p · Ω_f)_k · X_{pk} / σ²_p
实战要点: 在训练集切分时,因子暴露矩阵 X 通常使用期初快照(如每月初的市值、账面市值比等),因子收益率 f 使用当期实现值。这种“期初暴露 × 当期收益”的设定保证了因果方向,是避免前瞻偏差的关键设计。
组合风险归因分解流程 组合风险归因分解流程 组合权重 w N × 1 向量 因子暴露矩阵 X N × K(期初值) 因子协方差 Ω_f K × K(历史估计) 风险计算 组合暴露 X_p = w' X 组合方差 σ²_p = X_p Ω_f X_p' 边际贡献 MCR_k = (X_p Ω_f)_k / σ_p 风险归因 因子 1: x% 因子 2: x% 因子 3: x% … 因子 K: x% 特质: x% 风险归因结果 = 各因子对组合总风险的百分比贡献,用于指导风险预算与对冲决策

2.7 因子模型选择对训练集切分的影响

不同的因子模型对训练集切分方式有直接影响:

模型类型 暴露估计方式 训练集切分要求 典型窗口长度
Fama-French 时间序列回归 滚动 OLS 回归 需要连续 36–60 个月收益序列 3–5 年
Barra 截面回归 期初特征值 Z-score 需要每月截面快照,暴露与收益严格对齐 1 个月(截面)
混合模型(如 Fama-MacBeth) 两步法:时间序列 + 截面 需要同时满足时间序列长度和截面宽度 5 年时间序列 + 每月截面
切分陷阱: 使用 Fama-French 模型时,若训练窗口不足 36 个月,因子暴露估计的稳定性会急剧下降,导致风险归因结果不可靠。使用 Barra 模型时,必须确保因子暴露的构建不包含未来信息(如使用未来会计数据计算账面市值比),否则会产生严重的前瞻偏差。