多因子模型基础:从CAPM到五因子模型
各位同学,今天我们来聊聊多因子模型的根基。说实话,这部分内容我讲了不下几十遍,但每次备课还是会发现新的感悟。你想想看,从1964年CAPM诞生到现在,因子模型已经走过了半个多世纪。这期间我踩过不少坑,也积累了一些实战经验,今天一并分享给你们。
核心观点:多因子模型不是凭空出现的,它是金融学界对市场异象的不断解释和修正。理解这些模型的演进逻辑,比死记硬背公式重要得多。
1. CAPM模型回顾:一切从这里开始
CAPM,资本资产定价模型,说白了就是一个公式:E(Ri) = Rf + βi × (E(Rm) - Rf)。这个模型告诉我们,股票的预期收益只跟市场风险有关。嗯,听起来很美好,对吧?
我在2015年刚入行时,第一个量化策略就是基于CAPM的。当时天真地以为,只要找到低β的股票就能跑赢市场。结果呢?回测曲线确实漂亮,但实盘一跑就露馅了。为什么?因为CAPM假设太强了——它假设所有投资者都理性,市场无摩擦,信息完全对称。现实中哪有这种事?
个人经验:CAPM最大的价值不是用来做预测,而是作为基准。我习惯用它来计算股票的α,也就是超额收益。如果一个股票长期α为正,说明它确实有某种特殊优势。
CAPM的局限性很明显:它只用一个因子(市场风险)来解释收益。但现实中,小盘股往往比大盘股涨得好,价值股比成长股表现更优。这些现象CAPM解释不了。于是,Fama和French在1993年站了出来。
3. Fama-French三因子模型:划时代的突破
三因子模型在CAPM基础上加了两个因子:规模因子(SMB)和价值因子(HML)。公式变成了:E(Ri) - Rf = βi × (E(Rm) - Rf) + si × SMB + hi × HML。
我个人觉得,三因子模型最聪明的地方在于:它用简单的分组方法构造因子。比如SMB,就是把股票按市值分成大小两组,做多小盘股、做空大盘股。这种方法后来成了因子构造的标配。
关键点:三因子模型解释了90%以上的股票收益差异。但注意,它解释的是截面差异,不是时间序列预测。很多初学者搞混这一点,我当年也犯过这个错。
举个例子,假设我们要分析茅台(600519.SH)的收益来源。用三因子模型回归,你会发现它的β接近1,但SMB的载荷是负的(因为它是大盘股),HML的载荷也是负的(因为它是成长股)。这说明茅台的收益主要来自市场风险,而不是规模或价值溢价。
# 三因子模型回归示例(Python)
import statsmodels.api as sm
import pandas as pd
# 假设df包含:股票超额收益、市场超额收益、SMB、HML
X = df[['MKT_RF', 'SMB', 'HML']]
X = sm.add_constant(X)
y = df['STOCK_RF']
model = sm.OLS(y, X).fit()
print(model.summary())
避坑指南:我曾经在回测中用了未来数据构造因子,结果回测收益高得离谱。后来才发现,SMB和HML的构造需要用到当期的市值和账面市值比,如果用了未来数据,就是典型的"前视偏差"。切记,因子构造必须基于历史数据。
4. Carhart四因子模型:动量效应的加入
1997年,Carhart在三因子基础上加入了动量因子(MOM)。动量效应很简单:过去涨得好的股票,未来一段时间还会继续涨;过去跌得惨的,还会继续跌。这个现象在A股市场也很明显。
我记得2019年做A股动量策略时,发现一个有趣的现象:A股的动量效应周期比美股短。美股动量可以持续6-12个月,A股往往3-6个月就反转了。所以做四因子模型时,参数调整要因地制宜。
四因子模型的公式:E(Ri) - Rf = βi × (E(Rm) - Rf) + si × SMB + hi × HML + mi × MOM。
实战技巧:动量因子的构造有很多变种。我习惯用过去12个月剔除最近1个月的收益作为动量信号,这样可以避免短期反转的干扰。当然,你也可以试试6个月或3个月的窗口,看哪个更适合你的策略。
5. Fama-French五因子模型:更精细的刻画
2015年,Fama和French又加了两个因子:盈利能力因子(RMW)和投资风格因子(CMA)。RMW做多高盈利股票、做空低盈利股票;CMA做多低投资股票、做空高投资股票。
五因子模型的公式:E(Ri) - Rf = βi × (E(Rm) - Rf) + si × SMB + hi × HML + ri × RMW + ci × CMA。
说实话,五因子模型在A股的表现不如美股。我做过对比测试,发现RMW和CMA在A股的显著性不高。这可能跟A股的市场结构有关——散户主导、政策影响大、盈利和投资的信号容易被噪音淹没。
我的建议:不要盲目套用五因子模型。在A股,三因子模型加上动量因子,效果往往比五因子更好。因子不是越多越好,关键是每个因子都要有经济含义和统计显著性。
下面这张图展示了因子模型的演进脉络,你可以看到每个模型在原有基础上解决了什么问题:
6. 模型对比与选择建议
说了这么多,到底该用哪个模型?我个人的经验是:
| 模型 | 因子数量 | 适用场景 | A股表现 |
|---|---|---|---|
| CAPM | 1 | 基准比较、α计算 | 一般 |
| 三因子 | 3 | 通用模型、风险归因 | 较好 |
| 四因子 | 4 | 趋势跟踪、动量策略 | 好(需调整参数) |
| 五因子 | 5 | 美股、成熟市场 | 一般 |
重要提醒:因子模型是解释工具,不是预测工具。我见过太多人用因子模型做选股,结果回测漂亮实盘亏损。记住,因子载荷是历史数据的统计结果,未来可能完全不一样。做量化,永远要对历史保持敬畏。
好了,这一章的内容就到这里。下一章我们会深入讨论ESG因子如何融入这些经典模型,以及我在实际项目中踩过的那些坑。嗯,到时候再细聊。