CommencerCommencer gratuitement

Trouver le portefeuille efficient moyenne–variance

Un portefeuille efficient moyenne–variance s’obtient en minimisant la variance du portefeuille sous la contrainte que le rendement espéré du portefeuille soit égal à un rendement cible. Une fonction R pratique pour cela est portfolio.optim() du package R tseries. Son comportement par défaut calcule les pondérations du portefeuille efficient moyenne–variance sous la contrainte que le rendement du portefeuille soit égal à celui d’un portefeuille équipondéré. Le seul argument nécessaire est la série de rendements mensuels des composantes du portefeuille dont il faut déterminer les pondérations.

La variable returns, qui contient les rendements mensuels des actions du DJIA, est déjà chargée dans la console.

Cet exercice fait partie du cours

Introduction à l’analyse de portefeuille en R

Afficher le cours

Instructions

  • Chargez la bibliothèque tseries.
  • Créez un portefeuille efficient moyenne–variance de rendements mensuels en utilisant la valeur par défaut de portfolio.optim() (ciblant le rendement du portefeuille équipondéré) et affectez le résultat à la variable opt.
  • Créez un vecteur de pondérations à partir de votre portefeuille optimisé. Les pondérations se trouvent dans opt$pw. Nommez ce vecteur pf_weights.
  • Attribuez les noms aux actifs en utilisant le code fourni.
  • Sélectionnez, depuis pf_weights, les pondérations optimales supérieures ou égales à 1 %, et appelez ce vecteur opt_weights.
  • Utilisez barplot() pour visualiser la distribution de opt_weights.
  • Affichez le rendement espéré (opt$pm) et la volatilité (opt$ps) du portefeuille optimisé.

Exercice interactif pratique

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

# Load tseries


# Create an optimized portfolio of returns
opt <- portfolio.optim(___)

# Create pf_weights
pf_weights <- ___$pw

# Assign asset names
names(pf_weights) <- colnames(returns)

# Select optimum weights opt_weights
opt_weights <- pf_weights[___ >= 0.01]

# Bar plot of opt_weights


# Print expected portfolio return and volatility
___$pm
___$ps
 
Modifier et exécuter le code