多因子模型 是量化投资中将资产收益分解为多个共同因子(系统性风险)与特质收益的线性框架。其数学本质为:
R_i = α_i + β_i1·F_1 + β_i2·F_2 + … + β_ik·F_k + ε_i
其中 R_i 为资产 i 的收益率,F_j 为第 j 个因子(如价值、动量、质量等),β_ij 为因子暴露,α_i 为超额收益,ε_i 为特质波动。该模型将资产收益的协方差结构归因于少数公共因子,是现代投资组合理论的核心工具。
| 年代 | 里程碑 | 贡献者 / 模型 |
|---|---|---|
| 1964 | 资本资产定价模型 (CAPM) —— 单因子 | Sharpe, Lintner |
| 1976 | 套利定价理论 (APT) —— 多因子理论基石 | Ross |
| 1993 | Fama-French 三因子模型 (市场、规模、价值) | Fama & French |
| 1997 | 动量因子 (Carhart 四因子) | Carhart |
| 2015 | Fama-French 五因子 (盈利、投资) | Fama & French |
| 2018+ | 因子动物园 · 机器学习因子 · 动态多因子 | 学术界 & 量化业界 |
从 CAPM 的单一市场因子,到如今数百个异象因子,多因子模型经历了从理论到实证、从简约到高维的演进。每一次迭代都让量化投资更精细地捕捉风险溢价。
多因子模型是量化投资策略的基础设施,在组合构建、风险归因、绩效评估中扮演不可替代的角色。其核心作用包括:
▲ 多因子模型连接因子挖掘与组合构建,形成量化策略闭环
以下展示多因子截面回归的核心逻辑(使用 OLS 估计因子暴露):
import numpy as np import statsmodels.api as sm # 假设 returns: (N assets,) factor_matrix: (N, K) def estimate_factor_exposure(returns, factor_matrix): X = sm.add_constant(factor_matrix) # 加入截距项 (alpha) model = sm.OLS(returns, X).fit() alpha = model.params[0] betas = model.params[1:] return alpha, betas, model.rsquared # 示例:三因子 (市场, 规模, 价值) # factor_matrix = np.column_stack([mkt, smb, hml]) # alpha, beta_vec, r2 = estimate_factor_exposure(portfolio_returns, factor_matrix) print("因子模型将收益分解为 alpha + Σ β_i·F_i + ε")
实际多因子模型还涉及因子正交化、风险调整、IC/IR 检验等,本课程将逐步深入。