我在一个时间序列中拟合了一个GARCH过程,并分析了ACF的平方和绝对残差,以检查模型的拟合优度。但我也想做一个正式的测试,在搜索互联网之后,加权Portmanteau测试(最初由Li和Mak)似乎就是那个。
它来自WeightedPortTest包,是少数(可能是唯一一个?)正确测试GARCH残差的人之一。
在阅读各种文件中的说明时,我无法理解“h.t”论证的内容。它在R中的信息中说我需要指定“条件方差的数值向量”。对于有经验的用户来说,这可能很简单,尽管我很难理解。我需要做什么,最好是如何在R中编码?
感谢任何帮助
答案 0 :(得分:0)
直接从文档中获取:
h.t:条件差异的数字向量
使用fGarch
包的小玩具示例如下:
library(fGarch)
library(WeightedPortTest)
spec <- garchSpec(model = list(alpha = 0.6, beta = 0))
simGarch11 <- garchSim(spec, n = 300)
fit <- garchFit(formula = ~ garch(1, 0), data = simGarch11)
Weighted.LM.test(fit@residuals, fit@h.t, lag = 10)
使用garch()
包中的tseries
:
library(tseries)
fit2 <- garch(as.numeric(simGarch11), order = c(0, 1))
summary(fit2)
# comparison of fitted values:
tail(fit2$fitted.values[,1]^2)
tail(fit@h.t)
# comparison of residuals after unstandardizing:
unstd <- fit2$residuals*fit2$fitted.values[,1]
tail(unstd)
tail(fit@residuals)
Weighted.LM.test(unstd, fit2$fitted.values[,1]^2, lag = 10)