Solved – get very different results estimating GARCH-M model in EViews and R (rugarch)

arfimaeviewsgarchrtime series

I'm dealing with a GARCH-M model that I've estimated using R and EViews. Here are its mean and variance equations.

Mean equation:

$$ y_t=\mu + \rho \sigma^2_t + \varepsilon_t $$

Variance equation:

$$ \sigma^2_t = \omega + \alpha \varepsilon_{t-1}^2 + \beta \sigma^2_{t-1} + T$$

where T is a dummy variable containing 0 and 1 to indicate structural change.

Here is my EViews result:

eviews result http://s25.postimg.org/m8gc8y6ql/eviews_result.jpg

And my R code is as follows:

#get data
re=read.table("return.csv",sep=",",header=TRUE)
......
xts<-as.xts(re[,-1],order.by=re[,1])
......
T<- as.matrix(xts[,2])

#GARCH specification
garchspec<- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), 
                       submodel = NULL, external.regressors = T, 
                       variance.targeting = FALSE), 
                       mean.model = list(armaOrder = c(0, 0), include.mean = TRUE,
                       archm = TRUE, archpow = 1, arfima = FALSE, 
                       external.regressors = NULL, archex = FALSE), 
                       distribution.model = "ged",
                       start.pars = list(), fixed.pars = list())

#fitting
fit<-ugarchfit(spec=garchspec, data=xts[,1], out.sample = 0,solver="solnp",
               solver.control = list(trace=0), fit.control = 
               list(stationarity = 1, fixed.se = 0, scale = 0, rec.init = 0.7))
show(fit)

It gives these results:

R result http://s25.postimg.org/ai2erkdy5/R_result.jpg

As you can see, the dummy variable (denoted by vxreg1) is totally insignificant using rugarch in R contrary to a 2.58% p-value in the EViews result. Other estimates have some differences with their counterparts, but they are all minor.

I checked the vignette of rugarch package for many times and cannot find any mistakes in the syntax, and R didn't show any error as well. I wonder what the problem is.
I really appreciate it if you can solve my problem.

Best Answer

This is quiet old thread and screenshots are not available anymore, but probably somebody will find my comment usefull.

According to the mean equation we're dealing with GARCH-M which has $σ^2_t$ in mean equation. But topicstarter specified ARCH-M in ugarchspec() which has $σ_t$ in mean. To specify GARCH-M one should not only include parameter archm = TRUE inside of ugarchspec(mean.model = list(...)), but also archpow = 2.