Fama French 三因子模型
Fama-French 模型在 CAPM 基础上著名地加入了两个额外因子来解释资产回报:
$$ R_{P} = RF + \beta_{M}(R_{M}-RF)+b_{SMB} \cdot SMB + b_{HML} \cdot HML + \alpha $$
- SMB:小盘减去大盘因子(Small Minus Big)。
- $b_{SMB}$:对 SMB 因子的暴露。
- HML:高账面市值比减去低账面市值比因子(High Minus Low)。
- $b_{HML}$:对 HML 因子的暴露。
- $\alpha $:无法被其他因子解释的超额表现。
- $\beta_{M}$:相对于广义市场组合的贝塔。
FamaFrenchData DataFrame 已在您的工作区中可用,并包含本练习所需的 HML 和 SMB 因子列。
本练习是课程的一部分
Python 投资组合风险管理入门
练习说明
- 定义一个回归模型,将
Portfolio_Excess表示为Market_Excess、SMB和HML的函数。 - 从
FamaFrench_fit中提取调整后的 R 平方(adjusted R-squared)值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import statsmodels.formula.api
import statsmodels.formula.api as smf
# Define the regression formula
FamaFrench_model = smf.ols(formula='____', data=FamaFrenchData)
# Fit the regression
FamaFrench_fit = FamaFrench_model.fit()
# Extract the adjusted r-squared
regression_adj_rsq = ____
print(regression_adj_rsq)