Learn R Programming

multiwave (version 1.0)

varfima: simulation of multivariate ARFIMA process

Description

Generates N observations of a realisation of a multivariate ARFIMA process X.

Usage

varfima(N, d = 0, cov_matrix = diag(length(d)), VAR = NULL, VMA = NULL, fivar = TRUE, skip = 2000)

Arguments

N
number of time points.
d
vector of parameters of long-memory.
cov_matrix
matrix of correlation between the innovations (optional, default is identity).
VAR
array of VAR coefficient matrices (optional).
VMA
array of VMA coefficient matrices (optional).
fivar
if TRUE, apply the ARMA operator before doing the fractional integration. If FALSE, apply first the fractional integration before the ARMA operator. The default is TRUE.
skip
number of initial observations omitted, after applying the ARMA operator and the fractional integration (optional, the default is 2000).

Value

x
vector containing the N observations of the vector ARFIMA(arlags, d, malags) process.
long_run_cov
matrix of covariance of the spectral density of x around the zero frequency.

Details

Let $e(t)$ be a multivariate gaussian process with a covariance matrix cov_matrix. If fivar=TRUE the values of the process X are given by the equations: $$VAR(L)U(t) = VMA(L)e(t),$$ and

$$diag((1-L)^d)X(t) = U(t)$$ where L is the lag-operator.

If fivar=FALSE the values of the process X are given by the equations: $$diag((1-L)^d)U(t) = e(t),$$ and $$VAR(L)X(t) = VMA(L)U(t)$$

References

R. J. Sela and C. M. Hurvich (2009) Computationaly efficient methods for two multivariate fractionnaly integrated models. Journal of Time Series Analysis, Vol 30, N. 6, pages 631-651.

S. Achard, I. Gannaz (2014) Multivariate wavelet Whittle estimation in long-range dependence. arXiv, http://arxiv.org/abs/1412.0391

See Also

varma, vfracdiff

Examples

Run this code

rho1 <- 0.3
rho2 <- 0.8
cov <- matrix(c(1,rho1,rho2,rho1,1,rho1,rho2,rho1,1),3,3)
d <- c(0.2,0.3,0.4)

J <- 9
N <- 2^J
VMA <- diag(c(0.4,0.1,0))
### or another example VAR <- array(c(0.8,0,0,0,0.6,0,0,0,0.2,0,0,0,0,0.4,0,0,0,0.5),dim=c(3,3,2))
VAR <- diag(c(0.8,0.6,0))
resp <- varfima(N, d, cov_matrix=cov, VAR=VAR, VMA=VMA,fivar=TRUE)
x <- resp$x
long_run_cov <- resp$long_run_cov



Run the code above in your browser using DataLab