#' @title generalized forecast error variance decomposition
#' @param Alpha nxnxp array of the VMA-coefficients
#' @param Sigma nxn matrix with the variance-covariance matrix
#' @param nhor horizon of the fevd
gfevd <- function(Alpha, Sigma, nhor){
# preliminaries
nVar <- dim(Sigma)[1]
delta <- array(0,dim=c(nVar,nVar))
# Calculate the generalized fevd
for(ii in 1:nVar){
# shock to variable ii
ei <- matrix(0,nrow = 1,ncol=nVar)
ei[1,ii] <- 1
tsum2 <- 0
for(hh in 1:nhor){
tmp <- ei %*% Alpha[,,hh] %*% Sigma %*% t(Alpha[,,hh]) %*% t(ei)
tsum2 <- tsum2 + tmp
}
for(jj in 1:nVar){
ej <- matrix(0,nrow = 1,ncol=nVar)
ej[1,jj] <- 1
tsum <- 0
for(hh in 1:nhor){
tmp <- (ei %*% Alpha[,,hh] %*% t(ej))^2
tsum <- tsum + tmp
}
delta[ii,jj] <- Sigma[ii,ii]^(-1) * tsum / tsum2
}
}
return(delta)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.