全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 经管代码库
2657 2
2018-08-02
我的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)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-8-2 17:17:07
顶一下  求大神啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-7 05:05:45
rugarch包里面有个ugarchroll,可以设置forecast.length,refit.every和refit.window,不知道能不能解决你的问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群