# Dynamic Conditional Correlation (DCC) model yields unexpected sign of fitted correlations

I'm calculating DCC between S&P500 and US 10-year bond index in R.

However the results are in the unexpected sign. For example, as published by many, DCC between S&P500 and 10-year bond index is positive in 1990s and became negative for a while in 1997 (e.g. Chen(2009) on page 43 http://eprints.lse.ac.uk/29306/1/Regime_Switching_in_Volatilities.pdf), but I got opposite results.

Here is my code, is there anything wrong?

    # 1. Fit DCC
# First GARCH Specs.. GARCH(1,1)
garch11.spec = ugarchspec(mean.model = list(armaOrder = c(1,1)),
variance.model = list(garchOrder = c(1,1),
model = "sGARCH"), distribution.model = "std")
# dcc specification - GARCH(1,1) for conditional correlations
dcc.garch11.spec = dccspec(uspec = multispec( replicate(2, garch11.spec) ), dccOrder = c(1,1), distribution = "mvt")

# SD
garch.fit = ugarchfit(garch11.spec, data = STOCK, fit.control=list(scale=TRUE))
print(garch.fit)

garch.fit = ugarchfit(garch11.spec, data = BOND, fit.control=list(scale=TRUE))
print(garch.fit)

#DCC - STOCK&BOND
dcc_data<-data.frame(STOCK,BOND)
dcc.fit = dccfit(dcc.garch11.spec, data = dcc_data, fit.control=list(scale=TRUE))
print(dcc.fit)
r1=rcor(dcc.fit, type="cor")
r1.z=zoo(r1[1,2,], order.by=DATA\$Date[-1])
dcc_stock_bond<-data.frame(r1.z)
print(dcc_stock_bond)


Edit: please note that I was using bond yield rather than bond index. Having used bond index, I got the expected DCC results. Problem solved.

• Do the other studies also assume the same conditional mean and conditional variance dynamics, i.e. ARMA(1,1)-GARCH(1,1)? I suppose ARMA(1,1) could be omitted in favour of just a constant, probably then your model would yield the expected signs of the fitted conditional correlations. – Richard Hardy Nov 20 '16 at 14:38
• Thanks @RichardHardy ! More or less in other studies. EGARCH is also considered. I tried ARMA(0,0)-GARCH(1,1) and results are very similar, still unexpected sign but slightly more volatile. – sileli Nov 20 '16 at 15:10
• What if you fit the model fo subsamples of your data? Vanilla DCC is a bit inflexible, so I would not expect that it would produce a wide range of correlation dynamics over time for a given time series. – Richard Hardy Nov 20 '16 at 16:09
• When you say a similar pattern, do you mean similar to your estimated DCC model or to the paper you are citing? – Richard Hardy Nov 21 '16 at 6:22
• Similar to estimated DCC model as plotted. – sileli Nov 21 '16 at 9:40

What if you fit the model fo subsamples of your data? Vanilla DCC is a bit inflexible, so I would not expect that it would produce a wide range of correlation dynamics over time for a given time series. There is a function dccroll for rolling estimation and forecasting, perhaps it could be useful.