提供给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文件并已阅读软件包说明,但没有发现任何帮助。有什么建议吗?
答案 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。