已实现的GARCH - 在模型拟合中指定“realizeVol”

时间:2016-04-07 00:22:31

标签: r time-series volatility

我想估计Realized GARCH(1,1)模型。在我的数据集中,我有以下时间序列:

ret <- replicate(1, rnorm(100))
RV <- replicate(1, rnorm(100))
date <- c(1:100)

我执行以下操作:

install.packages("rugarch")
library(rugarch)
attspec <- ugarchspec(mean.model = list(armaOrder = c(0, 0), include.mean = FALSE), variance.model = list(model = 'realGARCH', garchOrder = c(1, 1)))
fit <- ugarchfit(spec=attspec, data=ret, solver = 'hybrid', realizedVol = RV[, 1])

在最后一行之后我收到错误: realizeVol必须是xts对象

我尝试使用xts包描述中给出的示例将我的RV矩阵转换为xts对象:

require(xts)
rownames(RV) <- date
matrix_xts <- as.xts(RV,dateFormat='Date')

df_xts <- as.xts(as.data.frame(RV))

在这两种情况下,错误是字符串不是标准的明确格式

那么,为了为realizeVol规范制作合适的xts objest格式,我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

您应该同时拥有retRV xts个对象,可以通过以下方式对其进行初始化:

times<-Sys.time()+date
ret_xts<-xts(ret,order.by = times)
RV_xts <- xts(RV,order.by = times)

然后你就可以成功致电:

fit <- ugarchfit(spec=attspec, data=ret_xts, solver = 'hybrid', realizedVol = RV_xts)