風險管理
執行 GPD 擬合需要多少數據點?
我的一個朋友告訴我,他們的公司正在使用極值理論(EVT) 來計算其資產配置過程中投資組合 99%的預期缺口的價值。為此,他們嘗試使用其投資組合的歷史樣本來擬合廣義帕累托分佈的參數,並使用一個公式來獲得 $ ES_{0.99} $ .
但是,我他們使用的是每月數據點,這意味著樣本的大小非常(非常)有限。當我問到執行擬合所需的最小點數是多少時,我被告知他們的算法要求至少 10 個點。
我想知道
- 如果這樣就足夠了嗎?
- 在給定樣本的給定大小的情況下,我們如何計算某種定量值來指示擬合的“錯誤程度” $ N $ ? (這種方法可能特定於 GPD,但當然通用方法會很棒)。
玩弄一些來自 GPD 的隨機數,我不相信 10 個樣本會給出任何有用的結果。
生成的程式碼是
require("gPdtest") reps = 10000 ValuesAct = rgp(reps, 0.5,0.5) plot(density(ValuesAct)) quantile(ValuesAct, probs=0.999) loops = 10000 results = matrix(rep(NA,2*loops), ncol = 2) colnames(results) = c("shape", "scale") for(i in 1:loops) { ValuesSample = sample(ValuesAct,10,replace=F) results[i,] = gpd.fit(ValuesSample, "amle") } plot(density(results[,2])) lines(density(results[,1]), col = "green") abline(v=0.5) legend("topright", c("Shape", "Scale"), col = c("green", "black"), lwd=1)
給定一個樣本,您可以估計參數併計算這些估計的標準偏差。你可以用它來衡量質量。
僅在給定樣本量的情況下創建度量 $ N $ 對我來說似乎很難,因為估計的質量可能取決於參數的值。