Le portefeuille à variance minimale et à ratio de Sharpe maximal
Dans les exercices précédents, vous avez calculé la frontière efficiente à l'aide d'une grille de rendements cibles. Le résultat de ce calcul était une série de deux vecteurs, vpm (vecteur des rendements moyens du portefeuille) et vpsd (vecteur des écarts types, ou volatilités), ainsi qu'une matrice de pondérations appelée mweights. Vous allez utiliser ces résultats pour repérer les portefeuilles ayant la plus faible volatilité et le plus grand ratio de Sharpe, puis tracer la répartition de leurs pondérations.
Rappelons que le ratio de Sharpe se calcule en prenant le rendement excédentaire par rapport au taux sans risque, divisé par la volatilité du portefeuille.
Cette activité fait partie du cours
Introduction à l'analyse de portefeuille en R
Instructions de l’exercice
- Créez
weights_minvar, qui correspond à la ligne demweightsoù l'écart type est minimisé(vpsd == min(vpsd)). - Calculez le ratio de Sharpe des rendements de portefeuille lorsque le taux sans risque est de 0,75 %. Nommez ce résultat
vsr. - Créez
weights_max_srcomme la ligne demweightscorrespondant au portefeuille avec le ratio de Sharpe maximal dansvsr. Cette étape se résout de manière semblable à la première instruction. - Créez un diagramme à bandes des pondérations supérieures à 1 % dans le portefeuille
weights_minvar, puis créez un diagramme à bandes des pondérations supérieures à 1 % dans le portefeuilleweights_max_sr.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create weights_minvar as the portfolio with the least risk
weights_minvar <- mweights[___ == min(___), ]
# Calculate the Sharpe ratio
vsr <- (___ - ___) / vpsd
# Create weights_max_sr as the portfolio with the maximum Sharpe ratio
weights_max_sr <- mweights[___ == max(___)]
# Create bar plot of weights_minvar and weights_max_sr
par(mfrow = c(2, 1), mar = c(3, 2, 2, 1))
barplot(weights_minvar[weights_minvar > 0.01])
barplot(___[___ > 0.01])