用 CAPM 计算贝塔
建模股票收益的方法有很多,但最为知名之一的是 资本资产定价模型(Capital Asset Pricing Model,CAPM):
$$ E(R_{P}) - RF = \beta_{{P}}(E(R_{M})-RF)\ $$
- $E(R_{P}) - RF$:单只股票或投资组合 P 的超额期望收益。
- $E(R_{M}) - RF$:广义市场投资组合 B 的超额期望收益。
- $RF$:本地区无风险利率。
- $\beta_{{P}}$:投资组合 P 对广义市场投资组合 B 的贝塔(或暴露)。
您可以在 statsmodels.formula.api 中对 .ols(formula, data) 模型对象调用 .fit() 方法来执行分析,并在分析对象上调用 .summary() 方法来查看结果。
FamaFrenchData DataFrame 已在您的工作区中可用,并包含本练习所需的数据。
本练习是课程的一部分
Python 投资组合风险管理入门
练习说明
- 首先,将
statsmodels.formula.api导入为smf。 - 定义一个回归模型,用
Market_Excess解释Portfolio_Excess。 - 提取并打印拟合回归模型的调整后 R-squared。
- 提取您投资组合的市场贝塔。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import statsmodels.formula.api
import ____ as ____
# Define the regression formula
CAPM_model = smf.ols(formula=____, data=FamaFrenchData)
# Print adjusted r-squared of the fitted regression
CAPM_fit = CAPM_model.fit()
print(CAPM_fit____)
# Extract the beta
regression_beta = CAPM_fit____
print(regression_beta)