Occbin simulation does not converge in certain cases

Dear community,

I am trying to solve a modified version of the model in Iacoviello (2005). In the model, I introduce a preference shock to drive the economy to ZLB. I am having problems with getting OccBin to work though. When I introduce a preference shock of 0.05 which should drive the economy to the ZLB, I get an error message saying:
“Occbin: Simulation did not converge – infinite loop of guess regimes”

When the shock is only 0.01 and the ZLB is not binding, the model is running smoothly.
I have also tried using a negative interest rate shock of -5 (eR in the code), here the ZLB is binding as expected. However, when trying with a positive interest rate shock of 5, OccBin is again returning the error message.

Could anyone potentially nudge me in the right direction as to where the error is? Please, find attached the execution file and the mod file.

Thank you in advance.

Best regards
Thomas Jensen

BA_model_zlb.mod (3.7 KB)
execute_BA_model_zlb.m (1.5 KB)

It’s hard to understand what is going on. But it seems that large shocks that trigger the ZLB to bind for a long-time result in no solution. You should experiment with shock sizes and endogenous persistence mechanisms to try to understand the model better.

Dear @jpfeifer,

I have simulated the attached file and obtained the error below. The model nicely works without occbin constraint. Could you help me handle with the problem ?

Thanks in advance
Yusuf
"
Error using print_info (line 32)
Occbin: Simulation did not converge, increase maxit or check_ahead_periods.
Error in occbin.solver (line 70)
print_info(error_flag, options_.noprint, options_)
Error in model3.driver (line 399)
oo_ = occbin.solver(M_, oo_, options_);
Error in dynare (line 281)
evalin(‘base’,[fname ‘.driver’]);"

model3.mod (2.4 KB)

At a minimum, the constraint should be that

name 'ZLB'; bind r<=-log(1/beta);

not

name 'ZLB'; bind i<=-log(1/beta);

because at the ZLB you fix i=log(1/beta).
A smaller shock works on my machine but already makes variables explode to huge values:
model3_occ.mod (2.4 KB)

1 Like

Thanks