mean/variance 中的 Rugarch 外部回归变量

Rugarch external regressors in mean/variance

提供给 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 

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

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

其中 dependent 是动物园变量。然而,结果没有意义。

我想我不明白这里的数据类型是如何工作的。我相信 garch 应该能够使用 zoo 文件并阅读了包描述但没有找到任何有用的东西。请问有什么建议吗?

?ugarchspec中我们发现

external.regressors - A matrix object containing the external regressors to include in the variance equation with as many rows as will be included in the data (which is passed in the fit function).

因此,如果 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