IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Importa skewnorm e skewtest da scipy.stats.
  • Verifica l'asimmetria nelle losses del portafoglio usando skewtest. Il test indica asimmetria se il risultato è statisticamente diverso da zero.
  • Adatta i dati losses alla 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)
Modifica ed esegui il codice