CommencezCommencez gratuitement

Calcul de la VaR et de l'ES pour une distribution normale

La fonction standard qnorm() calcule les quantiles d'une distribution normale à partir de la probabilité p, de la moyenne et de l'écart type, et peut donc servir à calculer la value-at-risk (VaR). La fonction ESnorm() du paquet QRM calcule la perte espérée (ES) pour une distribution normale à partir de la probabilité p, du paramètre de position mu et du paramètre d'échelle sd :

qnorm(p, mean = 0, sd = 1)
ESnorm(p, mu = 0, sd = 1)

Des valeurs numériques courantes pour p sont 0.95 et 0.99, correspondant à des niveaux de confiance de 95 % et 99 %.

Dans cet exercice, vous allez calculer et afficher la VaR et l'ES pour une distribution normale \(N(\mu, \sigma^2)\) de moyenne \(\mu\) et d'écart type \(\sigma\). Au passage, vous utiliserez de nouvelles fonctions pour générer des séquences et ajouter des droites à un graphique. Vous pouvez consulter leurs arguments en inscrivant ?seq et ?abline dans votre console.

Les variables mu et sigma contiennent la moyenne et l'écart type estimés des rendements de l'indice Dow Jones pour 2008-2009, fournis dans djx. Les trois objets sont disponibles dans votre espace de travail.

Cette activité fait partie du cours

Gestion des risques quantitatifs en R

Voir le cours

Instructions de l’exercice

  • Complétez seq() pour créer une séquence de 100 valeurs de x allant de \(-4\sigma\) à \(4\sigma\) et affectez-la à xvals.
  • Complétez dnorm() pour calculer la densité d'une distribution \(N(\mu, \sigma^2)\) en xvals et affectez-la à ndens.
  • Tracez ndens en fonction de xvals en utilisant type = "l".
  • Utilisez qnorm() et ESnorm() pour calculer la VaR à 99 % et l'ES à 99 % de la distribution et affectez-les à VaR99 et ES99, respectivement.
  • Complétez abline() pour créer des lignes verticales pour VaR99 et ES99, en rouge et en vert, respectivement.

Exercice interactif pratique

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

# Make a sequence of 100 x-values going from -4*sigma to 4*sigma
___ <- seq(from = -4*sigma, to = 4*sigma, length.out = ___)

# Compute the density of a N(mu, sigma^2) distribution at xvals
___ <- dnorm(___, mean = ___, sd = ___)

# Plot ndens against xvals


# Compute the 99% VaR and 99% ES of a N(mu, sigma^2) distribution
___ <- qnorm(___, mean = ___, sd = ___)
___ <- ESnorm(___, mu = ___, sd = ___)

# Draw vertical lines at VaR99 and ES99 in red and green
abline(v = ___, col = "red")
abline(v = ___, col = "green")
Modifier et exécuter le code