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 がワークスペースに用意されており、HML と SMB の各ファクターが列として含まれています。
この演習はコースの一部です
Pythonで学ぶポートフォリオ・リスク管理入門
演習の手順
Portfolio_ExcessをMarket_Excess、SMB、HMLの関数として説明する回帰モデルを定義します。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)