Hi, I have a two-country model with borrowing constraints and various non-arbitrage conditions among different financial assets. I introduce an occasional binding constraint for the reference interest rate. I apply a productivity shock to the economy. When the constraint is not binding, the model functions correctly (in the mod file with a productivity shock of 0.02). However, for a larger shock (a productivity shock of 0.04), the constraint becomes binding, but ‘occbin’ does not work due to convergence problems. This occurs every time the constraint becomes binding, regardless of the number of periods during which it is binding and the tightness of the constraint. Could anyoe help me? I attach the mod file and the calibration file that should be run before running the mod. Thanks so much.
calibra_BFR_v8.m (25.8 KB)
Model_BFR_v7_b_LTV_Occ.mod (20.0 KB)
The m-files called in the calibration file are missing.
Sorry. Here they are.
xss_cons_v6.m (3.3 KB)
xss_emp_v6.m (1.1 KB)
xss_house_v6.m (916 Bytes)
There was a tricky issue in your code. You set
shocka = (1-prhoa) + prhoa*shocka(-1) +log(za);
shockaf = (1-prhoaf) + prhoaf*shockaf(-1) +log(zaf);
but the steady state of exogeneous variables is 0, leading to log(0)
.
Thank you, Prof. Pfeifer! The issue has been resolved. Your assistance is greatly appreciated!.
I would like to discuss a particular point to gain a better understanding of what is going on.
In the version I sent you, the shock was defined as
‘shocka = (1 - prhoa) + prhoa * shocka(-1) + log(za)’,
where ‘za’ was initialized as ‘za = 1’. This setup resulted in the exogenous shock having a steady state value of 1, ‘log(za)’ equated to 0, and ‘shocka’ equaled 1. The response functions in the attached plot, represented by the sole red line, display this.
In my recent adjustment, I redefined the shock as
‘shocka = prhoa * shocka(-1) + za’,
setting ‘za’ exogenously to 0 and consequently ‘shocka’ to 0. In the first case, the shock was introduced in the model as ‘shocka * X’, while in the second case, it was presented as ‘(1 + shocka) * X’. The response plot I’ve included demonstrates that the shock’s response starts from zero (seen in the plot corresponding to the response under relaxation and binding constraints).
That is, the response of ‘shocka’ in the first case is identical to that of ‘(1 + shocka)’ in the second case, which should result in equivalent responses in the endogenous variables. However, this equivalence is not observed when using Occbin.
I am not sure I get the question. But with OccBin, the ZLB starts binding, explaining the difference in results in the bottom picture.