【问题标题】:Implementation of DCC-GARCHDCC-GARCH 的实现
【发布时间】:2016-09-24 08:38:43
【问题描述】:

我在 R 中实现 DCC-GARCH 时遇到了一些问题。当我在 R 中运行以下代码时,我总是收到相同的错误消息:

UseMethod("convergence") 中的错误: 没有适用的“收敛”方法应用于“try-error”类的对象

不幸的是,我不知道如何解决这个问题...

    install.packages("fGarch")
    install.packages("rugarch")
    install.packages("rmgarch")
    library(fGarch)
    library(rmgarch)
    library(rugarch)
    library(tseries)
    library(zoo)

    #Daten runterladen
    ibm <- get.hist.quote(instrument = "DB",  start = "2005-11-21",
                  quote = "AdjClose")
    sys<- get.hist.quote(instrument = "^STOXX50E",  start = "2005-11-21",
                 quote = "AdjClose")

    #Returns
    retibm<-diff(log(ibm))
    retsys<-diff(log(sys))

    # univariate normal GARCH(1,1) for each series
    garch11.spec = ugarchspec(mean.model = list(armaOrder = c(0,0)), 
                      variance.model = list(garchOrder = c(1,1), 
                                            model = "sGARCH"), 
                      distribution.model = "norm")

    # dcc specification - GARCH(1,1) for conditional correlations
    dcc.garch11.spec = dccspec(uspec = multispec( replicate(2, garch11.spec) ), 
                       dccOrder = c(1,1), 
                       distribution = "mvnorm")
    dcc.garch11.spec

    MSFT.GSPC.ret = merge(retsys,retibm)
    plot(MSFT.GSPC.ret)
    dcc.fit = dccfit(dcc.garch11.spec, data = MSFT.GSPC.ret)

我不确定这个子论坛是否正确,但它似乎比量化金融论坛更合适。如果是错误的,我很抱歉。

【问题讨论】:

    标签: r statistics time-series runtime-error


    【解决方案1】:

    问题是由merge 的某种非标准行为引起的。当按列名合并时,我们默认有all = FALSE。但是,当按行名合并时,如本例所示,我们似乎有 all = TRUE,因此,MSFT.GSPC.ret 包含 NA 值。

    所以,使用任一

    MSFT.GSPC.ret <- merge(retsys, retibm, all = FALSE)
    

    dcc.fit <- dccfit(dcc.garch11.spec, data = na.omit(MSFT.GSPC.ret))
    

    解决问题。

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多