Aan de slagGa gratis aan de slag

Historische drawdown

De aandelenmarkt stijgt meestal op lange termijn, maar dat betekent niet dat je geen periodes van drawdown zult hebben.

Drawdown kun je meten als het procentuele verlies vanaf het hoogste cumulatieve historische punt.

In Python kun je de functies .accumulate() en .maximum() gebruiken om het voortschrijdende maximum te berekenen, en vervolgens de eenvoudige formule hieronder om de drawdown te berekenen:

$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

  • \(r_t\): Cumulatief rendement op tijdstip t
  • \(RM\): Voortschrijdend maximum

De cumulatieve rendementen van USO, een ETF die de olieprijs volgt, staan in de variabele cum_rets.

Deze oefening maakt deel uit van de cursus

Introductie tot portefeuillerisicobeheer in Python

Cursus bekijken

Oefeninstructies

  • Bereken het voortschrijdende maximum van de cumulatieve rendementen van de USO-oil-ETF (cum_rets) met np.maximum.accumulate().
  • Waar het voortschrijdende maximum (running_max) onder 1 komt, stel je het voortschrijdende maximum gelijk aan 1.
  • Bereken drawdown met de eenvoudige formule hierboven met cum_rets en running_max.
  • Bekijk de plot.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren