НачатьНачать бесплатно

Историческая просадка

Фондовый рынок в целом растёт со временем, однако это не исключает периодов просадки.

Просадка измеряется как процентное снижение от наивысшей исторической точки накопленной доходности.

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