Learn R Programming

gogarch (version 0.7-5)

gogarch: Specification and estimation of GO-GARCH models

Description

This function steers the specification and estimation of GO-GARCH models.

Usage

gogarch(data, formula, scale = FALSE, estby = c("ica", "mm", "ml", "nls"),
  lag.max = 1, initial = NULL, garchlist = list(init.rec = "mci", delta
  = 2, skew = 1, shape = 4, cond.dist = "norm", include.mean = FALSE,
  include.delta = NULL, include.skew = NULL, include.shape = NULL,
  leverage = NULL, trace = FALSE, algorithm = "nlminb", hessian =
  "ropt", control = list(), title = NULL, description = NULL), ...)

Arguments

data

Matrix: the original data set.

formula

Formula: valid formula for univariate GARCH models.

scale

Logical, if TRUE the data is scaled. The default is scale = FALSE.

estby

Character: by fast ICA estby = "ica" (the default), by Estbys of Moments estby = "mm" or by Maximum-Likelihood estby = "ml" or by non-linear Least-Squares estby = "nls".

initial

Numeric: starting values for optimization (used if estby = "ml" or estby = "nls" has been chosen (see Details).

lag.max

Integer: The number of used lags for computing the matched orthogonal matrices \(U\) (used if estby = "mm" has been chosen).

garchlist

List: Elements are passed to garchFit.

Ellipsis argument: is passed to the goest method (see details).

Value

Dependent on the chosen estimation method either an object of class Goestica or, Goestmm or Goestml or Goestnls is returned. All of these classes extend the GoGARCH class.

Details

The ellipsis argument is passed to the function fastICA if estby = "ica" has been set, or to optim if estby = "nls" is employed or to nlminb if the GO-GARCH model is estimated by maximum likelihood, i.e., estby = "ml". It is not employed if the methods of moments estimator is chosen.

If the argument initial is left NULL, the starting values are computed according seq(3.0, 0.1, length.out = l), whereby l is the length of initial for estby = "ml" and are set to rep(0.1, d, whereby for method = "nls". This length must be equal to \(m * (m - 1)/2\) for estimation by Maximum-Likelihood and \(m * (m + 1)/2\) for estimation by non-linear least-Squares, whereby \(m\) is the number of columns of data.

References

Van der Weide, Roy (2002), GO-GARCH: A Multivariate Generalized Orthogonal GARCH Model, Journal of Applied Econometrics, 17(5), 549 -- 564.

Boswijk, H. Peter and van der Weide, Roy (2006), Wake me up before you GO-GARCH, Tinbergen Institute Discussion Paper, TI 2006-079/4, University of Amsterdam and Tinbergen Institute.

Boswijk, H. Peter and van der Weide, Roy (2009), Method of Moments Estimation of GO-GARCH Models, Working Paper, University of Amsterdam, Tinbergen Institute and World Bank.

Broda, S.A. and Paolella, M.S. (2008): CHICAGO: A Fast and Accurate Method for Portfolio Risk Calculation, Swiss Finance Institute, Research Paper Series No. 08-08, Zuerich.

See Also

'>GoGARCH, '>Goestica, '>Goestmm, '>Goestnls, '>Goestml, goest-methods

Examples

Run this code
# NOT RUN {
library(vars)
## Boswijk / van der Weide (2009)
data(BVDWSTOXX)
BVDWSTOXX <- zoo(x = BVDWSTOXX[, -1], order.by = BVDWSTOXX[, 1])
BVDWSTOXX <- window(BVDWSTOXX, end = as.POSIXct("2007-12-31"))
BVDWSTOXX <- diff(log(BVDWSTOXX))
sectors <- BVDWSTOXX[, c("AutoParts", "Banks", "OilGas")]
sectors <- apply(sectors, 2, scale, scale = FALSE)
gogmm <- gogarch(sectors, formula = ~garch(1,1), estby = "mm",
         lag.max = 100)
gogmm
## Boswijk / van der Weide (2006)
data(BVDW)
BVDW <- zoo(x = BVDW[, -1], order.by = BVDW[, 1])
BVDW <- diff(log(BVDW)) * 100
gognls <- gogarch(BVDW, formula = ~garch(1,1), scale = TRUE,
          estby = "nls")
gognls
## van der Weide (2002)
data(VDW)
var1 <- VAR(scale(VDW), p = 1, type = "const")
resid <- residuals(var1)
gogml <- gogarch(resid, ~garch(1, 1), scale = TRUE,
         estby = "ml", control = list(iter.max = 1000))
gogml
solve(gogml@Z)
# }

Run the code above in your browser using DataLab