НачатьНачать бесплатно

Вычисление 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")
Редактировать и запускать код