R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-2
https://developer.aliyun.com/article/1489390
VaR预测
该 ugarchroll 方法允许执行的模型/数据集组合的滚动估计和预测。它返回计算预测密度的任何所需度量所需的分布预测参数。我们将最后 500 个观测值设置为测试集,并对条件标准偏差进行滚动移动 1 步预测, . 我们每 50 次观察重新估计 GARCH 参数。
roll = garhrol(spec = model.spec ) #测试集 500 个观察 mean(ret) + rolldesiy\[,'Siga'\]*qdist(dis='std',
回测
让 是 T 期间股票收益率低于 VaR 估计值的天数,其中如果 It 为 1, 和 如果 , It 为 0 . 因此,N 是样本中观察到的异常数。正如 Kupiec (1995) 所论证的那样,失败数遵循二项式分布 B(T, p)。
for(i in 1:50 p\[i\]= (pbinom(q = (i-1 ) - pbinom(q )) qplot(y = p )
上图表示由二项式分布给出的异常概率分布。预期数量为 25 (=500obs. x 5%)。两条红线表示 95% 的置信水平,较低的是 16 ,较高的是 35。因此,当我们检查测试集上的异常时,我们期望 16 到 35 之间的数字表明 GARCH 模型预测成功。
plot(VaR95, geom = 'line') + geom_point
黑线代表 GARCH 模型给出的每日预测 VaR,红点代表低于 VaR 的收益率。最后一步是计算异常的数量,并将其与使用 delta-normal 方法生成的异常进行比较。
cat('delta-normal 方法的异常数:', (sum(rets\[759:1258\] < (mean(r\]
正如我们之前所说,我们预计 delta-normal 方法会高估风险。回测时,只有 14 倍的收益率低于 VaR 低于 95% 显着性水平 (<16)。另一方面,在这种特殊情况下,GARCH 方法(23 个例外)似乎是一种有效的预测工具。
参考
Angelidis T., Benos A. and Degiannakis S. (December 2003). The Use of GARCH Models in VaR Estimation.