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:特质收益残差
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。为避免多重共线性,通常去掉一个行业作为基准。
- 国家因子暴露: 类似行业因子,使用哑变量表示资产所属国家。
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%。
2.6 因子模型在风险归因中的角色
在组合风险归因中,因子模型提供了将组合总风险分解为各因子贡献的数学框架。组合收益的方差可写为:
σ²_p = w' · Cov(r) · w = (w' X) · Ω_f · (X' w) + w' D w
其中 w 为组合权重向量。第一项为因子风险贡献,第二项为特质风险贡献。通过该分解,可以量化每个因子对组合风险的边际贡献 (MCR) 和百分比贡献 (PCR)。
因子风险贡献的计算步骤:
- 计算组合因子暴露: X_p = w' X(1 × K 向量)
- 计算因子风险贡献: 因子 k 的边际风险贡献 = (X_p · Ω_f)_k / σ_p
- 计算百分比贡献: 因子 k 的风险占比 = (X_p · Ω_f)_k · X_{pk} / σ²_p
2.7 因子模型选择对训练集切分的影响
不同的因子模型对训练集切分方式有直接影响:
| 模型类型 | 暴露估计方式 | 训练集切分要求 | 典型窗口长度 |
|---|---|---|---|
| Fama-French 时间序列回归 | 滚动 OLS 回归 | 需要连续 36–60 个月收益序列 | 3–5 年 |
| Barra 截面回归 | 期初特征值 Z-score | 需要每月截面快照,暴露与收益严格对齐 | 1 个月(截面) |
| 混合模型(如 Fama-MacBeth) | 两步法:时间序列 + 截面 | 需要同时满足时间序列长度和截面宽度 | 5 年时间序列 + 每月截面 |