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 du portefeuille de la banque d'investissement de 2005 à 2010 donnait un piètre ajustement selon le test d'Anderson-Darling.
Vous allez maintenant 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 indiquent une distribution asymétrique.
Vous allez ensuite estimer de façon paramétrique la VaR à 95 % d'une distribution des 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 permet des pertes non symétriques. On peut s'attendre à de l'asymétrie pendant 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.
Cette activité fait partie du cours
Gestion quantitative des risques en Python
Instructions de l’exercice
- Importez
skewnormetskewtestdepuisscipy.stats. - Testez l'asymétrie dans les
lossesdu portefeuille à l'aide deskewtest. Le test indique une asymétrie si le résultat est statistiquement différent de zéro. - Ajustez les données
lossesà la distribution 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 ce code d’exemple.
# 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)