Hi all,
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)
evalin(‘base’,[fname ‘.driver’]);
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.
Max1
May 8, 2022, 12:11pm
2
Hi rubyss,
could you submit your code (mod-file)?
Dear Max,
Thank you for your reply.
Please find attached two mod files.
commitment.mod (3.1 KB)
discretion.mod (3.2 KB)
Many thanks!
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
occbin_constraints;
name 'zlbcon'; bind i<=-ibar/(1+ibar); relax xi_3>0;
end;
rubyss
May 10, 2022, 11:35am
6
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”?
Best wishes.
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:
occbin_constraints;
name 'zlbcon'; bind i<=-ibar/(1+ibar); relax i>-ibar/(1+ibar)+1e-8;
end;
1 Like