アルファとマルチファクターモデル

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

Dakota Wixom

Quantitative Analyst | QuantCourse.com

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

$$ R_{P} = $$

$$ RF + \beta_{M}(R_{M}-RF)+b_{SMB} \cdot SMB + b_{HML} \cdot HML + \alpha $$

  • SMB: 小型株マイナス大型株ファクター
  • $b_{SMB}$: SMBファクターへのエクスポージャー
  • HML: 割安株マイナス成長株ファクター
  • $b_{HML}$: HMLファクターへのエクスポージャー
  • $\alpha $: 他のファクターで説明できないパフォーマンス
  • $\beta_{M}$: 広義市場ポートフォリオBに対するベータ
Pythonで学ぶポートフォリオ・リスク管理入門

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

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

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

超過ポートフォリオリターンと市場リターンがオブジェクト Data に格納されている場合:

import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess + SMB + HML', 
                data=Data)
fit = model.fit()
adjusted_r_squared = fit.rsquared_adj
adjusted_r_squared
0.90
Pythonで学ぶポートフォリオ・リスク管理入門

p値と統計的有意性

HML のp値を抽出するには、適合済み回帰モデルオブジェクト fit を使用します:

fit.pvalues["HML"]
0.0063

統計的有意性を検定するには、値が所定の閾値(通常0.05)を下回るかどうかを確認します:

fit.pvalues["HML"] < 0.05
True
Pythonで学ぶポートフォリオ・リスク管理入門

係数の抽出

HML の係数を抽出するには、適合済み回帰モデルオブジェクト fit を使用します:

fit.params["HML"]
0.502
fit.params["SMB"]
-0.243
Pythonで学ぶポートフォリオ・リスク管理入門

アルファと効率的市場仮説

回帰分析の結果がオブジェクト fit に格納されている場合:

portfolio_alpha = fit.params["Intercept"]
portfolio_alpha_annualized = ((1 + portfolio_alpha) ** 252) - 1
portfolio_alpha_annualized
0.045
Pythonで学ぶポートフォリオ・リスク管理入門

練習しましょう!

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

Preparing Video For Download...