Statistics and Algorithms / Vector Autoregressions / Structural Residuals |
If \(\bf{u}_t\) are the standard VAR residuals, and we have a structural model \(\bf{u}_t = \bf{F}\bf{v}_t\), then the structural residuals are the observed values of \(\bf{v}_t\), that is, \({\bf{v}}_t = {\bf{F}}^{ - 1} {\bf{u}}_t \). In general, each component of \(\bf{v}_t\) will be a linear combination of the full corresponding vector of VAR residuals \(\bf{u}_t\). The easiest way to generate this is with the procedure @StructResids. This takes as input the factor matrix and the VECT[SERIES] of VAR residuals (retrieved using the RESIDS option on ESTIMATE), and produces a VECT[SERIES] of the structural residuals.
For instance, to compute the structural residuals for a Blanchard–Quah factorization, do:
estimate(resids=resids)
compute bqfactor=%bqfactor(%sigma,%varlagsums)
@impactsignflip ||+1,+1||
@structresids(factor=bqfactor) resids %regstart() %regend() sresids
For a Cholesky factorization, it would be
estimate(resids=resids)
@structresids(factor=%decomp(%sigma)) resids %regstart() %regend() sresids
@StructResids can also be used if you only have a partial factorization of the covariance matrix ("Isolating a Single Shock"), where it will produce a set of series with the same rank as your partial factor).
Copyright © 2025 Thomas A. Doan