garchSim | R Documentation |
Simulates univariate GARCH/APARCH time series.
garchSim(spec = garchSpec(), n = 100, n.start = 100, extended = FALSE)
spec |
a specification object of class |
n |
length of the 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 |
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 normally distributed
innovations.
spec
is an object of class "fGARCHSPEC"
as returned by
the function garchSpec
. It 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 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
,
garchFit
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.