*! version 16.0 18march2021

[VAR-NR] irf_bands_funct() -- Calculate confidence bands for impulse responses of SVAR

Syntax

transmorphic scalar
irf_bands_funct(struct var_struct scalar VAR, struct opt_struct scalar opts)

Description

irf_bands_funct(VAR,opts) returns an associative array containing
impulse responses for the structual vector autoregression with elements
contained in structure VAR using identification and other options
specified in structure opts. If VAR and/or opts are empty or
missing crucial elements, irf_bands_funct() will fail.

This function is intended to be called after irf_funct and
before irf_plot. The latter function uses the output of
irf_bands_funct() in order to plot the IRF.

Options for impulse response function identification and estimation are set to
defaults when var_nr is run. They are adjusted using
var_nr_options in Stata or using standard
structure.element structure syntax in Mata. Options affecting IRF
calculation are outlined below. Note that the same options that determine the
irf_funct calculations also affect irf_bands_funct(),
as well as two additional options shown below: pctg and method.

Options

pctg specifies the size of the error bands around the impulse displayed
in the plotted irf. For example, if 95 is specified, then a 95%
confidence interval is plotted. Value should belong to (0,100).

method specifies the method for calculating the uncertainty. If "bs"
is specified, then the error is calculated using the residuals to
calculate bootstraps. If " wild" is specified, then the error is calculated
using a wild bootstrap based on a simple distribution using Rademacher weights.

ident specifies the method used to identify the model.
This option will accept one of three strings: "oir", "bq", or
"sr". "oir" specifies zero short-run restrictions; "bq"
specifies zero long-run restrictions; and "sr" specifies sign
restrictions (pure and/or narrative).

nsteps specifies the number of steps for which, or the maximum horizon
out to which, the IRF is calculated (must be positive integer).

impact sets the size of the shock for the impulse. Options are 0 or 1. If
it is set to 0 then shock is one standard deviation. If it is set to
1 then the shock is 1.

shut specifies if there is a row of the inverse-A matrix to be set to 0.
Options are 0 or 1, where 1 specifies that a row be shut.

Remarks

irf_bands_funct() can be called in Stata using function
var_nr_irf_bands.

For an overview of functions in the toolbox, see

[VAR-NR] var_nr Toolbox -- Stata functions and Mata functions.

Sources

Code for this function is adapted from Ambrogio Cesa-Bianchi's VAR Toolbox.
Code follows Kilian and Lutkepohl's notation in
Structural Vector Autoregressive Analysis (2016).