始める無料で始める

指数加重リターンとリスク

この演習では、リスクとリターンの推定方法を少し変えてポートフォリオ最適化を行い、直近のデータにより重みを置いて最適化します。

これは、典型的に非定常(時間とともに分布が変化する)な株式データに賢く対処する方法です。実装は、Sigma を計算するためのリスクモデルと、mu を得るためのリターン計算を変更するだけで手早く行えます。株価データセットは stock_prices として利用できます。さっそく試してみましょう!

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

Pythonで学ぶポートフォリオ分析入門

コースを見る

演習の手順

  • risk_models の指数加重共分散行列と、expected_returns の指数加重ヒストリカルリターン関数を使って Sigmamu を計算します。span は 180、頻度(取引日数)は 252 に設定してください。
  • 新しい muSigma で効率的フロンティアを計算します。
  • 最大シャープレシオ・ポートフォリオのウェイトを計算します。
  • パフォーマンスレポートを取得します。

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

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

# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)

# Calculate the efficient frontier
ef = ____(____, ____)

# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()

# Show portfolio performance 
ef.____(verbose=True)
コードを編集して実行