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()