Small Minus Big:做多小盘股、做空大盘股的投资组合收益。
High Minus Low:做多高账面市值比(价值股)、做空低账面市值比(成长股)。
市场超额收益 (Rm - Rf) ,传统CAPM单一因子。
| 分组维度 | 分组标志 | 组合 | 因子计算 |
|---|---|---|---|
| 市值 (Size) | 中位数 | 小盘 (S) / 大盘 (B) | SMB = 1/3 (S/L + S/M + S/H) − 1/3 (B/L + B/M + B/H) |
| 账面市值比 (B/M) | 30% / 40% / 30% | 低 (L) / 中 (M) / 高 (H) | |
| HML 构造 | 高B/M (价值) / 低B/M (成长) | HML = 1/2 (S/H + B/H) − 1/2 (S/L + B/L) | |
| 再平衡频率 | 每年6月底 | 市值 & B/M 更新 | 月度因子收益率 |
Rᵢ − Rf = α + β·(Rm−Rf) + s·SMB + h·HML + ε
检验目标:α 是否显著不为零(模型未能解释的收益)
import pandas as pd import statsmodels.api as sm # 假设 df 包含: 组合超额收益(ret_excess), MKT, SMB, HML X = df[['MKT', 'SMB', 'HML']] X = sm.add_constant(X) # 添加截距项 α y = df['ret_excess'] model = sm.OLS(y, X).fit() print(model.summary()) # 关注: coef 的 const (α), MKT, SMB, HML 以及 p-value
💡 中小学生记忆口诀:小盘价值一起上,市场因子不能忘;回归截距若为零,三因子模型就是棒!