Historisk drawdown
Aktiemarknaden tenderar att stiga över tid, men det innebär inte att du slipper perioder av drawdown.
Drawdown kan mätas som den procentuella förlusten från den högsta kumulativa historiska nivån.
I Python kan du använda funktionerna .accumulate() och .maximum() för att beräkna det löpande maximumet, och den enkla formeln nedan för att beräkna drawdown:
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$
- \(r_t\): Kumulativ avkastning vid tidpunkten t
- \(RM\): Löpande maximum
De kumulativa avkastningarna för USO, en ETF som följer oljepriset, finns tillgängliga i variabeln cum_rets.
Den här övningen är en del av kursen
Introduktion till portföljriskhantering i Python
Övningsinstruktioner
- Beräkna det löpande maximumet för de kumulativa avkastningarna för USO-olje-ETF:en (
cum_rets) med hjälp avnp.maximum.accumulate(). - Där det löpande maximumet (
running_max) sjunker under 1 sätter du det löpande maximumet lika med 1. - Beräkna
drawdownmed hjälp av den enkla formeln ovan och variablernacum_retsochrunning_max. - Granska diagrammet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()