計算常態分配的 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)
常見的 p 數值包括 0.95 與 0.99,分別對應 95% 與 99% 的信賴水準。
在這個練習中,你將為常態分配 $N(\mu, \sigma^2)\((平均數為 \)\mu\(、標準差為 \)\sigma$)計算並顯示 VaR 與 ES。過程中,你會使用產生序列與在圖上加入直線的新函式。你可以在主控台輸入 ?seq 與 ?abline 查看它們的引數說明。
變數 mu 與 sigma 分別包含 djx 中道瓊指數在 2008–2009 年的報酬率之估計平均數與標準差。這三個物件都已在你的工作環境中可用。
本練習屬於課程
R 的量化風險管理
練習說明
- 補上
seq(),產生從 \(-4\sigma\) 到 \(4\sigma\) 的 100 個 x 值序列,指定給xvals。 - 補上
dnorm(),在xvals計算 \(N(\mu, \sigma^2)\) 分配的機率密度,指定給ndens。 - 使用
type = "l"繪製ndens對xvals的圖。 - 使用
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")