CommencerCommencer gratuitement

De meilleures estimations mènent‑elles à de meilleures performances ?

Posons l’hypothèse que l’utilisation d’une estimation robuste de la matrice variance‑covariance surperforme la matrice variance‑covariance empirique. En théorie, de meilleures estimations devraient conduire à de meilleurs résultats. Nous allons utiliser la fonction moments_robust() définie au chapitre 3 ainsi que la spécification de portefeuille du dernier exercice.

Cet exercice fait partie du cours

Analyse de portefeuille intermédiaire en R

Afficher le cours

Instructions

  • Exécutez l’optimisation en utilisant la fonction moments_robust() pour estimer les moments. Le backtest de l’optimisation utilisera les mêmes paramètres qu’auparavant : rebalancement trimestriel avec période d’entraînement et fenêtre roulante sur 5 ans de données. Affectez les résultats à une variable nommée opt_rebal_rb_robust.
  • Tracez les pondérations.
  • Tracez la contribution en pourcentage des composantes au risque.
  • Calculez les rendements du portefeuille avec Return.portfolio(). Affectez ces rendements à une variable nommée returns_rb_robust.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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"
Modifier et exécuter le code