我的logreturn 一共2398个观测值,想要用1-250个数据预测251,然后2-251预测252这样做
#我下面先写了普通的预测一步
sample.FTSE<- logreturn.FTSE[1:250]
model.garch<- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE),
mean.model = list(armaOrder = c(0, 0), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE),
distribution.model = "norm")
fit.garch.FTSE<- ugarchfit(spec=model.garch,data=sample.FTSE)
coef(fit.garch.FTSE)
sigma(fit.garch.FTSE)
forecast.garch.FTSE<- ugarchforecast(fit.garch.FTSE,n.ahead=1,data=sample.FTSE)
t(sigma(forecast.garch.FTSE))
fitted(forecast.garch.FTSE
#下面是用n.roll指令写的,从没用过所以有点问题,在预测251时预测值一致,当我调整上面方法样本到【2,251】的时候与这边第二种的第二个预测值不符合,我这样设置出来的是不是不是rolling.window
model.garch<- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE),
mean.model = list(armaOrder = c(0, 0), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE),
distribution.model = "norm")
fit.garch.FTSE<- ugarchfit(spec=model.garch,data=logreturn.FTSE,out.sample = 2147)
coef(fit.garch.FTSE)
sigma(fit.garch.FTSE)
forecast.garch.FTSE<- ugarchforecast(fit.garch.FTSE, n.ahead = 1, n.roll = 2146, data = logreturn.FTSE, out.sample = 2147);
a<- t(sigma(forecast.garch.FTSE))
fitted(forecast.garch.FTSE)