指数加重リターンとリスク
この演習では、リスクとリターンの推定方法を少し変えてポートフォリオ最適化を行い、直近のデータにより重みを置いて最適化します。
これは、典型的に非定常(時間とともに分布が変化する)な株式データに賢く対処する方法です。実装は、Sigma を計算するためのリスクモデルと、mu を得るためのリターン計算を変更するだけで手早く行えます。株価データセットは stock_prices として利用できます。さっそく試してみましょう!
この演習はコースの一部です
Pythonで学ぶポートフォリオ分析入門
演習の手順
risk_modelsの指数加重共分散行列と、expected_returnsの指数加重ヒストリカルリターン関数を使ってSigmaとmuを計算します。span は 180、頻度(取引日数)は 252 に設定してください。- 新しい
muとSigmaで効率的フロンティアを計算します。 - 最大シャープレシオ・ポートフォリオのウェイトを計算します。
- パフォーマンスレポートを取得します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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)