soi {fastSOM} | R Documentation |
Calculation of the Spillover Index
Description
This function calculates the spillover index as proposed by Diebold and Yilmaz (2009, see References).
Usage
soi(Sigma, A, ncores = 1, ...)
Arguments
Sigma |
Either a covariance matrix or a list thereof. |
A |
Either a 3-dimensional array with A[,,h] being MA coefficient matrices of the same dimension as |
ncores |
Number of cores, only relevant if Sigma is a list of matrices.
Missing ncores or |
... |
Further arguments, especially |
Details
The spillover index was introduced by Diebold and Yilmaz in 2009 (see References). It is
based on a variance decompostion of the forecast error variances of an N
-dimensional MA(\infty
) process.
The underlying idea is to decompose the forecast error of each variable into own variance shares
and cross variance shares. The latter are interpreted as contributions of shocks of one variable
to the error variance in forecasting another variable (see also sot
).
The spillover index then is a number between 0 and 100, describing the relative amount of forecast error variances that can
be explained by shocks coming from other variables in the model.
The typical application of the 'list' version of soi
is a rolling windows approach when Sigma
and A
are lists representing the corresponding quantities at different points in time
(rolling windows).
Value
Returns a single numeric value or a list thereof.
Author(s)
Stefan Kloessner (S.Kloessner@mx.uni-saarland.de),
with contributions by Sven Wagner (sven.wagner@mx.uni-saarland.de)
References
[1] Diebold, F. X. and Yilmaz, K. (2009): Measuring financial asset return and volatitliy spillovers, with application to global equity markets, Economic Journal 199(534): 158-171.
[2] Kloessner, S. and Wagner, S. (2012): Exploring All VAR Orderings for Calculating Spillovers? Yes, We Can! - A Note on Diebold and Yilmaz (2009), Journal of Applied Econometrics 29(1): 172-179
See Also
Examples
# generate randomly positive definite matrix Sigma of dimension N
N <- 10
Sigma <- crossprod(matrix(rnorm(N*N),nrow=N))
# generate randomly coefficient matrices
H <- 10
A <- array(rnorm(N*N*H),dim=c(N,N,H))
# calculate the spillover index
soi(Sigma, A)