1
$\begingroup$

I estimated 5 different garch models using rugarch package as:

spec1 <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1,1)), 
                mean.model = list(armaOrder = c(1,1), include.mean = T), 
                distribution.model = "norm", fixed.pars = list(ar1 = 0.6038, ma1 = -0.6701, mu = 2e-04))
spec2 <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1,1)), 
                mean.model = list(armaOrder = c(1,1), include.mean = T), 
                distribution.model = "std", fixed.pars = list(ar1 = 0.6038, ma1 = -0.6701, mu = 2e-04, omega = 0))
spec3 <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1,1)), 
                mean.model = list(armaOrder = c(1,1), include.mean = T), 
                distribution.model = "ged", fixed.pars = list(ar1 = 0.6038, ma1 = -0.6701, mu = 2e-04, omega = 0))
spec4 <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1,1)), 
                mean.model = list(armaOrder = c(1,1), include.mean = T), 
                distribution.model = "sstd", fixed.pars = list(ar1 = 0.6038, ma1 = -0.6701, mu = 2e-04, omega = 0))
spec5 <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1,1)), 
                mean.model = list(armaOrder = c(1,1), include.mean = T), 
                distribution.model = "nig", fixed.pars = list(ar1 = 0.6038, ma1 = -0.6701, mu = 2e-04, omega = 0)).
norfitt <- ugarchfit(spec1, ret, out.sample = 250, solver = "solnp", 
                    fit.control = list(stationarity = 1), rec.int = "all")
stdfitt <- ugarchfit(spec2, ret, out.sample = 250, solver = "solnp", 
                fit.control = list(stationarity = 1), rec.int = "all")
gefitt <- ugarchfit(spec3, ret, out.sample = 250, solver = "solnp", 
               fit.control = list(stationarity = 1), rec.int = "all")
sstdfitt <- ugarchfit(spec4, ret, out.sample = 250, solver = "solnp", 
                 fit.control = list(stationarity = 1), rec.int = "all")
nigfitt <- ugarchfit(spec5, ret, out.sample = 250, solver = "solnp", 
                fit.control = list(stationarity = 1), rec.int = "all").
garn.fcst = ugarchforecast(norfitt, n.roll=100, n.ahead=1)
garst.fcst = ugarchforecast(stdfitt, n.roll=100, n.ahead=1)
garsst.fcst = ugarchforecast(sstdfitt, n.roll=100, n.ahead=1)
garged.fcst = ugarchforecast(gefitt, n.roll=100, n.ahead=1)
garnig.fcst = ugarchforecast(nigfitt, n.roll=100, n.ahead=1)

And then:

fcst.list = list(garn=garn.fcst,
             garst=garst.fcst,
             garsst=garsst.fcst,
             garged=garged.fcst,
             garnig=garnig.fcst)
fpm.mat = sapply(fcst.list, fpm)
fpm.mat

Is it normal that I get exactly the same result?

as:  garn        garst       garsst      garged      garnig     
MSE 4.98334e-05 4.98334e-05 4.98334e-05 4.98334e-05 4.98334e-05
MAE 0.00549423  0.00549423  0.00549423  0.00549423  0.00549423 
DAC 0.5544554   0.5544554   0.5544554   0.5544554   0.5544554  
$\endgroup$

1 Answer 1

2
$\begingroup$

You have fixed the conditional mean model by specifying fixed.pars = list(ar1 = 0.6038, ma1 = -0.6701, mu = 2e-04). Since the forecast accuracy measures you are using measure the accuracy of the conditional mean forecasts, no wonder you are getting the same result; your conditional mean model is always the same. What is different among the different specifications is the conditional variance model, but you are not measuring its performance.

$\endgroup$
3
  • $\begingroup$ thanks! and how do I measure conditional variance performace? I have not found yet which R-function to use $\endgroup$
    – Alessandro
    Mar 1, 2016 at 15:11
  • $\begingroup$ Measuring the fit of conditional variance is nontrivial. Actually, most of the papers I have seen do not do that at all. But see Andersen, T.G. & T. Bollerslev (1998) Answering the skeptics: Yes, standard volatility models do provide accurate forecasts. International Economic Review, 39 (4), 885–905 for a methodology. $\endgroup$ Mar 1, 2016 at 15:20
  • $\begingroup$ @Alessandro, I was going through my old answers and noticed this one was not accepted. Do you perhaps need further clarification? $\endgroup$ Feb 12, 2017 at 11:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.