Question regarding Gali Ch.5 dynare codes

Hi everyone,

I’ve been going through the excellent replication codes by Johannes Pfeifer for Gali 2015.

In Gali (2015) Chapter 5, a cost push shock is motivated as a time-varying discrepancy between the natural level of output y^n_t, and the efficient level of output y^e_t. On page 128 in Gali’s book, it says u_t = \kappa(y_t^e - y_t^n).

Assuming that natural output is a function of technology, y_t^n = \psi^n_{ya}a_t, then it seems as if fluctuations in u_t are associated with fluctuations in y^e_t, and by extension, fluctuations in r_t^e.

Yet, in the codes for Chapter 5 by Johannes Pfeifer, y_t^e and r_t^e don’t fluctuate, in response to cost push shocks. In the codes, I found the definiton y^e_t=\psi^n_{ya}a_t, which is not in the book. Since y^e_t doesn’t move, r^e_t doesn’t move either.

My question is: is it possible that y^e_t was not correctly defined in the codes? (It should not matter for the remaining results, since it is only the definition for y^e_t which would be incorrect, other equations would be unaffected.)

I’m referring to the codes here: DSGE_mod/Gali_2015 at master · JohannesPfeifer/DSGE_mod · GitHub, for commitment and discretion.

Maybe I’m overlooking something.

Kind regards and thanks

Hi everyone,

I might have found a solution. Willi Mutschler has in his Chapter 5 codes (Optimal policy in the New Keynesian Baseline model with Dynare | Willi Mutschler), the definition for the efficient level of output as y^e_t=\psi^{YA}*a_t, but importantly, he backs out the natural level of output from this definition u_t = \kappa*(y^e_t-y^n_t), I think this is correct, since it introduces the wedge in between natural and efficient output which seems absent in Johannes Pfeifers codes for Ch. 5. But it would be great to see if others agree with that.

Kind regards and thanks
D

I am not sure I understand the distinction. My code also contains

[name='Definition natural output']
y_e=psi_n_ya*a;
[name='Implicit definition of natural output, following from definition of u']
u=kappa*(y_e-y_nat);

Thanks Johannes, but at least in the version I have, for discretion (DSGE_mod/Gali_2015/Gali_2015_chapter_5_discretion.mod at master · JohannesPfeifer/DSGE_mod · GitHub), it contains:

[name=‘Definition natural output, eq. (20)’]
y_nat=psi_n_ya*a;

Which would imply y_nat = y_eff, so the cost push shock is not associated with a wedge between these two in your code, right?

Best

I see. That was a bug in the _discretion file. I was looking at the one under commitment. That one was correct. I fixed the problem in Gali_2015/Gali_2015_chapter_5_discretion.mod: correct natural output · JohannesPfeifer/DSGE_mod@c2937f8 · GitHub

Thank you!