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
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 variabileixvals. - Completează
dnorm()pentru a calcula densitatea distribuției \(N(\mu, \sigma^2)\) în punctelexvalsși atribuie rezultatul variabileindens. - Reprezintă grafic
ndensfață dexvalsfolosindtype = "l". - Folosește
qnorm()șiESnorm()pentru a calcula VaR 99% și ES 99% ale distribuției și atribuie rezultatele variabilelorVaR99, respectivES99. - Completează
abline()pentru a adăuga linii verticale pentruVaR99șiES99, î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")