より良い推定は、より良いパフォーマンスにつながるでしょうか?
分散共分散行列のロバスト推定を使うと、標本の分散共分散行列よりも良い結果が得られると仮定してみましょう。理論的には、推定が良くなれば結果も良くなるはずです。ここでは、チャプター3で定義した moments_robust() 関数と、前の演習で使ったポートフォリオ仕様を用います。
この演習はコースの一部です
Rで学ぶ中級ポートフォリオ分析
演習の手順
moments_robust()関数でモーメントを推定して最適化を実行します。バックテストは、これまでと同じパラメータ(四半期ごとのリバランス、学習期間、ローリングウィンドウで5年分のデータを使用)で行います。結果はopt_rebal_rb_robustという変数に代入します。- ウェイトのチャートを作成します。
- リスクへの構成要素の割合寄与をチャート化します。
Return.portfolio()を使ってポートフォリオのリターンを計算します。リターンはreturns_rb_robustという変数に代入します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Run the optimization
opt_rebal_rb_robust <- optimize.portfolio.rebalancing(R = ___,
momentFUN = ___,
portfolio = ___,
optimize_method = "random", rp = rp,
trace = TRUE,
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Chart the weights
# Chart the percentage contribution to risk
chart.RiskBudget(___, match.col = "StdDev", risk.type = ___)
# Compute the portfolio returns
returns_rb_robust <- Return.portfolio(R = ___, weights = ___)
colnames(returns_rb_robust) <- "rb_robust"