Aan de slagGa gratis aan de slag

Leiden betere schattingen tot betere prestaties?

Laten we de hypothese testen dat een robuuste schatting van de variantie-covariantiematrix beter presteert dan de steekproefvariantie-covariantiematrix. In theorie zouden betere schattingen tot betere resultaten moeten leiden. We gebruiken de functie moments_robust() die in hoofdstuk 3 is gedefinieerd en de portefeuillespecificatie uit de vorige oefening.

Deze oefening maakt deel uit van de cursus

Gevorderde portefeuilleanalyse in R

Cursus bekijken

Oefeninstructies

  • Voer de optimalisatie uit met de functie moments_robust() om de momenten te schatten. De backtest voor de optimalisatie gebruikt dezelfde parameters als eerder: per kwartaal herbalanceren met een trainingsperiode en rollend venster van 5 jaar aan data. Sla de resultaten op in een variabele opt_rebal_rb_robust.
  • Maak een grafiek van de gewichten.
  • Maak een grafiek van de procentuele componentbijdrage aan het risico.
  • Bereken de portefeuillerendementen met Return.portfolio(). Sla de rendementen op in een variabele returns_rb_robust.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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"
Code bewerken en uitvoeren