gmm {yuima} | R Documentation |
Method of Moments for COGARCH(P,Q).
Description
The function returns the estimated parameters of a COGARCH(P,Q) model. The parameters are abtained by matching theoretical vs empirical autocorrelation function. The theoretical autocorrelation function is computed according the methodology developed in Chadraa (2009).
Usage
gmm(yuima, data = NULL, start,
method="BFGS", fixed = list(), lower, upper, lag.max = NULL,
equally.spaced = FALSE, aggregation=TRUE, Est.Incr = "NoIncr", objFun = "L2")
Arguments
yuima |
a yuima object or an object of |
data |
an object of class |
start |
a |
method |
a string indicating one of the methods available in |
fixed |
a list of fixed parameters in optimization routine. |
lower |
a named list for specifying lower bounds of parameters. |
upper |
a named list for specifying upper bounds of parameters. |
lag.max |
maximum lag at which to calculate the theoretical and empirical acf. Default is |
equally.spaced |
Logical variable. If |
aggregation |
If |
Est.Incr |
a string variable, If |
objFun |
a string variable that indentifies the objective function in the optimization step. |
Details
The routine is based on three steps: estimation of the COGARCH parameters, recovering the increments of the underlying Levy process and estimation of the levy measure parameters. The last two steps are available on request by the user.
Value
The function returns a list with the same components of the object obtained when the function optim
is used.
Author(s)
The YUIMA Project Team.
References
Chadraa, E. (2009) Statistical Modeling with COGARCH(P,Q) Processes. Phd Thesis
Examples
## Not run:
# Example COGARCH(1,1): the parameters are the same used in Haugh et al. 2005. In this case
# we assume the underlying noise is a symmetric variance gamma.
# As first step we define the COGARCH(1,1) in yuima:
mod1 <- setCogarch(p = 1, q = 1, work = FALSE,
measure=list(df="rbgamma(z,1,sqrt(2),1,sqrt(2))"),
measure.type = "code", Cogarch.var = "y",
V.var = "v", Latent.var="x",XinExpr=TRUE)
param <- list(a1 = 0.038, b1 = 0.053,
a0 = 0.04/0.053, x01 = 20)
# We generate a trajectory
samp <- setSampling(Terminal=10000, n=100000)
set.seed(210)
sim1 <- simulate(mod1, sampling = samp, true.parameter = param)
# We estimate the model
res1 <- gmm(yuima = sim1, start = param)
summary(res1)
## End(Not run)