Interest Rate Pegs in PF


There didn’t seem to be a separate topic on this and so I decided to create this topic, which would hopefully serve as a reference to anyone trying to do this.

I would like to ask what is the simplest way to model an interest rate peg/zlb in a linearized PF model? By a peg, I mean that I would like to hold the interest rate at the SS for T number of periods. The following simple expression works for a non-linear case:

R=ex* R_ss+(1-ex)(phi_pi* pi+phi_y* Y));

where ex is a shock equal to 1 for T number of periods. That means the interest rate remains at SS for duration of T.

Doing the same thing in a linear version of a model(while keeping in mind that the steady state is now zero) essentially getting rid of the R_ss*ex part does not work.

Another approach that I have seen does the following “trick”:

R  = s1(-1);                                                                
s1 = s2(-1);                                                                                                              
s2 = s3(-1);                                                                                                              
s3 = s4(-1);                                                                                                             

s4 = (phi_pi*pi(4) + phi_y*(Y(4)));

This code would technically peg the interest rate for 4 periods, however the interest rate then starts to exhibit some kind of an extra smoothness and tends to die out very slowly, which doesn’t make sense since it does not follow the behavior of inflation and output (which in my case) immediately go back to SS after the shock is over. The same thing should happen to the interest rate, but it doesn’t indicating an issue with this method. Also, in this case you don’t explicitly include a shock to keep the rate at the SS, which I thought could still work, but it doesn’t seem to be the case.

What is the simplest way to include a peg in a linearized PF model?


I am just bumping this back up.

I am not sure I understand the problem. The ZLB will generally turn a linear model nonlinear. What do you mean when you say

What is the problem you experience?

The issue I am experiencing is that the peg is not enforced when I shock the model in order to impose the peg as described above.

An Aside: (I am trying to keep this discussion general towards PF and pegs/zlb to keep it as a useful reference)
Well, every model is technically a nonlinear model. Once in perfect foresight, there shouldn’t be an issue in solving a linearized version of a non-linear model or the nonlinear model itself when it comes to imposing a zlb/ interest rate peg commitment. The expectation properties of PF take care of the zlb issue. I may not understand how does dynare approach the problem exactly, but I guess that is a separate issue. In any case, I am trying to impose the peg in a linearized version of the model if possible.

I am attaching a linear and non-linear version of the same model.
EDIT: The non linear model gives a unit root whereas in the linear version of the same model, there isn’t one. My question is could this be due to the way I wrote equations 9, 10 and 17. That is divide by the steady state values to make those equations consistent with my steady state. That is similar to how we write the nonlinear taylor rule. Is this technically correct? I am asking because there must be some mistake in this model, which gives me a unit root whereas this is absent in the linear version.

PF_nonlinear.mod (4.4 KB)

PF_linear.mod (7.6 KB)

Apart from that, there is a separate issue that I have to figure out in the nonlinear model, which prevents me from parameterizing it in a certain way, but that’s irrelevant for this issue.

Does dynare have an approximation error when it calculates a nonlinear and a linear model? If I were to solve the exact same model in dynare in nonlinear and then linear form (assuming no mistakes or typos) should I expect the exact same eigenvalue output or could they differ a bit?