Stima dei parametri: Normale asimmetrica
Nel precedente esercizio hai visto che adattare una distribuzione Normale ai dati del portafoglio della banca d'investimento dal 2005 al 2010 portava a un pessimo fit secondo il test di Anderson-Darling.
Ora testerai i dati usando la funzione skewtest() di scipy.stats. Se il risultato del test è statisticamente diverso da zero, allora i dati supportano una distribuzione asimmetrica.
Adesso stimerai per via parametrica il VaR al 95% di una distribuzione delle perdite adattata usando la distribuzione skewnorm (Normale asimmetrica) di scipy.stats. È una distribuzione più generale della Normale e consente perdite distribuite in modo non simmetrico. È plausibile che, durante la crisi, le perdite fossero asimmetriche, con perdite di portafoglio più probabili dei guadagni.
Sono disponibili le losses di portafoglio per il periodo 2007 - 2009.
Questo esercizio fa parte del corso
Gestione quantitativa del rischio in Python
Istruzioni dell'esercizio
- Importa
skewnormeskewtestdascipy.stats. - Verifica l'asimmetria nelle
lossesdel portafoglio usandoskewtest. Il test indica asimmetria se il risultato è statisticamente diverso da zero. - Adatta i dati
lossesalla distribuzione Normale asimmetrica usando il metodo.fit(). - Genera e visualizza la stima del VaR al 95% dalla distribuzione adattata.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)