试图自动化garch估计的循环

时间:2015-01-13 13:09:31

标签: r loops

我正在使用函数ugarchfit(包:rugarch)。 我制作了一个脚本来估计不同的garch模型,但有时模型不会收敛。

我的脚本如下:

#bdd contains 5 exogeneous variables
for(i in 1:5)
 {
  specification<-ugarchspec(variance.model=list(garchOrder=c(1,1)), mean.model=list(armaOrder=c(1,1), external.regressors=bdd[,i])
  fitting<-ugarchfit(specification, out.sample=0)
 }

我希望我的循环在收敛问题时不会停止,而是继续到下一个索引。

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题,但是您必须编写逻辑来处理其他类型的错误:

for(i in 1:5)
{
  specification <- suppressWarnings(
                     tryCatch(
                       ugarchspec(variance.model=list(garchOrder=c(1,1)), 
                                  mean.model=list(armaOrder=c(1,1), external.regressors=bdd[,i]))
                       error = function(x) return(NA))
  )
  fitting <- suppressWarnings(
    tryCatch(
      ugarchfit(specification, out.sample=0)
      error = function(x) return(NA))
  )
}