user3632598
user3632598

Reputation: 21

Unable to generate plot from dccfit (R)

R version: 3.4.2

I'm using rugarch and mgarch to spec and fit model with DCC to my data. The model is generated successfully, however I'm unable to generate the plots. Here's a snippet of my code:

library(rugarch)
library(rmgarch)
da=read.table("d-msft3dx0113.txt",header=T)
MSFT.ret = da[,3]
GSPC.ret = da[,6]
MSFT.GSPC.ret = cbind(MSFT.ret,GSPC.ret)

garch11.spec = ugarchspec(mean.model = list(armaOrder = c(0,0)), 
                      variance.model = list(garchOrder = c(1,1), 
                                            model = "sGARCH"), 
                      distribution.model = "norm")

dcc.garch11.spec = dccspec(uspec = multispec( replicate(2, garch11.spec) ), 
                       dccOrder = c(1,1), 
                       distribution = "mvnorm")

dcc.fit = dccfit(dcc.garch11.spec, data = MSFT.GSPC.ret)
dcc.fcst = dccforecast(dcc.fit, n.ahead=100)

plot(dcc.fcst) 

When I call for plot, I get this error:

plot(dcc.fcst)

Make a plot selection (or 0 to exit):

  1. Conditional Mean Forecast (vs realized returns)
  2. Conditional Sigma Forecast (vs realized |returns|)
  3. Conditional Covariance Forecast
  4. Conditional Correlation Forecast
  5. EW Portfolio Plot with forecast conditional density VaR limits

Selection: 1

Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) :
plot.new has not been called yet

I then give it a new plot area:

plot.new()
plot(dcc.fcst)

Which gives me this unhelpful plot:

Selection1Plot

Upvotes: 1

Views: 532

Answers (1)

Ericshaw
Ericshaw

Reputation: 51

I have the same question, too. I don't know why plot(dcc.fic) cannot work. So I do it manually to extract the correlation and covariance. rcov and rcor are two functions to extract what we need.

plot(rcov(dcc.fit)[1,2,], type = "l", col = "blue", 
     main = "Conditional Covariance", xlab = "Time", 
     ylab = "Covariance")
plot(rcor(dcc.fit)[1,2,], type = "l", col = "purple", 
     main = "Conditional Correlation", xlab = "Time", 
     ylab = "Correlation")

Upvotes: 1

Related Questions