Проблема с реализацией модели GARCH в R - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь реализовать модель DCC Garch, но когда она подходит к концу, появляется ошибка, которую я запишу. Я пытался найти решения на сайте, и, как вы видите, я добавил all = FALSE в определение даты функции dccfit, но, похоже, она не работает, и все же я был уверен, что сегодня утром это сработало

library("fGarch")
library("rugarch")
library("rmgarch")
library(PerformanceAnalytics)
library(quantmod)
library(rugarch)
library(car)
library(FinTS)
library(tseries)

#carico i dati
sole24<- get.hist.quote(instrument = "S24.MI",  start = "2007-12-02",end  = "2016-06-26",  quote = "AdjClose", compression = "w")
enel <- get.hist.quote(instrument = "ENEL.MI",  start = "2007-12-02",end  = "2016-06-26",  quote = "AdjClose", compression = "w")
med<-get.hist.quote(instrument = "BMED.MI",  start = "2007-12-02",end  = "2016-06-26",  quote = "AdjClose", compression = "w")
intesa<- get.hist.quote(instrument = "ISP.MI",  start = "2007-12-02",end  = "2016-06-26",  quote = "AdjClose", compression = "w")
pi2<- get.hist.quote(instrument = "PQ.MI",  start = "2007-12-02",end  = "2016-06-26",  quote = "AdjClose", compression = "w")

#calcolo i logaritmi
log(sole24)
log(enel)
log(intesa)
log(pi2)
log(med)

#calcolo i log-rendimenti
sole24<-diff(log(sole24))
colnames(sole24)=c("log")
med<-diff(log(med))
colnames(med)=c("log")
pi2<-diff(log(pi2))
colnames(pi2)=c("log")
intesa<-diff(log(intesa))
colnames(intesa)=c("log")
enel<-diff(log(enel))
colnames(enel)=c("log")


#calcolo un garch(1,1) per ogni serie
garchuni = ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean=FALSE), 
                          variance.model = list(garchOrder = c(1,1), 
                                                model = "tGARCH"), 
                          distribution.model = "norm")
# calcolo il Garch multivariato
dcc.garchuni= dccspec(uspec = multispec( replicate(5, garchuni) ), 
                           dccOrder = c(1,1), 
                           distribution = "mvnorm")
dcc.garchuni

#DCC
Plot.Log.Rendimento <- merge(sole24, med, pi2,intesa, enel,all = FALSE)
dcc.fit = dccfit(dcc.garchuni, data = na.omit(Plot.Log.Rendimento) )

and this is the error:
Error in UseMethod("convergence") : 
  no applicable method for 'convergence' applied to an object of class "NULL"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...