開始使用免費開始

計算常態分配的 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 查看它們的引數說明。

變數 musigma 分別包含 djx 中道瓊指數在 2008–2009 年的報酬率之估計平均數與標準差。這三個物件都已在你的工作環境中可用。

本練習屬於課程

R 的量化風險管理

檢視課程

練習說明

  • 補上 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")
編輯並執行程式碼