Complementary Slackness (ZLB)

Hi,

I am trying to implement a complementary slackness condition in Dynare as follows:

phi*pi + y = 0 as long as i>=-ibar/(1+ibar)
or i = -ibar/(1+ibar) = -0.0030

I tried to write the code as follows:
[mcp = ‘i > -0.0030’]
0 = phi*pi + y;
and used it with
simul(periods=40,stack_solve_algo=7,solve_algo=10);

But I get the error “ERROR: calvo_ni.mod: line 77, cols 37-46: syntax error, unexpected SOLVE_ALGO”.

Can someone please tell me how to fix this?

I am attaching the mod file here for details.

The code works if I say: simul(periods=40) instead. But I am not sure that Dynare implements the complementary slackness condition without specifying the solve_algo and stack_solve_algo.

calvo_i.mod (2.8 KB)

Hi,

What is your version of Dynare? This algorithm has been introduced in 4.5.x I think. Did you try to replace:

simul(periods=40,stack_solve_algo=7,solve_algo=10);

by

simul(periods=40, lmmcp);

which should be equivalent.

Best,
Stéphane.

Also, but this has nothing to do with the error you have, periods=40 is in general too short.

Best,
Stéphane.

Hi,

Thank you for your response. My dynare version is 4.4.3. I did try lmmcp as well, but I get the error of “UNEXPECTED NAME”.

Point well taken about periods = 40 being too short, but for my purpose, the number of periods beyond ~20 is irrelevant.

Best,
Vaishali

Please upgrade to Dynare 4.5. If that does not work, please provide the files to replicate the issue.

Hi,

I upgraded to 4.5.3 and the issue was resolved. Thank you both for your help.

Best,
Vaishali