首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DCC的实现

DCC的实现
EN

Stack Overflow用户
提问于 2016-05-26 11:11:38
回答 1查看 2.7K关注 0票数 3

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

UseMethod中的错误(“收敛”):没有适用于类“尝试错误”对象的“收敛”方法

不幸的是我不知道怎么解决这个问题..。

代码语言:javascript
复制
    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)

我不确定这个子论坛是否是正确的,但它似乎比量化金融论坛更受欢迎。如果是错的,我道歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-26 11:40:20

这个问题是由merge的一些不标准行为引起的。在按列名合并时,默认情况下是all = FALSE。但是,在按行名称进行合并时(如本例中所示),我们似乎拥有all = TRUE,因此,MSFT.GSPC.ret包含NA值。

所以,使用任何一个

代码语言:javascript
复制
MSFT.GSPC.ret <- merge(retsys, retibm, all = FALSE)

代码语言:javascript
复制
dcc.fit <- dccfit(dcc.garch11.spec, data = na.omit(MSFT.GSPC.ret))

解决了问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37459199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档