Историческая просадка
Фондовый рынок в целом растёт со временем, однако это не исключает периодов просадки.
Просадка измеряется как процентное снижение от наивысшей исторической точки накопленной доходности.
В 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()