evd (version 2.1-0)

marma: Simulate MARMA(p,q) Processes

Description

Simulation of MARMA(p,q) processes.

Usage

marma(n, p = 0, q = 0, psi, theta, init = rep(0, p), n.start = p,
    rand.gen = rfrechet, ...)
mar(n, p = 1, psi, init = rep(0, p), n.start = p, rand.gen =
    rfrechet, ...)
mma(n, q = 1, theta, rand.gen = rfrechet, ...)

Arguments

n
The number of observations.
p
The AR order of the MARMA process.
q
The MA order of the MARMA process.
psi
A vector of non-negative parameters, of length p. Can be omitted if p is zero.
theta
A vector of non-negative parameters, of length q. Can be omitted if q is zero.
init
A vector of non-negative starting values, of length p.
n.start
A non-negative value denoting the length of the burn-in period. If n.start is less than p, then p minus n.start starting values will be included in the output series.
rand.gen
A simulation function to generate the innovations.
...
Additional arguments for rand.gen. Most usefully, the scale and shape parameters of the innovations generated by rfrechet can be specified by scale and shape respectively.

Value

  • A numeric vector of length n.

Details

A max autoregressive moving average process ${X_k}$, denoted by MARMA(p,q), satisfies $$X_k = \max{\phi_1 X_{k-1}, \ldots, \phi_p X_{k-p}, \epsilon_k, \theta_1 \epsilon_{k-1}, \ldots, \theta_q \epsilon_{k-q}}$$ where $\code{phi} = (\phi_1, \ldots, \phi_p)$ and $\code{theta} = (\theta_1, \ldots, \theta_q)$ are non-negative vectors of parameters, and where ${\epsilon_k}$ is a series of iid random variables with a common distribution defined by rand.gen.

The functions mar and mma generate MAR(p) and MMA(q) processes respectively. A MAR(p) process ${X_k}$ is equivalent to a MARMA(p, 0) process, so that $$X_k = \max{\phi_1 X_{k-1}, \ldots, \phi_p X_{k-p}, \epsilon_k}.$$ A MMA(q) process ${X_k}$ is equivalent to a MARMA(0, q) process, so that $$X_k = \max{\epsilon_k, \theta_1 \epsilon_{k-1}, \ldots, \theta_q \epsilon_{k-q}}.$$

See Also

evmc

Examples

Run this code
marma(100, p = 1, q = 1, psi = 0.75, theta = 0.65)
mar(100, psi = 0.85, n.start = 20)
mma(100, q = 2, theta = c(0.75, 0.8))

Run the code above in your browser using DataLab