ÎncepețiÎncepe gratuit

Calculul VaR și ES pentru distribuția normală

Funcția standard qnorm() calculează cuantilele unei distribuții normale pe baza probabilității p, a mediei și a abaterii standard, putând fi astfel utilizată pentru a calcula value-at-risk (VaR). Funcția ESnorm() din pachetul QRM calculează expected shortfall (ES) pentru o distribuție normală, pe baza probabilității p, a parametrului de localizare mu și a parametrului de scală sd:

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

Valorile numerice uzuale pentru p sunt 0,95 și 0,99, corespunzând nivelurilor de încredere de 95%, respectiv 99%.

În acest exercițiu, vei calcula și vei reprezenta grafic VaR și ES pentru o distribuție normală \(N(\mu, \sigma^2)\) cu media \(\mu\) și abaterea standard \(\sigma\). Pe parcurs, vei folosi funcții noi pentru generarea de secvențe și pentru adăugarea de linii drepte într-un grafic. Poți afla mai multe despre argumentele lor tastând ?seq și ?abline în consolă.

Variabilele mu și sigma conțin media estimată și abaterea standard a randamentelor indicelui Dow Jones pentru perioada 2008-2009, stocate în djx. Toate cele trei obiecte sunt disponibile în spațiul tău de lucru.

Acest exercițiu face parte din cursul

Managementul Cantitativ al Riscului în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează seq() pentru a genera o secvență de 100 de valori pe axa x, de la \(-4\sigma\) la \(4\sigma\), și atribuie-o variabilei xvals.
  • Completează dnorm() pentru a calcula densitatea distribuției \(N(\mu, \sigma^2)\) în punctele xvals și atribuie rezultatul variabilei ndens.
  • Reprezintă grafic ndens față de xvals folosind type = "l".
  • Folosește qnorm() și ESnorm() pentru a calcula VaR 99% și ES 99% ale distribuției și atribuie rezultatele variabilelor VaR99, respectiv ES99.
  • Completează abline() pentru a adăuga linii verticale pentru VaR99 și ES99, în roșu, respectiv verde.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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")
Editează și rulează codul