開始使用免費開始

用 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)
編輯並執行程式碼