Aan de slagGa gratis aan de slag

Parameterschatting: Scheve Normaalverdeling

In de vorige oefening ontdekte je dat het fitten van een Normaalverdeling op de portefeuilledata van investment banks uit 2005 - 2010 volgens de Anderson-Darling-toets een slechte fit opleverde.

Je gaat de data testen met de functie skewtest() uit scipy.stats. Als de testuitkomst statistisch verschillend is van nul, dan ondersteunen de data een scheve verdeling.

Nu ga je parametrisch de 95%-VaR van een verliesverdeling schatten met de skewed Normal-verdeling skewnorm uit scipy.stats. Dit is een algemenere verdeling dan de Normaalverdeling en staat toe dat verliezen niet symmetrisch verdeeld zijn. We verwachten mogelijk scheve verliezen tijdens de crisis, toen portefeuilleverliezen waarschijnlijker waren dan winsten.

Portefeuille-losses voor de periode 2007 - 2009 zijn beschikbaar.

Deze oefening maakt deel uit van de cursus

Kwantitatief risicobeheer in Python

Cursus bekijken

Oefeninstructies

  • Importeer skewnorm en skewtest uit scipy.stats.
  • Test op scheefheid in de portefeuille-losses met skewtest. De test duidt op scheefheid als de uitkomst statistisch verschillend is van nul.
  • Fit de losses-data op de scheve Normaalverdeling met de .fit()-methode.
  • Genereer en toon de 95%-VaR-schatting op basis van de gefitte verdeling.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Import the skew-normal distribution and skewness test from scipy.stats
from scipy.stats import skewnorm, skewtest

# Test the data for skewness
print("Skewtest result: ", ____(____))

# Fit the portfolio loss data to the skew-normal distribution
params = ____.____(losses)

# Compute the 95% VaR from the fitted distribution, using parameter estimates
VaR_95 = ____.____(0.95, *params)
print("VaR_95 from skew-normal: ", VaR_95)
Code bewerken en uitvoeren