ugarchfit(rugarch包)的残差结果很奇怪

时间:2019-01-09 00:11:55

标签: r

我有一个代码,该代码使用循环从fGarch包下的不同拟合Garch模型中提取并保存AIC和残差(在单独的列表中)。该代码工作正常。 然后,我需要在代码中添加EGarch模型,因为fGarch无法运行EGarch,所以我使用rugarch包。 日期列已从数据中排除。 AIC列表应该有17个变量(因为我的数据有17个变量),但它仅显示6个变量(即使列表中的参数看起来正确,甚至参数数也显示17,但是在环境中,它显示6 )。与剩余列表相同。

当我不包括使用rugarch软件包的拟合模型时,代码起作用。因此,我用一个序列手动运行Egarch模型,发现残差看起来很奇怪。它显示如下:

1970-04-25 08:00:00 -2.817160e-03
1970-04-26 08:00:00 -3.876353e-03

我的数据不包含日期,据称我的数据中的正确日期是2012年至2017年。这里有一篇文章提到rugarch在xts对象上的效果更好,并且无法正确识别其他对象上的日期。但是,我的数据不包括日期列。如果有人能让我知道结果/代码出了什么问题,我非常感谢。

PreGFC=read.csv("PreGFCdata.csv")
library(fGarch)
library(rugarch)
pregfc=PreGFC[,-1] #exclude the date column
pregfc=na.omit(pregfc) 
resid1=list()
aic1=list()
model1=list()

for (i in (1:length(pregfc[1,]))){
  k.log<-pregfc[,i]

  k.log.garch<-garchFit(~garch(1,1),data=k.log,cond.dist="ged",trace=FALSE)
  k.log.arma10garch<-garchFit(~arma(1)+garch(1,1),data=k.log, cond.dist="ged",trace=FALSE)
  k.log.arma11garch<-garchFit(~arma(1,1)+garch(1,1),data=k.log, cond.dist="ged",trace=FALSE)
  k.log.arma01garch<-garchFit(~arma(0,1)+garch(1,1),data=k.log,cond.dist="ged",trace=FALSE)
  k.log.egarch<-ugarchfit(ugarchspec(variance.model = list(model = "eGARCH", garchOrder = c(1,1)),distribution.model="sged"), data=k.log)

  resid1[[i]]=cbind(residuals(k.log.garch,standardize = TRUE),residuals(k.log.arma10garch, standardize = TRUE),residuals(k.log.arma11garch, standardize = TRUE),residuals(k.log.arma01garch, standardize = TRUE),residuals(k.log.egarch,standardize = TRUE))
    aic1[[i]]=cbind(k.log.garch@fit$ics[1],k.log.arma10garch@fit$ics[1],k.log.arma11garch@fit$ics[1],k.log.arma01garch@fit$ics[1],infocriteria(k.log.egarch)[1])
  model1[[i]]=cbind(k.log.garch@sigma.t,k.log.arma10garch@sigma.t,k.log.arma11garch@sigma.t,k.log.arma01garch@sigma.t, sigma(k.log.egarch))
    }

在环境中,aic1显示“ 6的列表”,而它应该是“ 17的列表”。与resid1相同。但是,当我打开aic1列表时,结果与没有Egarch模型的结果完全相同,如下所示:

       list [[17]]    List of length 17
[[1]]  double [1x4]   -7.75 -7.75 -7.75 -7.75
...
[[17]] double [1x4]   -8.12 -8.12 -8.12 -8.12

0 个答案:

没有答案