Page 1 of 1

convergence problem

PostPosted: Tue Mar 02, 2010 3:12 am
by umut
Hello everyone,

I do have a model that includes stochastic shock which Dynare can handle. However, if I convert that shock to a deterministic one, I experience convergence problem. Even though everything is same in the files, but, when I replace the stochastic shock with a deterministic one, I am not able to get the solution. You can see both of the files attached. Do you have any idea regarding this problem?

Best regards

Re: convergence problem

PostPosted: Tue Mar 09, 2010 9:14 am
by SébastienVillemot
Hi,

I guess that the shock in determistic mode is too big, so that the models enter a region of the state space where it is no longer stable. Remember that the stability criterion (as embodied by the Blanchard-Kahn conditions) is only a local property valid in the neighborhood of the steady state.

Try to diminish the size of your shock.

Best

Re: convergence problem

PostPosted: Thu Mar 11, 2010 10:43 am
by StephaneAdjemian
Hi,

(To be less pessimistic than Sebastien) Even if the model is globally stable and if there is no indeterminacy problem, as it would be in a Ramsey growth model, if the initial condition is too far (or the shock too big) the deterministic solver may fail in finding the solution (where too far or too big depend on the degree of nonlinearity of the model). The solution of a perfect foresight model is computed by solving a large system of nonlinear equations (the FOCs defining the model at all the periods). If the solution (the path for the endogenous variables) is too far from the initial condition the newton routine used to solve this system will fail. By default in Dynare, the initial condition for the path of the endogenous variables is the steady state (last steady state if the shock affects the steady state).

In your case, if you really need big shocks or large initial deviation to the steady state, an homotopic approach can be used. I will post an example as soon as possible on the wiki (briefly this can be done with a loop around the simul command).

Best, Stéphane.