I'm currently playing around with the great rugarch package in R. However, I tried to test the external regressor functionality. I implemented a GARCH(1,1) process and compared it with a GARCH(0,1) process where I added the lagged squared returns as external regressor. The results should be the same but aren't. Does anyone of you know where my mistake is? Thank you very much in advance for your help.
library(rugarch) library(quantmod) getSymbols('C', from = '2000-01-01') C = adjustOHLC(C, use.Adjusted = TRUE) R_d = ROC(Cl(C), na.pad = FALSE) extReg = R_d[1:length(R_d)-1]^2 spec = ugarchspec(mean.model = list(armaOrder = c(0, 0),include.mean = FALSE), variance.model = list(model = 'sGARCH', garchOrder = c(1, 1)), distribution = 'norm') spec2 = ugarchspec(mean.model = list(armaOrder = c(0, 0),include.mean = FALSE), variance.model = list(model = 'sGARCH', garchOrder = c(0, 1),external.regressors=extReg), distribution = 'norm') fit = ugarchfit(data = R_d[2:length(R_d),1], spec = spec) fit2 = ugarchfit(data = R_d[2:length(R_d),1], spec = spec2)
The coefficients of the fit model are:
omega: 2.1038530309075e-06 alpha1: 0.0863073049030114 beta1: 0.912692551076183
The coefficients of the fit2 model are:
omega: 8.17097079205033e-07 beta1: 0.999316873189476 vxreg1: 1.01005006640392e-08