IniziaInizia gratis

Drawdown storico

Il mercato azionario tende a crescere nel tempo, ma questo non significa che non attraverserai periodi di drawdown.

Il drawdown può essere misurato come la perdita percentuale rispetto al punto cumulato più alto raggiunto in passato.

In Python, puoi usare le funzioni .accumulate() e .maximum() per calcolare il massimo progressivo (running maximum) e la semplice formula qui sotto per calcolare il drawdown:

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

  • \(r_t\): Rendimento cumulato al tempo t
  • \(RM\): Massimo progressivo

I rendimenti cumulati di USO, un ETF che replica il prezzo del petrolio, sono disponibili nella variabile cum_rets.

Questo esercizio fa parte del corso

Introduzione alla gestione del rischio di portafoglio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola il massimo progressivo dei rendimenti cumulati dell’ETF sul petrolio USO (cum_rets) usando np.maximum.accumulate().
  • Quando il massimo progressivo (running_max) scende sotto 1, imposta il massimo progressivo uguale a 1.
  • Calcola drawdown usando la semplice formula sopra con cum_rets e running_max.
  • Esamina il grafico.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice