Specification and estimation of GO-GARCH models

Share:

Description

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

Usage

1
2
3
4
5
6
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).

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.

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.

Author(s)

Bernhard Pfaff

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

 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
## 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)

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.