Výpočet VaR a ES pro normální rozdělení
Standardní funkce qnorm() počítá kvantily normálního rozdělení na základě pravděpodobnosti p, střední hodnoty a směrodatné odchylky – lze ji tedy využít k výpočtu hodnoty v riziku (VaR). Funkce ESnorm() z balíčku QRM počítá očekávaný nedostatek (ES) pro normální rozdělení z pravděpodobnosti p, parametru polohy mu a parametru měřítka sd:
qnorm(p, mean = 0, sd = 1)
ESnorm(p, mu = 0, sd = 1)
Běžné hodnoty parametru p jsou 0,95 a 0,99, odpovídající hladinám spolehlivosti 95 % a 99 %.
V tomto cvičení vypočítáš a zobrazíš VaR a ES pro normální rozdělení \(N(\mu, \sigma^2)\) se střední hodnotou \(\mu\) a směrodatnou odchylkou \(\sigma\). Při tom využiješ nové funkce pro generování posloupností a přidávání svislých čar do grafu. Jejich argumenty si můžeš přečíst zadáním ?seq a ?abline do konzole.
Proměnné mu a sigma obsahují odhadnutou střední hodnotu a směrodatnou odchylku výnosů indexu Dow Jones za roky 2008–2009 uložených v djx. Všechny tři objekty máš k dispozici ve svém pracovním prostředí.
Toto cvičení je součástí kurzu
Kvantitativní řízení rizik v R
Pokyny k cvičení
- Doplň
seq()tak, aby vznikla posloupnost 100 hodnot x od \(-4\sigma\) do \(4\sigma\), a výsledek přiřaď doxvals. - Doplň
dnorm()pro výpočet hustoty rozdělení \(N(\mu, \sigma^2)\) v bodechxvalsa výsledek přiřaď dondens. - Vykresli
ndensoprotixvalss použitímtype = "l". - Pomocí
qnorm()aESnorm()vypočítej 99% VaR a 99% ES tohoto rozdělení a výsledky přiřaď doVaR99, resp.ES99. - Doplň
abline()pro vykreslení svislých čar odpovídajícíchVaR99aES99– červenou, resp. zelenou barvou.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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")