I would like to ask whether it can make a small quantitative difference for the IRFs to linearize a model by hand and then let Dynare solve the model as opposed to programming the non-linear model and letting Dynare do the linearization. For the model I am currently working with, I find that it does, and I would like to know whether this can happen in principle or whether it implies that I made a mistake in the linearization.
To give you a sense of magnitudes: after three quarters, I observe that the deviation of output from its steady state in response to one sd. monetary policy shock is 0.83% if I use the code featuring the nonlinear model (which is then linearized by Dynare) but 0.82% if I use the code where I programmed the linear model.
It might be of interest in this regard that the non-linear code includes several auxiliary variables and equations not present in the linear model. For instance, the wage and price Phillips curves each consist of four equations in the non-linear model since I have to define auxiliary variables to get rid of infinite sums. By contrast, in the linear model there is only one equation for the wage and price Phillips curves each. Can this make a small difference for the quantitative results?
Thank you very much in advance for your help!
did you manually set order=1 in the stoch_simul command? While there may be differences between solution procedures, they should be a lot smaller than in the second decimal, see Anderson (2006): Solving Linear Rational Expectations Models: A Horse Race, federalreserve.gov/pubs/feds/2006/200626/200626pap.pdf.
However, this result pertains only to exactly identical models. I am not sure what happens if you directly approximate the price setting equation vs. using the recursive formulation of Schmitt-Grohe/Uribe which is then approximated by Dynare. If the new variables (i.e. policy functions) you introduce exhibit more curvature it is conceivable that this may lead to a somewhat larger approximation error. But this is only a guess.
thank you very much for your quick response. Yes, I manually set order=1 int the stoch_simul command both in the code featuring the non-linear model and in the code featuring the linear model.
I found a (small) mistake in the non-linear model, the correction of which has narrowed the difference: after three quarters, the deviation of output from its steady state in response to one sd. monetary policy shock is -0.82223930362812700000%
if I use the code featuring the nonlinear model (which is then linearized by Dynare) but -0.82220799840437700000% if I use the code where I programmed the linear model.