When regressing a variable on a constant of 1, the coefficient of this constant is the mean. However, when I specified that the residuals follow a GARCH(1,1) model, the coefficient of the constant does not anymore represent the mean in my model. In my opinion this makes no sense since the residuals are defined to have a mean of zero. The mu in the example below should be the same as the mean of R_d.
Small Example in R:
library(rugarch)
library(quantmod)
getSymbols('C', from = '2000-01-01')
C = adjustOHLC(C, use.Adjusted = TRUE)
R_d = ROC(Cl(C), na.pad = FALSE)
mean(R_d)
-0.000436420257283668
spec = ugarchspec(mean.model = list(armaOrder = c(0, 0)), variance.model = list(model = 'sGARCH', garchOrder = c(1, 1)), distribution = 'norm')
fit = ugarchfit(data = R_d, spec = spec)
coef(fit)
mu: 0.000430648533256351
omega: 2.11481883824743e-06
alpha1: 0.0871525584932368
beta1: 0.911847414938857
For egarch or gjr, I get also different results for mu..