蒙特卡羅

如何計算 Monte Calo VaR 估計誤差

  • February 26, 2014

我正在執行蒙特卡羅來計算風險值(具有 3 維風險因子)現在,我想計算 VaR 相對於模擬次數的估計誤差(用尊重模擬次數)

VaR 的誤差公式是什麼?

  1. 做 $ N $ MC模擬 $ M $ 樣本,計算每個樣本的 VaR 估計值 $ {\widehat{VaR}i}{i=1}^N $ 你現在有了一個 IID 樣本!
  2. 取樣本(或無偏的)標準差來估計 VaR(這可能就是你所說的錯誤) $ SD(\widehat{VaR})=\sqrt{\frac{1}{N-1} \sum_{i=1}^N (\widehat{VaR}i - \overline{VaR})^2} $ 而且當然 $ \overline{VaR}=\frac{1}{N}\sum{i=1}^N\widehat{VaR}_i $
  3. 增加 $ M $ 得到你的情節,情節 $ M $ 反對 $ SD(\widehat{VaR}) $ 對於每個值 $ M \in [\underline{M}, \overline{M}] $ 你可能想使用類似的東西 $ \underline{M}=50 $ 和 $ \overline{M}=1000 $ 取決於應用程序。

編輯可能還有更容易處理的事情要做,但事實上 OP 已經在蒙地卡羅世界中,這就是蒙地卡羅的答案。

編輯 2

N = 1000
M = seq(50, 1000, by=10)

VaRstdevs = rep(0, length(M))

i=1
for(nscenarios in M) {
 varsample = rep(0, N)
 for(sim in 1:N) {
   samp = rnorm(nscenarios, 0, 0.3/sqrt(252)) # 30% annualized sd MC sim
   varsample[sim] = -1.0*quantile(samp, 0.05) # VaR 95%
 }
 VaRstdevs[i] = sd(varsample)
 i=i+1
}

plot(M, VaRstdevs)

MC VaR

假設您對路徑的回報實現 $ i $ 是 $ r_i = \beta\cdot f_i $ , 在哪裡 $ f_i=(f_{1i}, f_{2i}, f_{3i}) $ - 因素實現,和 $ \beta $ - 因子係數。所以,你的 VaR 是 $ VaR=percentile(r_i,\alpha) $ , 在哪裡 $ \alpha $ - 信心。

最簡單的蒙地卡羅停止準則是不斷添加路徑 $ i $ 並在不斷增長的樣本上計算 VaR,直到 VaR “停止變化”。例如,您可以跟踪最後 N 路徑期間 VaR 的 MAX 變化,並等待它變得小於所需的容差。

引用自:https://quant.stackexchange.com/questions/10346