0

我已经更新到 R 的最新版本并更新了 rugarch 包。不幸的是,一些以前有效的代码不再有效。我现在得到一个错误。我会非常感谢一些帮助将输出转换为数据框。

library(rugarch)
data(sp500ret)
spec = ugarchspec(  )
fit1 = ugarchfit(spec =  spec, data = sp500ret)
df.fit1 <- as.data.frame(fit1,which="VaR")

Error in as.data.frame.default(fit1, which = "VaR"): 
cannot coerce class "structure("uGARCHfit", package = "rugarch")" to a 
data.frame 
attributes(fit1)

显示:$fit$sigma

但是当我尝试时:

df1 <- data.frame(fit1$fit$sigma)

我收到一条错误消息;

Error in fit1$fit : $ operator not defined for this S4 class
4

1 回答 1

1
  1. as.data.frame(fit1, which="VaR") 从未使用过 uGARCHfit 类的对象(您将其与 uGARCHroll 对象混淆了)。如果您想要条件 VaR,您现在可以(在新版本中)使用分位数方法,例如 quantile(fit1, c(0.01,0.05))。
  2. 如果你想要条件标准差,那么你应该使用 sigma(fit1) 它将返回一个 xts 矩阵,或者 fit1@fit$sigma (@ 追随 S4 类中的一个对象)。这个问题和大多数其他问题都可以通过仔细阅读文档、小插图和包含更改详细信息的作者网站来回答。
于 2013-04-13T23:35:23.393 回答