시작하기무료로 시작하기

정규분포의 VaR와 ES 계산하기

표준 함수 qnorm()은 확률 p, 평균, 표준편차를 받아 정규분포의 분위수를 계산하므로 Value-at-Risk(VaR) 계산에 사용할 수 있습니다. QRM 패키지의 ESnorm() 함수는 확률 p, 위치 모수 mu, 척도 모수 sd를 받아 정규분포의 Expected Shortfall(ES)을 계산합니다:

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

신뢰수준 95%와 99%에 대해 p의 일반적인 값은 각각 0.95와 0.99입니다.

이번 연습에서는 평균이 \(\mu\), 표준편차가 $\sigma$인 정규분포 $N(\mu, \sigma^2)$의 VaR과 ES를 계산하고 시각화합니다. 이 과정에서 수열 생성과 그래프에 직선을 추가하는 새 함수를 사용해 볼 거예요. 각 함수의 인자는 콘솔에 ?seq, ?abline을 입력해 확인할 수 있습니다.

변수 musigma에는 djx에 포함된 2008-2009년 다우존스 지수 수익률의 추정 평균과 표준편차가 저장되어 있습니다. 세 객체 모두 작업 공간에 준비되어 있어요.

이 연습은 강의의 일부입니다

R로 배우는 계량적 위험 관리(Quantitative Risk Management)

강의 보기

연습 안내

  • seq()를 채워서 $-4\sigma$부터 $4\sigma$까지의 구간을 100개의 x 값으로 만드는 수열을 생성하고 xvals에 할당하세요.
  • dnorm()을 채워서 xvals에서의 \(N(\mu, \sigma^2)\) 분포의 밀도를 계산해 ndens에 할당하세요.
  • type = "l"을 사용해 ndensxvals에 대해 플롯하세요.
  • qnorm()ESnorm()을 사용해 분포의 99% VaR과 99% ES를 계산하고 각각 VaR99ES99에 할당하세요.
  • abline()을 채워 VaR99ES99에 대한 수직선을 각각 빨간색과 초록색으로 그리세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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")
코드 편집 및 실행