IRFRESTRICT Procedure |
@IRFRestrict can be used to build up (one restriction at a time) the \({\bf{R}}\) matrix in
\begin{equation} {\bf{R}}vec({\bf{B}}) = 0 \end{equation}
representing restrictions on the impact matrix \({\bf{B}}\) to achieve certain zero restrictions in the impulse responses at zero or more steps. The set of joint solutions to the restrictions can be written in the form:
\begin{equation} vec({\bf{B}}) = {{\bf{R}}^ \bot }\Theta \end{equation}
where \(\Theta \) is a vector of free parameters which can be estimated using CVMODEL. This is a "B" style structural model where exact identification (by zero restrictions alone) need to meet the Rubio-Ramirez–Waggoner–Zha conditions.
@IRFRestrict( options ) r
Parameters
|
r |
(input and output) the matrix being constructed. If you do more than one analysis of this type, either use a different matrix, or dimension to 0,0 before starting the second. |
Options (all are required)
IRF=response matrix to unit impact shocks for the horizon being constrained
VARIABLE=variable whose response is being constrained
SHOCK=shock whose response is being constrained
Example
This is from the IRFCONSTRAIN.RPF example.
*
* This will do constraints of the form
*
* Impact:
* . 0 0 0
* . . . 0
* . . . .
* . . . .
*
* First step:
* . . . .
* . . 0 0
* . . . .
* . . . .
*
impulse(model=peersman,factor=%identity(%nvar),steps=3,results=irfs)
compute step0=%xt(irfs,1)
compute step1=%xt(irfs,2)
***************************************************************************
dec rect rr(0,0)
@IRFRestrict(irf=step0,variable=1,shock=2) rr
@IRFRestrict(irf=step0,variable=1,shock=3) rr
@IRFRestrict(irf=step0,variable=1,shock=4) rr
@IRFRestrict(irf=step0,variable=2,shock=4) rr
@IRFRestrict(irf=step1,variable=2,shock=3) rr
@IRFRestrict(irf=step1,variable=2,shock=4) rr
Copyright © 2026 Thomas A. Doan