Problem with ZLB implementation

Hi, I am trying to replicate a DSGE model and adding the ZLB binding constraint and I am using Occbin in dynare 5.0. Unfortunately, I get some errors. Could you help me understand the problem?

EA_SW03_rep.mod (11.6 KB)

Thank you
Marco

The error occurs, because the exogenous variable y_ is not used in the model-block.
Either delete this variable from the varexo; command or use the nostrict-option.
E.g. dynare EA_SW03_rep nostrict

I always use the nostrict-option! There are other errors!

I cannot replicate the errors! If I call your file with dynare EA_SW03_rep nostrict under Dynare 5.0, it works.
But you have not added the ZLB binding constraint.

Sorry, the file with ZLB binding constraint is this:
EA_SW03_rep_zlb.mod (11.9 KB)

Your implementation of the ZLB is wrong.

occbin_constraints;
name 'ZLB'; bind interestq<1;
end;

Since you use the linear option in the model block, interestq is zero in steady state.
But under your implementation the constraint will bind in steady state and you stay in the alternative regime. OccBin requires that the solution returns back to the reference regime in finite time.

Maybe you are looking for something like this:
EA_SW03_rep_zlb.mod (12.2 KB)

ok, thank you very much. Now it is really clear!

Hello everyone. I am working with macrofinance model that takes the nominal interest ZLB into account and I use the occbin setup to estimate and simulate the model. The model features a unit root. I have 3 questions/problems.
I am able to perform a bayesian estimation, using the implementation code with occbin provided by Prof. Pfeifer. However, when I plot bayesian Irf, the ZLB is violated 1) any hint of what is going on?
And the command stoch_simul after estimation does not provide any irf for the interest rate. 2) any hint of what is going on?
Finally, I am not able to simulate the model when using occbin_setup and occbin_solver command (" Simulation did not converge, increase maxit or check_ahead_periods"). 3) Any idea of how to solve the issue.
Any help or hint would be appreciated. Thanks.
modelshort_simul.mod (5.8 KB)

  1. bayesian_irf does not support the occasionally binding constraints. The same applies to stoch_simul.
  2. It seems you setup is wrong. The baseline regime is the one where the constraint is non-binding. But
bind R1N_ZLB <= 0.00125;

seems to hold for the steady state

R1N_ZLB           =		 -0.000889861;

Thank you for your prompt answer. I need some clarifications

  1. I get it. Therefore, is it possible to obtain impulses responses of variables following any shock of my model, to verify if the constraint is binding or not?
  2. I am not sure to understand your second point. What is wrong in my setup? Do you mean I should set the constraint at the steady state?
    Thank you.
  1. Usually, you would to this by employing the occbin_solver in the simulation context you want (it seems you want a one-time shock).
  2. Please read the manual. The baseline/steady state regime is the relax one. But your steady state falls into the bind-regime.

Thank you. Now I am able to run the occbin solver without problems. But that raises an additional question.
After running occbin, oo_.endo_simul is empty. And if I use the occbin_graph command, I only get a straight horizontal line. Is it also due to a wrong setup or is it how my model behaves?

I would need to see the files.

I get the answer to my question. I had to define shocks(surprise) in order to get fluctuations.
However, I have two last questions.

  1. When I use occbin_graph, R1N and R1N_ZLB fall (graph attached) below the ZLB that I fixed at the interest rate steady state. Does it mean my constraint is not binding?
  2. Can we perform forecastings with the occbin setup?
    I attach the files.
    Thank you for your time.

modelshort_simul.mod (6.1 KB)

  1. R1N is not restricted in your model. R1N_ZLB is the actually restricted variable. It is not allowed to fall below -0.00088987, which is exactly what happens for the piecewise linear solution.
  2. What do you mean with forecasting? That is just a simulation of the future behavior.

Thanks a lot again. That means my setting was a bit weird.
And yeah I meant simulation for the future behavior of the variables. Is it something that can be done with Occbin?

Or maybe estimates of my bayesian estimation will make sure that the interest rate does not hit the lower bound when I add the forecast option in the estimation command or the forecast command after the estimation command?

No, the forecast-command cannot accommodate occasionally binding constraints. Do you have a controlled environment in mind? Do you know the value of the state variables when you start forecasting? Or is that the purpose of your estimation?

Thanks for your answer

  1. At some point I will have to restrict the path of some variables, depending on the scenarios I want to implement (in a controlled_varexo setup), but I do not have a controlled environment in mind.
  2. I was thinking of using the smooth option in the estimation command and then use the smoothed state variables as starting values.
  3. The purpose of the estimation is to find the values of some parameters of interest, given the ZLB. Then, having those values of parameters, I want to forecast the fed’s interest rate, given the ZLB (I will have to play with different scenarios).

Any hint about my questions or maybe what I am trying to do is not feasible yet with dynare ?