Історичне просідання
Фондовий ринок загалом зростає з часом, але це не означає, що не буде періодів просідання.
Просідання можна виміряти як відсоткову втрату від найвищого кумулятивного історичного рівня.
У 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()