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

VaR для нормального распределения

Чтобы освоить меру Value at Risk (VaR), полезно сначала применить её к известному распределению. Нормальное (или гауссово) распределение особенно удобно по двум причинам: 1) оно имеет аналитически простую форму и 2) описывает широкий спектр эмпирических явлений. В этом упражнении предполагается, что убыток портфеля распределён нормально, то есть чем выше значение, полученное из распределения, тем больше убыток.

Вы научитесь применять функцию ppf() (функцию процентных точек) из scipy.stats.norm и функцию quantile() из numpy, чтобы найти VaR на уровнях доверия 95% и 99% соответственно для стандартного нормального распределения. Кроме того, вы визуализируете VaR в виде порогового значения на графике нормального распределения.

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

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

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

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

  • Используйте метод .ppf() объекта norm, чтобы найти значение VaR на уровне доверия 95%.
  • Найдите значение VaR на уровне 99%, применив функцию quantile() из Numpy к 100 000 случайных нормальных значений draws.
  • Сравните значения VaR на уровнях 95% и 99% с помощью оператора print.
  • Постройте график нормального распределения и добавьте линию, обозначающую VaR на уровне 95%.

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

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

# Create the VaR measure at the 95% confidence level using norm.ppf()
VaR_95 = norm.ppf(____)

# Create the VaR measure at the 99% confidence level using numpy.quantile()
draws = norm.rvs(size = 100000)
VaR_99 = np.quantile(____, 0.99)

# Compare the 95% and 99% VaR
print("95% VaR: ", ____, "; 99% VaR: ", ____)

# Plot the normal distribution histogram and 95% VaR measure
plt.hist(draws, bins = 100)
plt.axvline(x = ____, c='r', label = "VaR at 95% Confidence Level")
plt.legend(); plt.show()
Редактировать и запускать код