Оценка параметров: скошенное нормальное распределение
В предыдущем упражнении вы убедились, что подгонка нормального распределения к данным портфеля инвестиционного банка за 2005–2010 годы даёт неудовлетворительный результат согласно критерию Андерсона–Дарлинга.
Проверьте данные с помощью функции skewtest() из scipy.stats. Если результат теста статистически отличается от нуля, данные подтверждают скошенное распределение.
Теперь вы параметрически оцените 95% VaR, подогнав распределение потерь с помощью скошенного нормального распределения skewnorm из scipy.stats. Оно является более общим, чем нормальное, и допускает несимметричное распределение потерь. В период кризиса, когда убытки портфеля были более вероятны, чем доходы, можно ожидать именно такое смещение.
Данные о потерях портфеля losses за 2007–2009 годы уже доступны.
Это упражнение является частью курса
Количественное управление рисками на Python
Инструкции к упражнению
- Импортируйте
skewnormиskewtestизscipy.stats. - Проверьте наличие асимметрии в данных о потерях портфеля
lossesс помощьюskewtest. Тест указывает на асимметрию, если результат статистически отличается от нуля. - Подгоните данные
lossesк скошенному нормальному распределению с помощью метода.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)