Вычисление VaR и ES для нормального распределения
Стандартная функция qnorm() вычисляет квантили нормального распределения по вероятности p, среднему значению и стандартному отклонению — и, таким образом, позволяет рассчитать стоимость под риском (VaR). Функция ESnorm() из пакета QRM вычисляет ожидаемые потери сверх порога (ES) для нормального распределения по вероятности p, параметру положения mu и параметру масштаба sd:
qnorm(p, mean = 0, sd = 1)
ESnorm(p, mu = 0, sd = 1)
Типичные значения p — 0,95 и 0,99, соответствующие доверительным уровням 95% и 99%.
В этом упражнении вы вычислите и визуализируете VaR и ES для нормального распределения \(N(\mu, \sigma^2)\) со средним \(\mu\) и стандартным отклонением \(\sigma\). В процессе работы вы воспользуетесь новыми функциями для генерации последовательностей и нанесения вертикальных линий на график. Ознакомиться с их аргументами можно, введя ?seq и ?abline в консоль.
Переменные mu и sigma содержат оценённые среднее и стандартное отклонение доходностей индекса Dow Jones за 2008–2009 годы, хранящихся в djx. Все три объекта доступны в вашем рабочем пространстве.
Это упражнение является частью курса
Количественное управление рисками в R
Инструкции к упражнению
- Заполните
seq(), чтобы сгенерировать последовательность из 100 значений по оси X в диапазоне от \(-4\sigma\) до \(4\sigma\), и присвойте результат переменнойxvals. - Заполните
dnorm(), чтобы вычислить плотность распределения \(N(\mu, \sigma^2)\) в точкахxvals, и присвойте результат переменнойndens. - Постройте график
ndensв зависимости отxvals, используяtype = "l". - С помощью
qnorm()иESnorm()вычислите 99%-й VaR и 99%-й ES этого распределения и присвойте результаты переменнымVaR99иES99соответственно. - Заполните
abline(), чтобы добавить на график вертикальные линии дляVaR99иES99— красную и зелёную соответственно.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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")