RATS 11
RATS 11

Technically, the decomposition proposed by Blanchard and Quah (1989) is a special case of a structural VAR model. However, it reflects a completely different approach to the task of interpreting a VAR.

 

Blanchard and Quah (BQ) start with (assumed to be) orthogonal shocks. In a two variable model, one is assumed to represent a “supply” shock and one a “demand” shock. It is expected that both shocks will have a non-zero impact on both variables, meaning that we must find a restriction somewhere else in order to identify the shocks. The BQ assumption is that the “demand” shock will have no permanent effect on one of the two variables.

 

Now the question arises: what does it mean for a shock to have only a temporary effect on a variable? This has to be defined in a way that produces a restriction that can be imposed upon a factorization. BQ accomplish this by assuming that the target variable is an integrated variable which is put into the VAR in differenced form. Translating the moving average representation on the difference to the corresponding levels requires merely taking running sums of the MAR coefficients. That is, if

\begin{equation} (1 - L){{\bf{y}}_t} = \sum\limits_{s = 0}^\infty {{\Psi _s}{{\bf{v}}_{t - s}}} \end{equation}

then

\begin{equation} {{\bf{y}}_t} = \sum\limits_{s = 0}^\infty {\Psi _s^*{{\bf{v}}_{t - s}}} \end{equation}

where

\begin{equation} \Psi _s^* = \sum\limits_{l = 0}^s {{\Psi _l}} \end{equation}

The restriction that a component of \(\bf{v}\) has no long-run effect on a component of \(\bf{y}\) can now be written

\begin{equation} \sum\limits_{l = 0}^\infty {{\Psi _l}} (i,j) = 0 \end{equation}

This is still not in a form where it can be imposed as a restriction on the factorization. However, if the VAR has been transformed so as to have an invertible auto-regressive representation (in effect, all the variables in it are now stationary), then the infinite sums of the moving average representation can be obtained by inverting the autoregressive representation. If we write the desired model in the inverted form

\begin{equation} {{\bf{y}}_t} = \Phi {(L)^{ - 1}}{\bf{B}}{{\bf{v}}_t} \end{equation}

with

\begin{equation} {\bf{BB'}} = \Sigma ,{\rm{ }}E{\kern 1pt} {{\bf{v}}_t}{{\bf{v'}}_t} = {\bf{I}},{\rm{ }}\Phi (L) = 1 - \sum\limits_{s = 1}^l {{\Phi _s}} {L^s} \end{equation}

then the matrix of sums of MA coefficients (the long-run response matrix) is

\begin{equation} \Phi \left( 1 \right)^{ - 1} {\bf{B}} \end{equation}

\(\Phi {\left( 1 \right)^{ - 1}}{\bf{B}}\) can be obtained after an ESTIMATE instruction as %VARLAGSUMS, and more generally can be computed using %MODELLAGSUMS(model).

 

The BQ restriction on \(\bf{B}\) (in a two-variable system) is that one of the four elements of this be zero. For simplicity, assume that this is the (1,2) element. (To make it the 1 row, you need to order the variables correctly when setting up the VAR). Now \(\Phi {\left( 1 \right)^{ - 1}}{\bf{B}}\) is a factor of \(\Phi {\left( 1 \right)^{ - 1}}\Sigma \Phi {\left( 1 \right)^{ - 1}}^\prime \) and the restriction can be imposed by making it the Cholesky factor of that matrix. The specialized function %BQFACTOR does the calculation of the required factor \(\bf{B}\).

 

compute  bqfactor=%bqfactor(%sigma,%varlagsums)

 

This gives a factor which has the proper behavior, but it may be necessary to correct the signs of the impact responses. If a shock has a zero long-run impact, then so does the same shock with the opposite sign. We need one sign convention for each column.  @ImpactSignFlip is designed to do this—the following will adjust BQFACTOR to make the impacts of each shock positive for GDP (variable 1 in this model):

 

@ImpactSignFlip bqfactor ||+1,+1||

 

Generalizing to Larger Systems

This generalizes to \(N\) variables by choosing a restriction that the long-run response matrix is lower triangular; that’s what you’ll get if you apply %BQFACTOR to a larger system. That, however, is unlikely to be a very interesting structure. More commonly, you’ll have a combination of restrictions on the long-run matrix and restrictions on \(\bf{B}\) (the impact responses) itself. This gives you a combination of short (actually contemporaneous) and long-run restrictions.

 

