原文链接:http://tecdat.cn/?p=3817 

风险价值(VaR)及其所有相关问题仍然是风险管理中的主要模式。风险价值的一个关键问题是它没有适当地考虑波动率,这意味着危机期间风险被低估。

解决这个问题的一个强有力的方法是将VaR与GARCH模型结合起来考虑条件波动性。为了说明这种方法,我们将一个正态分布的GARCH(1,1)应用于瑞士股票市场指数SMI。

##Initialisation#Load Packageslibrary(fImport)library(fPortfolio)library(ggplot2)#Inputsfrom = "1995-11-20"to = "2015-12-17"symbol = "^SSMI"#Get Data from YahooTS <- yahooSeries(symbol, from = from, to = to)SMI <- TS[,ncol(TS)]SMI <- returns(SMI, method = "continuous")#Plot SMI ReturnsseriesPlot(TS[,4])

从Yahoo获取数据

histPlot(SMI, main = "SMI Returns")

模型估计

SMI返回的数据有5078个观测值。我使用前3078个观察值对GARCH模型进行初始估计。其余的2000个观测值用于验证和测试。

library(rugarch)library(zoo)SMIdf <- as.data.frame(SMI)#GARCH#GARCH Spec - (Change Distribution here)gspec11 <- ugarchspec(variance.model = list(model = "sGARCH",                       garchOrder = c(1, 1)),                      mean.model=list(armaOrder=c(0,0),                       include.mean = FALSE),                       distribution="norm")

结果

#VaR Plotplot(Returns, type = "l", pch = 16, cex = 0.8,  col = gray(0.2, 0.5),     ylab = "Returns", main = "95% VaR Forecasting", xaxt = "n")

从图中我们可以看到,VaR-GARCH(黑线)组合更加现实,降低了发生波动集群时的VAR限制,而对于静态VaR(红线),我们观察到了连续极限突破。