O.spillover {Spillover}R Documentation

Orthogonalized spillover index

Description

Computes the orthogonalized spillover index proposed in Diebold and Yilmaz (2009) which is based on the Orthogonalized Forecast Error Variance Decompositon.

Usage

O.spillover(
  x,
  n.ahead = 10,
  ortho.type = c("single", "partial", "total"),
  standardized = TRUE
)

Arguments

x

Object of class ‘varest’ generated by VAR() from vars package.

n.ahead

Integer specifying the steps ahead.

ortho.type

A character string indicating the type of orthogonalized index is required. "single" takes the original ordering of variables in VAR model and applies Cholesky decomposition for the fevd. Whereas "partial" takes a random sample out of all the possible combinations generated for the Cholesky decomposition, while "total" uses all the combinations, therefore it takes more time to finish. Both, "partial" and "total" provide average results.

standardized

A logical value indicating whether the values should be divided by the number of columns to get a percentage.

Details

This function computes the Orthogonalized Directional Spillover Table which has as its ij^{th} entry the estimated contribution to the forecast error variance of variable i coming from innovations to variable j. The off-diagonal column sums are the Contributions to Others, while the row sums represent Contributions from Others, when these are totaled across countries then we have the numerator of the Spillover Index. Similarly, the columns sums or rows sums (including diagonal), when totaled across countries, give the denominator of the Spillover Index, which is 100%.

O.spillover is based upon the Orthogonalized (using Cholesky orthogonalization) Forecast Error Variance Decompositon (see Lutkepohl, 2006) and its explicit formulation can be found in Diebold and Yilmaz (2009).

Since O.spillover is based on orthogonalized FEVD, then the result is as many indeces as combinations is allowed according to the number of variables in the VAR model, this is exactly equal to K!, then output has three options: table, summary and all.ind. table produces a data.frame holding the (orthogonalized) directional mean spillover indices.

When output="table", a data.frame is generated consisting of either mean or median directional spillover indeces, this because for each possible order of the variables the o.fevd is computed and over this result a spillover index is generated and this procedure repeats until reaching the last order (this means all the possible combinations given by K!). When output="table" a mean directional spillover table is generated, but this can be changed using stat="median" for a median directional spillover to be genereated. Note that stat argument only affects the results of output="table".

When output="summary" an vector is generated, this contains Mean, Min, Max.

This is a user-frendly version of fastSOM::sot_avg_exact() function.

Value

When output="table", a data.frame consisting of the spillover index.

When output="summary", a summary of all spillover indeces.

Author(s)

Jilber Urbina

References

Diebold, F. X. & Yilmaz, K. (2009). Measuring Financial Asset Return and Volatility Spillovers, with Application to Global Equity Markets. The Economic Journal, 119, 158-171

Lutkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.

See Also

G.spillover

Examples

library(vars)

# Replicating Table 3, Diebold and Yilmaz (2009)

data(dy2009)
VAR.2 <- VAR(dy2009[,-1], p=2)
O.spillover(VAR.2, ortho.type  = "single", standardized = FALSE) 
O.spillover(VAR.2, ortho.type  = "partial" ) 



[Package Spillover version 0.1.1 Index]