Can I Use Many Sign Restrictions in My Large VAR?

Based on Chan, Matthes and Yu (2026)
[ Journal Version | Working Paper | Full tutorial on GitHub ]

Chan (2022)
[ Journal Version | Working Paper | Code ]

In this tutorial we identify eight structural shocks in a 35-variable US VAR using 98 sign restrictions and 7 ranking restrictions on the impact responses. The conventional accept-reject algorithm of Rubio-Ramírez, Waggoner and Zha (2010) is not computationally feasible at this scale, and it accepts none of the 776,000 candidate draws made here. The algorithm of Chan, Matthes and Yu (2026) obtains 100 draws that satisfy every restriction from those same candidates, one in 7,760, and targets the same posterior distribution. The two algorithms differ only in which column of a candidate rotation may represent which shock.

Impulse responses to a monetary policy shock

Figure 1: Responses of six of the 35 variables to a one-standard-deviation monetary policy shock, over 36 quarters. The dashed line denotes the posterior median and the shaded area the 68 percent credible band, over the 100 admissible draws. Output, prices and investment fall, unemployment rises and the funds rate rises on impact; only the impact signs are restricted, so the paths beyond quarter zero are what the data and the prior imply.

Try it

In MATLAB, from the root of a copy of bvar-toolkit: