
This function steers the specification and estimation of GO-GARCH models.
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), ...)
Matrix: the original data set.
Formula: valid formula for univariate GARCH models.
Logical, if TRUE
the data is scaled. The default
is scale = FALSE
.
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"
.
Numeric: starting values for optimization (used if
estby = "ml"
or estby = "nls"
has been chosen (see
Details).
Integer: The number of used lags for computing the
matched orthogonal matrices estby = "mm"
has been chosen).
List: Elements are passed to garchFit
.
Ellipsis argument: is passed to the goest
method
(see details).
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.
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 data
.
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.
'>GoGARCH
, '>Goestica
,
'>Goestmm
, '>Goestnls
,
'>Goestml
, goest-methods
# 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