CommencezCommencez gratuitement

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

Posons l'hypothèse que l'utilisation d'une estimation robuste de la matrice de variance-covariance surpassera la matrice de variance-covariance issue de l'échantillon. En théorie, de meilleures estimations devraient donner de meilleurs résultats. Nous allons utiliser la fonction moments_robust() définie au chapitre 3 ainsi que la spécification du portefeuille du dernier exercice.

Cette activité fait partie du cours

Analyse de portefeuille intermédiaire en R

Voir le cours

Instructions de l’exercice

  • Exécutez l'optimisation en utilisant la fonction moments_robust() pour estimer les moments. Le retour en arrière de l'optimisation utilisera les mêmes paramètres qu'auparavant, avec un rééquilibrage trimestriel, une période d'entraînement et une fenêtre mobiles sur 5 ans de données. Assignez 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(). Assignez les rendements à une variable nommée returns_rb_robust.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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