Hello everyone,
I did a sign restrictions VAR with Montford and Uhlig RATS code. But it invited a lot of criticism on the lines of Arias, Rubio-ramirez and Waggoner who say that Mountford and Uhlig's code is inefficient as it does not draw properly from the posterior distribution of structural parameters and generates biased impulse response functions. Instead they suggested an efficient algorithm that draws properly from the posterior distribution of structural parameters conditional on sign and zero restrictions.
Does anyone have the code of Arias, Rubio-Ramirez and Waggoner? My defense is close and I need this very urgently. Any help is truly appreciated.
Thanks.
Sign Restrictions-Arias,Rubio-ramirez and waggoner code
Re: Sign Restrictions-Arias,Rubio-ramirez and waggoner code
There's no (mathematical) difference between the ARRW procedure and the sequential rejection method shown in the RATS code (in the "x" not the "b" programs). It's the penalty function approach ("b" programs) that demonstrates bias.
Note, BTW, that the "efficiency" of ARRW is greatly oversold. The time cost of generating the impulse vectors in one go vs one at a time is trivial---drawing VAR coefficients and computing IRF's for them is the "hot spot" in the analysis. Also, the sequential RATS code uses symmetry with respect to sign to make sure that one sign is always correct in an impulse vector. If you don't do that, you end up taking 2^# of identified shocks times as many draws to achieve a given number of accepted draws. If you're identifying five shocks, that's a factor of 32, which may be the difference between being done during lunch break vs having to run overnight.
Note, BTW, that the "efficiency" of ARRW is greatly oversold. The time cost of generating the impulse vectors in one go vs one at a time is trivial---drawing VAR coefficients and computing IRF's for them is the "hot spot" in the analysis. Also, the sequential RATS code uses symmetry with respect to sign to make sure that one sign is always correct in an impulse vector. If you don't do that, you end up taking 2^# of identified shocks times as many draws to achieve a given number of accepted draws. If you're identifying five shocks, that's a factor of 32, which may be the difference between being done during lunch break vs having to run overnight.