CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Calculez le maximum courant des rendements cumulés de l’ETF pétrolier USO (cum_rets) avec np.maximum.accumulate().
  • Lorsque le maximum courant (running_max) passe sous 1, fixez-le à 1.
  • Calculez drawdown à l’aide de la formule ci-dessus avec cum_rets et running_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()
Modifier et exécuter le code