Zacznij terazZacznij za darmo

Historyczny drawdown

Rynek akcji ma tendencję do wzrostu w długim okresie, ale nie oznacza to, że unikniesz okresów drawdownu.

Drawdown można zmierzyć jako procentową stratę od najwyższego skumulowanego punktu historycznego.

W Pythonie możesz użyć funkcji .accumulate() i .maximum(), aby obliczyć bieżące maksimum, oraz poniższego wzoru, aby obliczyć drawdown:

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

  • \(r_t\): Skumulowany zwrot w czasie t
  • \(RM\): Bieżące maksimum

Skumulowane zwroty USO – funduszu ETF śledzącego ceny ropy – są dostępne w zmiennej cum_rets.

To ćwiczenie jest częścią kursu

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz bieżące maksimum skumulowanych zwrotów funduszu ETF USO (cum_rets), używając np.maximum.accumulate().
  • W miejscach, gdzie bieżące maksimum (running_max) spada poniżej 1, ustaw je równe 1.
  • Oblicz drawdown, korzystając z powyższego wzoru z użyciem cum_rets i running_max.
  • Przejrzyj wykres.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod