IniziaInizia gratis

CVaR e scelta della copertura delle perdite

Negli esercizi precedenti hai visto che sia le distribuzioni T sia Gaussian KDE si adattano abbastanza bene alle perdite di portafoglio del periodo di crisi. Detto questo, quale delle due è migliore per il risk management? Un modo per scegliere è selezionare la distribuzione che fornisce la maggiore copertura delle perdite, così da coprire lo “scenario peggiore tra i peggiori”.

Le distribuzioni t e kde sono disponibili e sono state adattate alle losses del portafoglio 2007-2008 (i parametri adattati della t sono in p). Calcolerai la stima del CVaR a 1 giorno al 99% per ciascuna distribuzione; la stima di CVaR più grande è quindi l’ammontare di riserva più “sicuro” da mantenere, che copre le perdite attese oltre il VaR al 99%.

All’istanza kde è stato assegnato un metodo speciale .expect(), solo per questo esercizio, per calcolare il valore atteso necessario al CVaR.

Questo esercizio fa parte del corso

Gestione quantitativa del rischio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Trova il VaR al 99% usando np.quantile() applicato a campioni casuali generati dalle distribuzioni t e kde.
  • Calcola l’integrale richiesto per le stime di CVaR usando il metodo .expect() per ciascuna distribuzione.
  • Trova e visualizza le stime del CVaR al 99% per entrambe le distribuzioni.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Find the VaR as a quantile of random samples from the distributions
VaR_99_T   = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)

# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T   = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)

# Create the 99% CVaR estimates
CVaR_99_T   = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE

# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)
Modifica ed esegui il codice