forecast {MSBVAR}R Documentation

Generate forecasts for fitted VAR objects

Description

Forecasting for VAR/BVAR/BSVAR objects with structural (endogenous) and exogenous shocks.

Usage

forecast.VAR(varobj, nsteps, A0 = t(chol(varobj$mean.S)),
         shocks = matrix(0, nrow = nsteps, ncol = dim(varobj$ar.coefs)[1]),
         exog.fut = matrix(0, nrow = nsteps, ncol = nrow(varobj$exog.coefs)))
forecast.BVAR(varobj, nsteps, A0 = t(chol(varobj$mean.S)),
         shocks = matrix(0, nrow = nsteps, ncol = dim(varobj$ar.coefs)[1]),
         exog.fut = matrix(0, nrow = nsteps, ncol = nrow(varobj$exog.coefs)))
forecast.BSVAR(varobj, nsteps, A0 = solve(varobj$A0.mode),
         shocks = matrix(0, nrow = nsteps, ncol = dim(varobj$ar.coefs)[1]),
         exog.fut = matrix(0, nrow = nsteps, ncol = nrow(varobj$exog.coefs)))

Arguments

varobj Fitted VAR model of the class VAR/BVAR/BSVAR produced by reduced.form.var, szbvar or szbsvar
nsteps Number of periods in the forecast horizon
A0 m x m matrix of the decomposition of the contemporaneous endogenous forecast innovations
shocks Structural shocks to the VAR model. These must be scaled consistent with the structural identification in A(0)
exog.fut nsteps x number of exogenous variables matrix of the future values of exogenous variable shocks.

Details

This function computes forecasts for both classical and Bayesian VARs. Users can specify shocks to the system over the forecast horizon (both structural and exogenous shocks). The forecasting model is that described by Waggoner and Zha (1999) and can be used to construct conditional and unconditional forecasts based on thes structural shocks and the contemporaneous decomposition of the innovation variance, A0.

Value

A matrix time series object, (T + nsteps) x m of the original series and forecasts.

Note

The forecasts can be easily plotted by using the window() command to select the appropriate sample-forecast horizon

Author(s)

Patrick T. Brandt

References

Waggoner, Daniel F. and Tao Zha. 1999. "Conditional Forecasts in Dynamic Multivariate Models" Review of Economics and Statistics, 81(4):639-651.

See Also

reduced.form.var, szbvar and szbsvar for estimation methods that create the elements needed to forecast

Examples

data(IsraelPalestineConflict)
Y.sample1 <- window(IsraelPalestineConflict, end=c(2002, 52))
Y.sample2 <- window(IsraelPalestineConflict, start=c(2003,1))

# Fit a BVAR model
fit.bvar <- szbvar(Y.sample1, p=6, lambda0=0.6, lambda1=0.1, lambda3=2,
                   lambda4=0.25, lambda5=0, mu5=0, mu6=0, prior=0)

# Forecast -- this gives back the sample PLUS the forecasts!

forecasts <- forecast(fit.bvar, nsteps=nrow(Y.sample2))
forecasts.only <- forecasts[(nrow(Y.sample1)+1):nrow(forecasts),]

# Plot forecasts and actual data
i2p <- ts(cbind(Y.sample2[,1], forecasts.only[,1]), start=c(2003,1), freq=52)
p2i <- ts(cbind(Y.sample2[,2], forecasts.only[,2]), start=c(2003,1), freq=52)

par(mfrow=c(2,1))
plot(i2p, plot.type=c("single"))
plot(p2i, plot.type=c("single"))

[Package MSBVAR version 0.3.2 Index]