VaR для нормального розподілу
Щоб звикнути до міри Value at Risk (VaR), корисно застосувати її до відомого розподілу. Нормальний (або гаусовий) розподіл особливо зручний, адже 1) має аналітично просту форму і 2) описує широкий спектр емпіричних явищ. У цій вправі ви припустите, що збиток портфеля має нормальний розподіл, тобто що більше значення, витягнуте з розподілу, то більший збиток.
Ви дізнаєтеся, як застосувати ppf() (percent point function) з scipy.stats.norm і функцію quantile() з numpy, щоб знайти VaR для стандартного нормального розподілу на рівнях довіри 95% та 99% відповідно. Також ви візуалізуєте VaR як порогове значення на графіку нормального розподілу.
Ця вправа є частиною курсу
Кількісне управління ризиками в Python
Інструкції до вправи
- Скористайтеся функцією відсоткових точок
norm.ppf()(percent point function), щоб знайти значення VaR на рівні довіри 95%. - Тепер знайдіть VaR на рівні 99% за допомогою функції
quantile()з Numpy, застосованої до 100 000 випадкових нормальнихdraws. - Порівняйте значення VaR для 95% і 99% за допомогою оператора
print. - Побудуйте нормальний розподіл і додайте лінію, що позначає 95% VaR.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()