Blanchard conditions in stochastic and deterministic models


Is it possible that the Blanchard-Kann conditions are verified in a stochastic model but not verified in a deterministic framework?

Are Blanchard-Kann conditions necessaries to solve a deterministic model?

Is it possible that a model is solvable when defining a stochastic shock and not solvable when defining a deterministic shock?



Yes, in principle that can happen. The BK conditions are local conditions (stability of linear difference equations around a steady state). A model can be locally stable in some region but still move outside that stability region and then explode.

But if I use the options stack_solve_algo=0 and linear_approximation in the perfect_foresight_solver command, shouldn’t I be able to recover approximative results than those obtained when using stoch_simul(order=1) ?

At least if the model run in the stochastic framework, it should run also in a linear approximation of the deterministic right ?

Yes, if you are approximating around the same point.

Ok, if that is the case, then I have no idea what is going wrong in this model…

I attach the code. If you have the time, could you please help me looking at it? Maybe you will have an idea of what I’m doing wrong here…

RegardsADS_NE.mod (3.9 KB) !

From what I can see, there is a zero row in the stacked Jacobian creating problems. Maybe @MichelJuillard or @sebastien can have a look. In the updating step of sim1_linear, we have

rows_with_all_zeros = find(all(A’==0))

giving 1423. But I have a hard time figuring out which variable causes this.

Blanchard and Kahn are neither sufficient nor necessary to obtain a solution to a perfect foresight model: if there exist multiple stable solutions to the model, the perfect foresight algorithm may sometimes return just one of them.
Even if the BK conditions are satisfied, there is another condition that must be met: the model must such that given past and future value of the variables, there exists a unique solution for the current variables of the model. In your model, equation 2

R(+1)*Lambda(+1) = 1

is the culprit: there is no current variable in that equation. This equation doesn’t really determine today’s interest rate. Any process for the today’s interest rate such that the expected value of tomorrow interest rate rate satisfies this equation would do. You should revisit the timing of interest rate in the model.
The simulation with perfect foresight fails because we compute the actual value of the variables on a finite horizon. On the other hand, the approach for the stochastic model finds a solution because we are looking for a policy function in infinite horizon adding the asymptotic stationarity constraint.

Hello Michel,

Thank you for the answer. That was it! By replacing R(+1) by its equivalent thanks to the Fisher equation

1+i = R(+1)*Pi(+1)

then the code run in perfect foresight!

Bonne fin de journée !