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
Oefeninstructies
- Bereken het voortschrijdende maximum van de cumulatieve rendementen van de USO-oil-ETF (
cum_rets) metnp.maximum.accumulate(). - Waar het voortschrijdende maximum (
running_max) onder 1 komt, stel je het voortschrijdende maximum gelijk aan 1. - Bereken
drawdownmet de eenvoudige formule hierboven metcum_retsenrunning_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()