VaR ed esposizione al rischio
In precedenza hai calcolato VaR e CVaR assumendo perdite distribuite normalmente. Qui troverai la VaR usando un’altra distribuzione di perdite comune, la distribuzione t di Student (o T) disponibile in scipy.stats.
Calcolerai un array di misure di VaR al 99% dalla distribuzione T (con 30 - 1 = 29 gradi di libertà), usando finestre mobili di 30 giorni delle losses del portafoglio di una banca d’investimento.
Per prima cosa troverai media e deviazione standard di ciascuna finestra, creando un elenco di rolling_parameters. Li userai per calcolare l’array di misure di VaR al 99%.
Poi userai questo array per tracciare l’esposizione al rischio per un portafoglio dal valore iniziale di $100.000. Ricorda che l’esposizione al rischio è la probabilità di perdita (pari all’1%) moltiplicata per l’importo della perdita (dato dalla VaR al 99%).
Questo esercizio fa parte del corso
Gestione quantitativa del rischio in Python
Istruzioni dell'esercizio
- Importa la distribuzione
tdi Student dascipy.stats. - Calcola i vettori di media
mue deviazione standardsigmasu finestre di 30 giorni dalossese inseriscili inrolling_parameters. - Calcola un array Numpy di misure di VaR al 99%
VaR_99usandot.ppf(), a partire da un elenco di distribuzioni T costruite con gli elementi dirolling_parameters. - Calcola e visualizza l’esposizione al rischio associata all’array
VaR_99.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import the Student's t-distribution
from scipy.____ import t
# Create rolling window parameter list
mu = losses.rolling(30).____
sigma = losses.rolling(30).____
rolling_parameters = [(29, mu[i], s) for i,s in enumerate(sigma)]
# Compute the 99% VaR array using the rolling window parameters
VaR_99 = np.array( [ t.ppf(____, *params)
for params in ____ ] )
# Plot the minimum risk exposure over the 2005-2010 time period
plt.plot(losses.index, 0.01 * ____ * 100000)
plt.show()