均值/方差的Rugarch外部回归

时间:2019-01-21 16:18:38

标签: r volatility

提供给external.regressors = ..的变量的正确格式是什么? 我的数据如下:

           regressor     dependent
2008-01-04         3  0.0243990059
2008-01-08         3  0.0057341705
2008-01-09         3  0.0047333058
2008-01-10         3  0.0003631741
2008-01-11         3 -0.0019384547
2008-01-14         3 -0.0016992358

我正在使用Rugarch包来估计均值和方差均带有外部回归变量的ARMA(2,0)-GARCH(1,1)进程。 由于(当然)我正在处理时间序列,因此我的数据被格式化为动物园。

如果我在此处提供Zoo变量:

garch.spec <- ugarchspec(
  variance.model = list(model="sGARCH", garchOrder = c(1,1), 
external.regressors = regressor),
  mean.model = list(armaOrder = c(2, 0), include.mean = TRUE),
)

我收到以下错误:

Error in modelinc[15] <- dim(variance.model$external.regressors)[2] : 
  replacement has length zero 

如果是I,则将回归变量指定为 external.regressors = as.matrix(coredata(regressor)) 错误没有出现,我可以使用

估计模型
ugarchfit(garch.spec, dependent)

其中 dependent 是Zoo变量。但是,结果没有意义。

我相信我不了解数据类型在这里的工作方式。我认为garch应该能够使用Zoo文件并已阅读软件包说明,但没有发现任何帮助。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

?ugarchspec中我们找到

  

external.regressors-包含外部对象的矩阵对象   包含在方差方程中的行与   将包含在数据中(通过fit函数传递)。

因此,如果df包含您的示例数据,请使用

garch.spec <- ugarchspec(
  variance.model = list(model = "sGARCH", garchOrder = c(1, 1), external.regressors = matrix(df$regressor)),
  mean.model = list(armaOrder = c(2, 0), include.mean = TRUE))
ugarchfit(garch.spec, df$dependent)

有效。这是external.regressors的正确用法,而有关结果最可能令人满意的问题与方法有关,更适合Stats.SE