DSGE-2015-Apr icon indicating copy to clipboard operation
DSGE-2015-Apr copied to clipboard

bugs in steady state and equilibrium conditions

Open ikarib opened this issue 7 years ago • 4 comments

Hello,

I followed derivations of non-linear conditions and log-linearization of FRBNY model in sections 7 and 8 of the online technical appendix to Chapter 2 - DSGE Model-Based Forecasting in Handbook of Economic Forecasting, kindly made available online.

Below I explain a few bugs in the code which I found by replicating FRBNY model (version 990) using IRIS toolbox. My IRIS code replicates the impulse responses exactly (up to 10 digits after decimal point).

The are four bugs in steady state calculation (getpara00_990.m):

Bug #1: Labor can not be normalized to one (as in SW) since it violates FOC for labor in steady state. Proof: This was mentioned in appendix (page 58) but not implemented in the code.

Bug #2: "bet" should be replaced by "betbar" in equation for wekstar, zeta_nR, zeta_nqk and zeta_nn Proof: In sections 7.4 and 7.5, equations 7.25 and 7.44 assume log-utility (unlike section 8.1.2 where sigmac is not equal 1 and hence can not cancel out). Therefore in these equations "bet" should be replaced by "betbar".

Bug #3: "kstar" should be replaced by "kbarstar" in equation for nstar and vstar Proof: In the same equation 7.25, the ratios nkstar and wekstar are taken w.r.t. to kbarstar not kstar.

Bug #4: zeta_bmue should have a minus sign Proof: zeta_bmue has a minus sign in equation 7.86 (as a typo zeta_b,x) and the whole expression on r.h.s. can be simplified to just "zeta_{b,mue}=1-\tilde{R}^k__/R__".

The are also two bugs in equilibrium conditions (eqcond990.m):

Bug #5: missing normalization of shock b_t in evolution of net worth Proof: In equation 7.51 when adding shock -b_{t-1} after -R_{t-1}, the shock needs to normalized by -(sigmac_(1+h_exp(-zstar)))/(1-h*exp(-zstar)).

Bug #6: missing term z_{t-1} and incorrect coefficient for term z_t in Phillips curve for wages Proof: If we take wage Phillips curve (equation 13 in SW) and replace pi_t with pi_t+z_t then we don't get the same equation as 8.106.

You can see the fixed code on my forked version at GitHub.

ikarib avatar Sep 28 '16 23:09 ikarib