Unlike the models which are entirely contemporaneous, models with long-run restrictions cannot easily be handled if they’re over-identified. Because the maximum likelihood estimates of the lag coefficients are just the OLS estimates regardless of the value of \(\Sigma\), they can be concentrated out, allowing us to focus only on modeling the contemporaneous relationship. For a just-identified model of \(\Sigma\), long-run restrictions don’t restrict the lag coefficients (even though they’re a function of them), since we have enough freedom in the \(\bf{B}\) matrix to make the restrictions work while achieving the overall maximum for the likelihood. (All just-identified structural VAR’s have the same likelihood). If the model is over-identified, however, it’s almost certain that you can achieve a higher likelihood by adjusting the lag coefficients. While this could be done using NLSYSTEM, it involves estimating all the coefficients subject to rather nasty non-linear constraints.

 

If (as is typical) the restrictions in the model are done entirely by zero restrictions on elements of \(\bf{B}\) and elements of \(\Phi {\left( 1 \right)^{ - 1}}{\bf{B}}\), then these can be combined into the form

\begin{equation} {\bf{R}}vec({\bf{B}}) = 0 \end{equation}

where \(\bf{R}\) is a \(N\left( {N - 1} \right)/2 \times {N^2}\) matrix. This can be inverted to create the unrestricted parameters \(\bf{\Theta}\) by

\begin{equation} vec({\bf{B}}) = {\bf{R}}^ \bot \Theta \label{eq:var_solveforb} \end{equation}

where \({{\bf{R}}^ \bot }\) is an orthogonal complement of \(\bf{R}\) (computed with the %PERP function). The procedure @ShortAndLong can be used to get the factor matrix \(\bf{B}\). Input to this are the \(\Phi \left( 1 \right)^{ - 1} \),  \(\Sigma\), and pattern matrices for the long and short run restrictions. The pattern matrices have non-zero elements in the slots which aren't restricted, and zeros in the slots which are restricted to be zero. Each row represents a variable and each column represents a shock. So a 0 in the 1,2 slot of the long-run pattern means that shock 2 is restricted to have no long-run effect on variable 1.

 

The following is an example of the use of @ShortAndLong. While you could use any non-zero value to represent the non-zero slots, we’ve found that using the . (missing value) makes this easier to read and understand.

 

dec rect lr(4,4)

dec rect sr(4,4)

input sr

 . 0 0 .

 . 0 . .

 . . . .

 . . . .

input lr

 . 0 0 0

 . . . .

 . . . .

 . . . .

@shortandlong(sr=sr,lr=lr,masums=inv(%varlagsums),factor=b) %sigma

 

The (column) RRWZ counting rule applies here; you just have to count 0’s across the two matrices. This is just-identified because the columns have 0, 3, 2 and 1 zeros.

 

While @ShortAndLong can’t estimate a model unless it’s just identified, you can input into it an underidentifying set of restrictions so it can compute the representation \eqref{eq:var_solveforb} in terms of a reduced number of parameters. To do this, add the options NOESTIMATE and RPERP=R Perp Matrix. You can then use this with CVMODEL to estimate with additional types of restrictions. This, for instance (which is included in the Gali QJE 1992 replication programs) has two short-run, three long-run and one additional restriction that variable 3 not enter shock 3.

 

input sr

 . 0 0 .

 . . . .

 . . . .

 . . . .

input lr

 . 0 0 0

 . . . .

 . . . .

 . . . .

@shortandlong(sr=sr,lr=lr,masums=inv(%varlagsums),factor=b) %sigma

compute bv=%vec(%bqfactor(%sigma,%varlagsums))

compute [vect] theta=%ginv(rperp)*bv

dec frml[rect] bf af

frml bf = %vectorect(rperp*theta,4)

frml af = inv(bf(0))

nonlin(parmset=base) theta

nonlin(parmset=r8) af(0)(3,3)==0.0

cvmodel(parmset=base+r8,b=bf,iters=400) %sigma


As with the simpler BQ model, models with short- and long-run get the “shape” right, but don’t necessarily give the expected sign, so you might need to change the signs on some of the columns of the factor to give the impacts the correct interpretation.


Copyright © 2025 Thomas A. Doan