Оцінювання параметрів: Skewed Normal
У попередній вправі ви виявили, що підгонка нормального розподілу до даних портфеля інвестбанку за 2005–2010 роки дала слабку якість за критерієм Андерсона—Дарлінга.
Ви перевірите дані за допомогою функції skewtest() з scipy.stats. Якщо результат статистично відрізняється від нуля, то дані підтверджують наявність асиметрії (skewness).
Тепер ви параметрично оціните 95% VaR для підгонки розподілу збитків, використовуючи розподіл skewnorm (skewed Normal) з scipy.stats. Це більш загальний розподіл, ніж Normal, і він дозволяє збиткам мати несиметричний розподіл. Можна очікувати асиметрії збитків під час кризи, коли втрати портфеля були імовірнішими за прибутки.
Портфельні losses за період 2007–2009 років доступні.
Ця вправа є частиною курсу
Кількісне управління ризиками в Python
Інструкції до вправи
- Імпортуйте
skewnormіskewtestзscipy.stats. - Перевірте асиметрію в портфельних
lossesза допомогоюskewtest. Тест указує на асиметрію, якщо результат статистично відрізняється від нуля. - Підіженіть дані
lossesрозподілом skewed Normal за допомогою методу.fit(). - Згенеруйте та виведіть оцінку 95% VaR з підгонного розподілу.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import the skew-normal distribution and skewness test from scipy.stats
from scipy.stats import skewnorm, skewtest
# Test the data for skewness
print("Skewtest result: ", ____(____))
# Fit the portfolio loss data to the skew-normal distribution
params = ____.____(losses)
# Compute the 95% VaR from the fitted distribution, using parameter estimates
VaR_95 = ____.____(0.95, *params)
print("VaR_95 from skew-normal: ", VaR_95)