Estimación paramétrica: normal sesgada
En el ejercicio anterior descubriste que ajustar una distribución normal a los datos del portafolio de banco de inversión de 2005-2010 daba como resultado un mal ajuste según la prueba de Anderson-Darling.
Comprobarás los datos utilizando la función skewtest()
de scipy.stats
. Si el resultado de la prueba es estadísticamente distinto de cero, los datos admiten una distribución sesgada.
Ahora estimarás paramétricamente el VaR del 95 % de un ajuste de distribución de pérdidas utilizando la distribución normal sesgada skewnorm
de scipy.stats
. Es una distribución más general que la normal y permite que las pérdidas se distribuyan de forma no simétrica. Cabría esperar que las pérdidas estuvieran sesgadas durante la crisis, cuando las pérdidas de portafolio eran más probables que las ganancias.
Las losses
de portafolio para el periodo 2007-2009 están disponibles.
Este ejercicio forma parte del curso
Gestión cuantitativa de riesgos en Python
Instrucciones del ejercicio
- Importa
skewnorm
yskewtest
descipy.stats
. - Prueba el sesgo en el portafolio
losses
utilizandoskewtest
. La prueba indica sesgo si el resultado es estadísticamente distinto de cero. - Ajusta los datos de
losses
a la distribución normal sesgada utilizando el método.fit()
. - Genera y muestra la estimación del VaR al 95 % a partir de la distribución ajustada.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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)