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

Оценка риска методом GEV

Предположим, что 1 января 2010 года вы держали акции GE на сумму €1 000 000. Вы хотите покрыть ожидаемые максимальные убытки, которые могут возникнуть в течение следующей недели, опираясь на данные за предыдущие два года — 2008–2009. Предполагается, что максимальные недельные убытки по акциям GE распределены согласно обобщённому распределению экстремальных значений (GEV).

Для моделирования ожидаемых убытков вы оцените CVaR на уровне доверия 99% для распределения GEV и используете его для расчёта суммы резерва, необходимой для покрытия ожидаемого максимального недельного убытка за январь 2010 года.

Распределение genextreme из scipy.stats доступно в вашем рабочем пространстве, как и данные об убытках losses компании GE за период 2008–2009 годов.

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

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

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

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

  • Найдите максимумы цены актива GE для блока длиной в одну неделю.
  • Подгоните распределение GEV genextreme к данным weekly_maxima.
  • Вычислите VaR на уровне 99% и используйте его для нахождения оценки CVaR на уровне 99%.
  • Вычислите резервную сумму, необходимую для покрытия ожидаемого максимального недельного убытка.

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

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

# Compute the weekly block maxima for GE's stock
weekly_maxima = losses.____("W").____()

# Fit the GEV distribution to the maxima
p = genextreme.____(____)

# Compute the 99% VaR (needed for the CVaR computation)
VaR_99 = genextreme.____(____, *p)

# Compute the 99% CVaR estimate
CVaR_99 = (1 / (1 - 0.99)) * genextreme.____(lambda x: x, 
           args=(p[0],), loc = p[1], scale = p[2], lb = ____)

# Display the covering loss amount
print("Reserve amount: ", 1000000 * CVaR_99)
Редактировать и запускать код