CommencerCommencez gratuitement

CVaR et choix de la couverture des pertes

Dans les exercices précédents, vous avez vu que les distributions T et Gaussian KDE ajustent plutôt bien les pertes de portefeuille pendant la période de crise. Dès lors, laquelle est la plus adaptée à la gestion du risque ? Une façon de choisir consiste à retenir la distribution qui fournit la plus grande couverture des pertes, afin de couvrir le « pire des scénarios du pire cas ».

Les distributions t et kde sont disponibles et ont été ajustées sur les losses du portefeuille de 2007–2008 (les paramètres ajustés de t sont dans p). Vous allez calculer l’estimation du CVaR à 99 % sur un jour pour chaque distribution ; la plus grande estimation de CVaR est alors le montant de réserve le plus « sûr » à détenir, couvrant les pertes attendues au-delà de la VaR à 99 %.

L’instance kde dispose d’une méthode spéciale .expect(), uniquement pour cet exercice, afin de calculer la valeur espérée nécessaire au CVaR.

Cet exercice fait partie du cours

<cours>Gestion quantitative des risques en Python</cours>
Voir le cours

Instructions de l’exercice

  • Trouvez la VaR à 99 % en utilisant np.quantile() appliquée à des échantillons aléatoires tirés des distributions t et kde.
  • Calculez l’intégrale requise pour les estimations de CVaR à l’aide de la méthode .expect() pour chaque distribution.
  • Calculez et affichez les estimations de CVaR à 99 % pour les deux distributions.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Find the VaR as a quantile of random samples from the distributions
VaR_99_T   = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)

# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T   = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)

# Create the 99% CVaR estimates
CVaR_99_T   = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE

# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)
Modifier et exécuter le code