Drawdown historique
Le marché boursier a tendance à monter sur le long terme, mais cela n’empêche pas des périodes de drawdown.
Le drawdown se mesure comme la perte en pourcentage par rapport au plus haut cumulatif historique.
En Python, vous pouvez utiliser les fonctions .accumulate() et .maximum() pour calculer le maximum courant, puis appliquer la formule suivante pour obtenir le drawdown :
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$
- \(r_t\) : rendement cumulatif à la date t
- \(RM\) : maximum courant
Les rendements cumulés de USO, un ETF qui réplique le prix du pétrole, sont disponibles dans la variable cum_rets.
Cet exercice fait partie du cours
Introduction à la gestion du risque de portefeuille en Python
Instructions
- Calculez le maximum courant des rendements cumulés de l’ETF pétrolier USO (
cum_rets) avecnp.maximum.accumulate(). - Lorsque le maximum courant (
running_max) passe sous 1, fixez-le à 1. - Calculez
drawdownà l’aide de la formule ci-dessus aveccum_retsetrunning_max. - Examinez le graphique.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Calculate the running maximum
running_max = ____(cum_rets)
# Ensure the value never drops below 1
running_max[____] = 1
# Calculate the percentage drawdown
drawdown = (____)/____ - 1
# Plot the results
drawdown.plot()
plt.show()