# Estimating DCC-GARCH model

### Description

This function estimates a Dynamic Conditional Correlation GARCH model.

### Usage

1 2 3 4 5 |

### Arguments

`inia` |
a vector of initial values in the GARCH part. |

`iniA` |
a square or diagonal matrix of initial values for the ARCH parameter matrix in the GARCH part. |

`iniB` |
a square or diagonal matrix of initial values for the GARCH parameter matrix in the GARCH part. |

`ini.dcc` |
a vector of length 2 initial parameters for the cDCC part. |

`data` |
a data frame or a matrix object containing the variables. |

`model` |
a chacacter string setting the GARCH part of the model. |

`x` |
an object of class |

`...` |
optional arguments. Currently not in use. |

### Details

This function estimates a Dynamic Conditional Correlation (DCC-) GARCH model of Engle (2002).

The extractor function `summary()`

is available for a `"dcc"`

class
object displaying a table with estimates and inferencial statistics,
information criterion and some diagnostic results of the standardized
residuals. See `summary.dcc`

for details.

Estimation of the model is carried out in two steps.
The optimization in both steps is implemented by `solnp`

function in
Rsolnp package and its outcome is save ‘as is’ in a list component
`f.stage`

and `s.stage`

, respectively.

`solnp`

uses a sequencial quadratic programming (SQP) technique
to optimize the objective function. See the manual and the references therein for
details. During the optimization, positivity and stationarity
restrictions are imposed on the parameters.

Rsonlp has a function called `gosolnp`

that generates
initial starting values randomly. A logical argument `random`

controlls which
function to use in the optimization. The default is `random = FALSE`

meaning that
`solnp`

of Rsolnp is used. If `random = TRUE`

, `gosolnp`

is used.
It should be noted that optimization takes longer time and may not always be successful
when `gosolnp`

is used.

### Value

This function returns an S3 class object `"dcc"`

that is a list with the following components.

`f.stage` |
an output of the first stage optimization from Rsolnp. |

`s.stage` |
an output of the second stage optimization from Rsolnp. |

`model` |
a chacacter string setting the GARCH part of the model. |

`method` |
the optimization method used. |

`initial` |
a list with the initial parameter vectors/matrices. The included components are |

`data` |
the data matrix. Returned as a zoo object. |

`DCC` |
a matrix of the conditional correlations. Each row corresponds
to |

`h` |
a matrix of the conditional variances. Each row corresponds
to |

`z` |
a matrix of the standardized residuals. Each row corresponds
to |

### References

Engle, R.F. and K. Sheppard (2001),
“Theoretical and Empirical Properties of Dynamic
Conditional Correlation Multivariate GARCH.”
*Stern Finance Working Paper Series*
FIN-01-027 (Revised in Dec. 2001),
New York University Stern School of Business.

Engle, R.F. (2002),
“Dynamic Conditional Correlation: A Simple Class of
Multivariate Generalized Autoregressive Conditional
Heteroskedasticity Models.”
*Journal of Business and Economic Statistics*
**20**, 339–350.

### See Also

`summary.dcc`

,
`simulateDCC`

,
`plot.dcc`

,
`optim`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | ```
## Not run:
ndim <- 3
nobs <- 3000
## Setting parameters in the DCC part
a <- 0.05
b <- 0.8
## Setting a correlation matrix
Q <- diag(0, ndim)
Q[lower.tri(Q)] <- c(0.8, 0.3, 0.1)
Q <- Q + t(Q)
diag(Q) <- 1
## setting parameters in the GARCH part
a0 <- c(0.05, 0.07, 0.1)
A <- matrix(c(0.06, 0.0, 0.0, 0.07, 0.08, 0.002, 0.003, 0.0, 0.06),
ndim, ndim)
B <- matrix(c(0.75, 0.09, 0.03, 0.001, 0.81, 0.003, 0.001, 0.008, 0.84),
ndim, ndim)
## Simulating data
sim.data <- simulateDCC(a, b, Q, a0, diag(diag(A)), diag(diag(B)), nobs)
## Estimating a DCC model
garch_dcc <- estimateDCC(inia=a0, iniA=diag(diag(A)), iniB=diag(diag(B)),
ini.dcc=c(a, b), data=sim.data$eps, model="diagonal")
## Summarizing the results
summary_garch_dcc <- summary(garch_dcc)
## Plotting items
plot(garch_dcc, item="correlation") # for dynamic conditional correlations
plot(garch_dcc, item="volatility") # for volatility (square root of conditional variance)
plot(garch_dcc, item="std.residuals") # for satandardized residuals
plot(garch_dcc, item="return") # for return (original data)
## End(Not run)
``` |