始める無料で始める

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}}\): 市場全体ポートフォリオ B へのポートフォリオ P のベータ(エクスポージャ)

statsmodels.formula.api.ols(formula, data) モデルオブジェクトに対して .fit() メソッドを呼び出すと推定を実行できます。結果の分析には、返された分析オブジェクトに対して .summary() メソッドを使います。

作業スペースには FamaFrenchData DataFrame が用意されており、この演習に必要なデータが含まれています。

この演習はコースの一部です

Pythonで学ぶポートフォリオ・リスク管理入門

コースを見る

演習の手順

  • まず、statsmodels.formula.apismf としてインポートします。
  • Portfolio_ExcessMarket_Excess の関数として説明する回帰モデルを定義します。
  • 当てはめた回帰モデルの調整済み決定係数を抽出して出力します。
  • ポートフォリオのマーケット・ベータを抽出します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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)
コードを編集して実行