1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶ中級ポートフォリオ分析

Connected

演習

定期的なリバランスによる最適化

定期的にリバランスしながら最適化を実行し、バックテストのサンプル外結果を分析することは、制約や目的関数をより深く理解し、必要に応じて見直すための重要なステップです。optimize.portfolio.rebalancing() は、サンプル外のパフォーマンスを検証するための定期的なリバランス(バックテスト)付き最適化をサポートします。optimize.portfolio() の引数に加えて、定期的なリバランス頻度を rebalance_on で指定し、初回の最適化に使う学習データの期間数を training_period で指定し、最適化のウィンドウ幅となる期間数を rolling_window で指定します。rolling_window を NULL に設定すると、各最適化はその時点で利用可能なすべてのデータを使用します。

この演習の計算時間を短縮するために、ランダムポートフォリオ集合 rp は50通りの組み合わせで生成し、テストするポートフォリオ数を示す search_size は1000に設定しています。実際にご自身で最適化を行う場合は、より多くのポートフォリオを試すことをおすすめします(search_size のデフォルトは 20,000 です)!

指示

100 XP
  • 四半期ごとにリバランスして最適化を実行します。training_period と rolling_window はともに 60 期間に設定します。データは月次なので、過去5年分を利用することになります。最適化の出力は opt_rebal という変数に代入してください。
  • 最適化結果を出力してください。