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

Экстремальные значения и бэктестирование

Экстремальные значения — это значения, превышающие заданный порог. Они используются для проверки того, насколько точно такие меры риска, как VaR, отражают реальный риск потерь.

Вы изучите экстремальные значения: вычислите VaR на уровне 95% для равновзвешенного портфеля инвестиционных банков за 2009–2010 годы (напомним, что это эквивалентно историческому моделированию начиная с 2010 года), а затем выполните бэктестирование на данных за 2007–2008 годы.

Потери портфеля за 2009–2010 годы доступны в estimate_data — на их основе вы рассчитаете оценку VaR на уровне 95%. Затем найдите экстремальные значения, превышающие эту оценку VaR, среди потерь портфеля за 2007–2008 годы, которые хранятся в backtest_data.

Сравните относительную частоту экстремальных значений с уровнем VaR 95%, а затем визуализируйте экстремальные значения с помощью стемплота.

Это упражнение является частью курса

Количественное управление рисками на Python

Посмотреть курс

Инструкции к упражнению

  • Вычислите VaR на уровне 95% для estimate_data с помощью np.quantile().
  • Найдите extreme_values из backtest_data, используя VaR_95 в качестве порога потерь.
  • Сравните относительную частоту extreme_values с оценкой VaR_95. Совпадают ли они?
  • Постройте стемплот для extreme_values, чтобы показать, как крупные отклонения концентрировались в период кризиса.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Compute the 95% VaR on 2009-2010 losses
VaR_95 = ____.____(estimate_data, 0.95)

# Find backtest_data exceeding the 95% VaR
extreme_values = backtest_data[____ > VaR_95]

# Compare the fraction of extreme values for 2007-2008 to the Var_95 estimate
print("VaR_95: ", VaR_95, "; Backtest: ", len(____) / len(backtest_data) )

# Plot the extreme values and look for clustering
plt.stem(extreme_values.index, ____)
plt.ylabel("Extreme values > VaR_95"); plt.xlabel("Date")
plt.show()
Редактировать и запускать код