Aan de slagGa gratis aan de slag

VaR en risico-exposure

Eerder heb je de VaR en CVaR berekend wanneer verliezen Normaal verdeeld waren. Hier ga je de VaR bepalen met een andere veelgebruikte verliesverdeling, de Student's t-verdeling (of T) uit scipy.stats.

Je berekent een array van 99%-VaR-maatstaven uit de T-verdeling (met 30 - 1 = 29 vrijheidsgraden), met 30-daagse rollende vensters op de portefeuille-losses van een zakenbank.

Eerst bepaal je het gemiddelde en de standaarddeviatie van elk venster en maak je een lijst rolling_parameters. Die gebruik je om de 99%-VaR-array te berekenen.

Vervolgens gebruik je deze array om de risico-exposure te plotten voor een portefeuille die aanvankelijk $100.000 waard is. Onthoud dat risico-exposure gelijk is aan de verlieskans (dat is 1%) maal het verliesbedrag (dat is het verlies volgens de 99%-VaR).

Deze oefening maakt deel uit van de cursus

Kwantitatief risicobeheer in Python

Cursus bekijken

Oefeninstructies

  • Importeer de t-verdeling van Student uit scipy.stats.
  • Bereken uit losses de 30-daagse venstergemiddelde mu en standaarddeviatievector sigma, en plaats deze in rolling_parameters.
  • Bereken een Numpy-array met 99%-VaR-maatstaven VaR_99 met t.ppf(), uit een lijst van T-verdelingen met de elementen van rolling_parameters.
  • Bereken en visualiseer de risico-exposure die hoort bij de VaR_99-array.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren