| garchSim {fGarch} | R Documentation |
Simulates a univariate GARCH/APARCH time series model.
garchSim(spec = garchSpec(), n = 100, n.start = 100, extended = FALSE)
spec |
a specification object of class |
n |
length of output series, an integer value, by default |
n.start |
length of "burn-in" period, by default 100. |
extended |
logical parameter specifying what to return. If |
The function garchSim simulates an univariate GARCH or APARCH
time series process as specified by argument spec. The
default model specifies Bollerslev's GARCH(1,1) model with normal
distributed innovations.
spec is an object of class "fGARCHSPEC" as returned by
the function garchSpec. The returned model
specification comes comes with a slot @model which is a list
of just the numeric parameter entries. These are recognized and
extracted for use by the function garchSim.
One can estimate the
parameters of a GARCH process from empirical data using the
function garchFit and then simulate statistically
equivalent GARCH processes with the same set of model parameters
using the function garchSim.
the simulated time series, garch as an objects of class
"timeSeries" with attribute "spec" containing the
specification of the model.
If extended is TRUE, then the time series is
multivariate and contains also the volatility, sigma, and the
conditional innovations, eps.
An undocumented feature (so, it should not be relied on) is that the
returned time series is timed so that the last observation is the day
before the date when the function is executed. This probably should be
controlled by an additional argument in garchSim.
Diethelm Wuertz for the Rmetrics R-port.
## garchSpec -
spec = garchSpec()
spec
## garchSim -
# Simulate a "timeSeries" object:
x = garchSim(spec, n = 50)
class(x)
print(x)
## More simulations ...
# Default GARCH(1,1) - uses default parameter settings
spec = garchSpec(model = list())
garchSim(spec, n = 10)
# ARCH(2) - use default omega and specify alpha, set beta=0!
spec = garchSpec(model = list(alpha = c(0.2, 0.4), beta = 0))
garchSim(spec, n = 10)
# AR(1)-ARCH(2) - use default mu, omega
spec = garchSpec(model = list(ar = 0.5, alpha = c(0.3, 0.4), beta = 0))
garchSim(spec, n = 10)
# AR([1,5])-GARCH(1,1) - use default garch values and subset ar[.]
spec = garchSpec(model = list(mu = 0.001, ar = c(0.5,0,0,0,0.1)))
garchSim(spec, n = 10)
# ARMA(1,2)-GARCH(1,1) - use default garch values
spec = garchSpec(model = list(ar = 0.5, ma = c(0.3, -0.3)))
garchSim(spec, n = 10)
# GARCH(1,1) - use default omega and specify alpha/beta
spec = garchSpec(model = list(alpha = 0.2, beta = 0.7))
garchSim(spec, n = 10)
# GARCH(1,1) - specify omega/alpha/beta
spec = garchSpec(model = list(omega = 1e-6, alpha = 0.1, beta = 0.8))
garchSim(spec, n = 10)
# GARCH(1,2) - use default omega and specify alpha[1]/beta[2]
spec = garchSpec(model = list(alpha = 0.1, beta = c(0.4, 0.4)))
garchSim(spec, n = 10)
# GARCH(2,1) - use default omega and specify alpha[2]/beta[1]
spec = garchSpec(model = list(alpha = c(0.12, 0.04), beta = 0.08))
garchSim(spec, n = 10)
# snorm-ARCH(1) - use defaults with skew Normal
spec = garchSpec(model = list(beta = 0, skew = 0.8), cond.dist = "snorm")
garchSim(spec, n = 10)
# sged-GARCH(1,1) - using defaults with skew GED
model = garchSpec(model = list(skew = 0.93, shape = 3), cond.dist = "sged")
garchSim(model, n = 10)
# Taylor Schwert GARCH(1,1) - this belongs to the family of APARCH Models
spec = garchSpec(model = list(delta = 1))
garchSim(spec, n = 10)
# AR(1)-t-APARCH(2, 1) - a little bit more complex specification ...
spec = garchSpec(model = list(mu = 1.0e-4, ar = 0.5, omega = 1.0e-6,
alpha = c(0.10, 0.05), gamma = c(0, 0), beta = 0.8, delta = 1.8,
shape = 4, skew = 0.85), cond.dist = "sstd")
garchSim(spec, n = 10)
garchSim(spec, n = 10, extended = TRUE)