[R-SIG-Finance] rugarch - VaRloss, VaRTest and ESTest

alexios galanos alexios at 4dscape.com
Sat Dec 16 05:20:55 CET 2017


Hi Rafael,

VaRloss and VaRTest take the realized and conditional quantiles, whilst 
the ESTest takes the realized, conditional expected shortfall and 
conditional quantiles (as the help file example shows).

Here is a short script showing how VaRloss can be used:

################################################################
# ideally you want to test many models with different distributions
# for this example
library(xts)
library(rugarch)
data("sp500ret")
R = xts(as.numeric(sp500ret[,1]), as.Date(rownames(sp500ret)))
spec<-vector(mode="list", length=2)
spec[[1]]<-ugarchspec(mean.model = list(armaOrder=c(2,1)),
            variance.model=list(model="sGARCH"))
spec[[2]]<-ugarchspec(mean.model = list(armaOrder=c(2,1)),
                         variance.model=list(model="gjrGARCH"))

fitlist = vector(mode="list", length = 2)
for(i in 1:2){
tmp = ugarchroll(spec[[i]], R, n.ahead = 1, forecast.length = 1500, 
refit.every  = 50,refit.window = "moving", windows.size = 1500, solver = 
"hybrid",calculate.VaR = FALSE, keep.coef = FALSE)
if(!is.null(tmp at model$noncidx)){
tmp = resume(tmp, solver = "solnp", fit.control = list(scale=1),
solver.control = list(tol=1e-7, delta=1e-6), cluster = cluster)
if(!is.null(tmp at model$noncidx)) fitlist[[i]] = NA
} else{
fitlist[[i]] = as.data.frame(tmp, which  = "density")
}
}
## The cost of misspecification using VaR
qx1 = qx5 = matrix(NA, ncol = 2, nrow = 1500)
for(i in 1:2){
qx5[,i] = as.numeric(apply(fitlist[[i]], 1, function(x) qdist("norm", 
0.05, mu = x["Mu"],sigma = x["Sigma"], skew = x["Skew"], shape = 
x["Shape"])))
qx1[,i] = as.numeric(apply(fitlist[[i]], 1, function(x) qdist("norm", 
0.01, mu = x["Mu"],sigma = x["Sigma"], skew = x["Skew"], shape = 
x["Shape"])))
}
VL5 = apply(qx5, 2, function(x) VaRloss(0.05, fitlist[[1]][,"Realized"], x))
test <- mcsTest(VL5, 0.05, 5000, 1, "stationary")
################################################################

Regards,

Alexios

On 12/15/2017 4:09 AM, Rafael Bressan wrote:
> Hello,
> 
> someone, maybe Alexios even, could confirm what are the arguments to these
> functions?
> 
> I suspect that VaRloss and VaRTest the inputs are the actual realized
> RETURNS and corresponding lower quantiles for VaR,
> 
> while to ESTest it seems to be the opposite, the actual LOSSES and
> corresponding higher quantiles.
> 
> I checked the source code but still in doubt.
> 
> Thanks,
> Rafael
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.
>



More information about the R-SIG-Finance mailing list