ПочатиПочніть безкоштовно

Історичне просідання

Фондовий ринок загалом зростає з часом, але це не означає, що не буде періодів просідання.

Просідання можна виміряти як відсоткову втрату від найвищого кумулятивного історичного рівня.

У Python ви можете скористатися функціями .accumulate() та .maximum(), щоб обчислити поточний максимум, а також простою формулою нижче, щоб обчислити просідання:

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

  • \(r_t\): Кумулятивна дохідність у момент часу t
  • \(RM\): Поточний максимум

Кумулятивна дохідність USO — ETF, що відстежує ціни на нафту, — доступна у змінній cum_rets.

Ця вправа є частиною курсу

Вступ до керування ризиком портфеля в Python

Переглянути курс

Інструкції до вправи

  • Обчисліть поточний максимум кумулятивної дохідності нафтового ETF USO (cum_rets) за допомогою np.maximum.accumulate().
  • Там, де поточний максимум (running_max) опускається нижче 1, встановіть значення поточного максимуму рівним 1.
  • Обчисліть drawdown за простою формулою вище, використовуючи cum_rets та running_max.
  • Перегляньте графік.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код