ComeçarComece de graça

Calculando VaR e ES para a distribuição normal

A função padrão qnorm() calcula quantis de uma distribuição normal a partir da probabilidade p, da média e do desvio padrão, e pode ser usada para calcular o value-at-risk (VaR). A função ESnorm() do pacote QRM calcula o expected shortfall (ES) para uma distribuição normal a partir da probabilidade p, do parâmetro de posição mu e do parâmetro de escala sd:

qnorm(p, mean = 0, sd = 1)
ESnorm(p, mu = 0, sd = 1)

Valores numéricos comuns para p incluem 0,95 e 0,99 para níveis de confiança de 95% e 99%, respectivamente.

Neste exercício, você vai calcular e exibir o VaR e o ES para uma distribuição normal \(N(\mu, \sigma^2)\) com média \(\mu\) e desvio padrão \(\sigma\). No processo, você vai usar as novas funções para geração de sequências e para adicionar retas a um gráfico. Você pode ler sobre seus argumentos digitando ?seq e ?abline no seu console.

As variáveis mu e sigma contêm a média e o desvio padrão estimados dos retornos do índice Dow Jones para 2008-2009 contidos em djx. Os três objetos estão disponíveis no seu ambiente de trabalho.

Este exercício faz parte do curso

Gerenciamento de Risco Quantitativo em R

Ver curso

Instruções do exercício

  • Preencha seq() para criar uma sequência de 100 valores de x indo de \(-4\sigma\) a \(4\sigma\) e atribua a xvals.
  • Preencha dnorm() para calcular a densidade de uma distribuição \(N(\mu, \sigma^2)\) em xvals e atribua a ndens.
  • Plote ndens contra xvals usando type = "l".
  • Use qnorm() e ESnorm() para calcular o VaR de 99% e o ES de 99% da distribuição e atribua a VaR99 e ES99, respectivamente.
  • Preencha abline() para criar linhas verticais para VaR99 e ES99 em vermelho e verde, respectivamente.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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")
Editar e executar o código