*! version 16.0 18march2021

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

Syntax

var_nr_irf_bands
,

varname("string")
optname("string")
outname("string")
[statamatrix("string")]

Description

var_nr_irf calculates the impulse responses for
the structual vector autoregression specified in varname estimated
previously using var_nr. Impulse responses are stored in
Mata (see irf_funct() for more details) under the
name specified in outname. The Impulse responses are used to calculate the confidence bands around them.

statamatrix is optional. If it is specified, a matrix containing the
impulse responses will be generated in Stata and stored under the name
specified within the parantheses (note the name is entered as a string but the
name itself, of course, will not be). Column names are descriptive.

Options for impulse response function identification and estimation are set to
defaults when var_nr is run and 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
var_nr_irf calculations also affect var_nr_irf_bands, 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.

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 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

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

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).