Hi! I’ve been working on a replication (including the estimation) of Del Negro, Giannoni and Schorfheide 2015 “Inflation in the Great Recession and New Keynesian Models”. I’ve built the model from the authors replication files provided with the paper. I’ve managed to find the initial parameter values for the steady state, but now I have the problem that the BK conditions are not satisfied (the rank condition ISN’T verified) – there are 12 eigenvalue(s) larger than 1 for 11 forward-looking variable(s). I have searched the forum, but I am currently stuck. If anyone could give me a pointer, it would be much appreciated!

Best,

Daniel

Replication_Del_Negro_et_al_2015.mod (12.3 KB)

I have found a mistake in my transposition from Sims’ form to Dynare’s form and will get back with the status once I have corrected this.

There is most probably a timing error due to different conventions between Sims and Dynare. For example, is

```
Rktil(+1) = 1*R
-(sigmac*(1+h*exp(-zstar)))/(1-h*exp(-zstar))*b
+zeta_spb*qk
+zeta_spb*kbar
-zeta_spb*n
+1*sigw
+1*mue;
```

really supposed to define the expected value of `Rktil`

?

Thank you for the reply!

In the paper Rktil(+1) and Rktil are the following:

`Rktil(+1) = R+b+zeta_spb*(qk+kbar-n)+sigw;`

`Rktil = pi+rkstar/(rkstar+1-del)*rk+(1-del)/(rkstar+1-del)*qk-qk(-1);`

In the Matlab code from the authors they are:

`G0(spread,E_Rktil) = 1;`

`G0(spread,R_t) = -1;`

`G0(spread,b_t) = (sigmac*(1+h*exp(-zstar)))/(1-h*exp(-zstar));`

`G0(spread,qk_t) = -zeta_spb;`

`G0(spread,kbar_t) = -zeta_spb;`

`G0(spread,n_t) = zeta_spb;`

`G0(spread,sigw_t) = -1;`

`G0(spread,mue_t) = -1;`

and

`G0(capval,Rktil_t) = 1;`

`G0(capval,pi_t) = -1;`

`G0(capval,rk_t) = -rkstar/(rkstar+1-del);`

`G0(capval,qk_t) = -(1-del)/(rkstar+1-del);`

`G1(capval,qk_t) = -1;`

I transpose this to:

`Rktil(+1) = 1*R`

`-(sigmac*(1+h*exp(-zstar)))/(1-h*exp(-zstar))*b`

`+zeta_spb*qk`

`+zeta_spb*kbar`

`-zeta_spb*n`

`+1*sigw`

`+1*mue;`

and

`Rktil= 1*pi`

`+rkstar/(rkstar+1-del)*rk`

`+(1-del)/(rkstar+1-del)*qk`

`-1*qk(-1);`

Notice the discrepancy in Rktil(+1) how `b`

enters in the paper vs. in the matlab code – also the shock mue is simply omitted from the equation in the paper.

Is the `mue`

the expectational shock one needs to define to apply Sims? If yes, then that is the problem.

`mue`

is defined as a financial friction, though it is not described in more detail.

The expectational shock for Rktil is called `ERktil_sh`

You need to convert the Sims notation back into Dynare notation.

But aren’t the equations in my mod file already in Dynare notation? The line breaks may look confusing, but I did this for easier comparison with the Sims notation. I could also slightly rearrange the equations to make them look neater, but this should not affect the model.

I haven’t worked with the Sims code, but I am not sure that the matrices can be transferred one to one when it comes to forward-looking variables. The starting point of this thread was a Blanchard-Kahn error. Most of the time that’s due to a timing error.