I am new to Dynare. Can any one please tell me how to add a 1 p.c. shock (from steady steady state of a log-linearised model) to a variable in Bayesian IRF.
Although I changed the shock values in the Shocks block, I always get 1 standard error shock for IRFs.
I cant find this in the manual or user guide.

You need to hack Dynare 4.4.3 a bit. First, before the estimation command, put

Then, in PosteriorIRF_core1.m, delete the multiplication by 100 in

if options_.relative_irf
y = 100*y/SS(i,i);
end

That way, you will get a shock size of 1, which can be interpreted as 1 percent in log-linear models. For example, if you get a response of output of 4 after a TFP shock, it means output increases by 4% following a 1% TFP shock (you will see TFP jump to 1).

If you do not delete the 100 and only use the relative_irf option, you will get the percent response to a 100% shock.

It works when I use “options_.relative_irf=1;” before estimation command.

However, the other trick to get 1 p.c. does not work. What I did was, as you mentioned, removed “100” from the PosteriorIRF_core1.m file. The file is located at c:Dynare\4.4.3\matlab folder. But still I get values with 100 p.c.

Is it the correct file that I should amend? Please let me know.

To clarify: with the 100 in a linearized model, the shock size is 100, without the 100 the shock size is 1. This 1 can be interpreted as one percent if you interpret all other IRFs also in percent. If you want to interpret 0.01 as 1%, you need to replace the “times 100” with a “divided by 100” to get a shock size of 0.01.

P.S.: Earlier I have changed the *PosteriorIRF_core1.m * file in Dynare 4.4.3, thinking I was working on Dynare 4.4.3. Now I realized, although I installed Dynare 4.4.3 few weeks ago, still I had been working on Dynare 4.4.0. The IRF issue allowed me to reveal this issue too!. Thanks.