Obliczanie VaR i ES dla rozkładu normalnego
Standardowa funkcja qnorm() oblicza kwantyle rozkładu normalnego na podstawie prawdopodobieństwa p, średniej i odchylenia standardowego – można jej zatem używać do wyznaczania wartości zagrożonej (VaR). Funkcja ESnorm() z pakietu QRM oblicza oczekiwany niedobór (ES) dla rozkładu normalnego na podstawie prawdopodobieństwa p, parametru położenia mu i parametru skali sd:
qnorm(p, mean = 0, sd = 1)
ESnorm(p, mu = 0, sd = 1)
Typowe wartości parametru p to 0,95 i 0,99, odpowiadające poziomom ufności 95% i 99%.
W tym ćwiczeniu obliczysz i zwizualizujesz VaR oraz ES dla rozkładu normalnego \(N(\mu, \sigma^2)\) o średniej \(\mu\) i odchyleniu standardowym \(\sigma\). Przy okazji skorzystasz z nowych funkcji do generowania sekwencji i dodawania prostych pionowych linii do wykresu. Argumenty tych funkcji możesz sprawdzić, wpisując w konsoli ?seq i ?abline.
Zmienne mu i sigma zawierają oszacowaną średnią oraz odchylenie standardowe stóp zwrotu indeksu Dow Jones za lata 2008–2009, zapisanych w obiekcie djx. Wszystkie trzy obiekty są dostępne w twoim środowisku.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w R
Instrukcje do ćwiczenia
- Uzupełnij wywołanie
seq(), aby wygenerować sekwencję 100 wartości x od \(-4\sigma\) do \(4\sigma\), i przypisz wynik doxvals. - Uzupełnij wywołanie
dnorm(), aby obliczyć gęstość rozkładu \(N(\mu, \sigma^2)\) w punktachxvals, i przypisz wynik dondens. - Narysuj wykres
ndensw funkcjixvals, używająctype = "l". - Użyj
qnorm()iESnorm(), aby obliczyć 99% VaR i 99% ES dla tego rozkładu, i przypisz wyniki odpowiednio doVaR99iES99. - Uzupełnij wywołanie
abline(), aby dodać pionowe linie dlaVaR99iES99– odpowiednio w kolorze czerwonym i zielonym.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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")