I try to simulate OccBin (Dynare 5.1).
I successfully simulate optimal discretionary policy case of Gali (2015, Chapter 5). (Slightly modifying Johannes’s file)
However, I fail to simulate optimal commitment policy case of Gali (2015, Chapter 5). (Also slightly modifying Johannes’s file)
I have the following message:
Error using print_info (line 32)
Occbin: Simulation terminated with periodic solution (no convergence).
Error in occbin.solver (line 70)
print_info(error_flag, options_.noprint, options_)
Error in optimal_w_qe.driver (line 261)
oo_ = occbin.solver(M_, oo_, options_);
Error in dynare (line 281)
However, the old version of OccBin (e.g., Dynare 4.5.7) works very well.
I think Dynare 5.1 may have some problems.
Could you help this issue?
Thank you so much in advance.
could you submit your code (mod-file)?
Thank you for your reply.
Please find attached two mod files.
commitment.mod (3.1 KB)
discretion.mod (3.2 KB)
Your codes do not run.
z is not defined. Apart from that, you cannot use
i to check for a relaxing of the constraint. It should be
name 'zlbcon'; bind i<=-ibar/(1+ibar); relax xi_3>0;
Thank you so much Johannes!
I would like to ask you why under discretion, “relax i>-ibar/(1+ibar)” works well and generate same results to “relax xi_3>0”?
It’s a matter of numerical precision. If you set
simul_maxit=1000 you will get an error message that a periodic solution was found. This is caused by oscillations between the two regimes. Occbin has a hard time finding out whether the ZLB is binding or not due to observations close to the ZLB. You can fix this by introducing a slight tolerance for reverting to the non-binding state:
name 'zlbcon'; bind i<=-ibar/(1+ibar); relax i>-ibar/(1+ibar)+1e-8;