Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Beräkna det löpande maximumet för de kumulativa avkastningarna för USO-olje-ETF:en (cum_rets) med hjälp av np.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 drawdown med hjälp av den enkla formeln ovan och variablerna cum_rets och running_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()
Redigera och kör kod