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
Oefeninstructies
- Importeer de
t-verdeling van Student uitscipy.stats. - Bereken uit
lossesde 30-daagse venstergemiddeldemuen standaarddeviatievectorsigma, en plaats deze inrolling_parameters. - Bereken een Numpy-array met 99%-VaR-maatstaven
VaR_99mett.ppf(), uit een lijst van T-verdelingen met de elementen vanrolling_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()