IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Importa la distribuzione t di Student da scipy.stats.
  • Calcola i vettori di media mu e deviazione standard sigma su finestre di 30 giorni da losses e inseriscili in rolling_parameters.
  • Calcola un array Numpy di misure di VaR al 99% VaR_99 usando t.ppf(), a partire da un elenco di distribuzioni T costruite con gli elementi di rolling_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()
Modifica ed esegui il codice