始める無料で始める

Fama-French 3ファクターモデル

Fama-Frenchモデルは、資産リターンを説明するためにCAPMに2つの追加ファクターを加えたことで有名です。

$$ 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/Mマイナス低B/M)ファクター
  • \(b_{HML}\): HMLファクターへのエクスポージャー
  • \(\alpha \): 他のファクターでは説明できない超過収益
  • \(\beta_{M}\): 市場全体ポートフォリオへのベータ

この演習では、FamaFrenchData DataFrame がワークスペースに用意されており、HMLSMB の各ファクターが列として含まれています。

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

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

コースを見る

演習の手順

  • Portfolio_ExcessMarket_ExcessSMBHML の関数として説明する回帰モデルを定義します。
  • FamaFrench_fit から調整済み決定係数(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)
コードを編集して実行