Estimation des paramètres : loi Normale asymétrique
Dans l’exercice précédent, vous avez constaté qu’ajuster une loi Normale aux données de portefeuille de banque d’investissement sur 2005 - 2010 donnait un mauvais ajustement selon le test d’Anderson-Darling.
Vous allez tester les données avec la fonction skewtest() de scipy.stats. Si le résultat du test est statistiquement différent de zéro, alors les données étayent l’hypothèse d’une distribution asymétrique.
Vous allez maintenant estimer de façon paramétrique la VaR à 95 % d’une distribution de pertes ajustée à l’aide de la distribution Normale asymétrique skewnorm de scipy.stats. Il s’agit d’une distribution plus générale que la Normale, qui autorise des pertes distribuées de manière non symétrique. On peut s’attendre à une asymétrie des pertes durant la crise, lorsque les pertes de portefeuille étaient plus probables que les gains.
Les losses du portefeuille pour la période 2007 - 2009 sont disponibles.
Cet exercice fait partie du cours
Gestion quantitative des risques en Python
Instructions
- Importez
skewnormetskewtestdepuisscipy.stats. - Testez l’asymétrie des
lossesdu portefeuille avecskewtest. Le test indique une asymétrie si le résultat est statistiquement différent de zéro. - Ajustez les données
lossesà la loi Normale asymétrique à l’aide de la méthode.fit(). - Générez et affichez l’estimation de la VaR à 95 % à partir de la distribution ajustée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)