用 CAPM 計算 beta
建模股票報酬的方式很多,但最知名的模型之一是「資本資產定價模型」(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}}$:投資組合對廣泛市場投資組合 B 的 beta(或曝險)。
你可以在 statsmodels.formula.api 中,對 .ols(formula, data) 模型物件呼叫 .fit() 方法來執行分析,並在分析物件上使用 .summary() 方法來檢視結果。
FamaFrenchData DataFrame 已在你的工作環境中,且包含此練習所需的資料。
本練習屬於課程
Python 投資組合風險管理入門
練習說明
- 先匯入
statsmodels.formula.api並命名為smf。 - 定義一個迴歸模型,將
Portfolio_Excess解釋為Market_Excess的函數。 - 擷取並列印已配適迴歸模型的調整後 r-squared。
- 擷取你的投資組合的市場 beta。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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)