Hello,

I’m new to Dynare and I was wondering if Dynare has a way of handling inequality constraints of the type:

a<=0 and a*b=0

Thanks very much for your help.

Best,

GH

Hello,

I’m new to Dynare and I was wondering if Dynare has a way of handling inequality constraints of the type:

a<=0 and a*b=0

Thanks very much for your help.

Best,

GH

No it hasn’t yet. Your model has to be continuous to use perturbation methods. Occasionally binding constraints introduce discontinuities. You can only solve these models if the constraint binds in steady state and in the neighborhood of this steady state (i.e. it always binds with equality in the region you are interested in).

To handle this kind of constraint, you need global solution methods.

Nonetheless, I think working with inequality constraints in models solved by perturbation methods is at least no more wrong that working with inequality constraints in log-linearized models, which is something everybody does (see the zero lower bound literature).

In both cases you’re basically assuming that the polynomial approximation remains valid up to the point at which the constraint binds.

The last appendix to my paper users.ox.ac.uk/~ball1377/tholden_jmp.pdf contains a particularly convenient way of generating IRFs for linear models with inequality constraints using Dynare. You basically treat the constraint binding as a news shock which arrives at the same time as the impulse, which just leaves a quadratic optimization problem to solve in matlab. If you want to simulate models with inequality constraints though, or you want higher order approximations, you won’t be able to rely on Dynare to do most of the work for you though. (See the zero lower bound literature instead.)