Inflation target & eigenvalues
Posted: Sun Feb 23, 2014 12:18 am
Hi
I have the following code for a basic New Keynesian model in a deterministic set up with one negative technology shock in period 1 (size 0.01) including a restriction on the nominal interest rate (ZLB constrain)
I would like to extend my Taylor rule to allow for an inflation target ("pi_target") but I'm struggling with it I only get one eigenvalue outside the unit circle (need 2 to satisfy the Blanchard-Kahn condition).
Also - I would like to allow for the nominal interest rate to be positive in equilibrium which I also cannot figure out how to do properly. I would like it to be positive in steady state to mimic reality and so that the ZLB is not binding all the time.
I have the following code for a basic New Keynesian model in a deterministic set up with one negative technology shock in period 1 (size 0.01) including a restriction on the nominal interest rate (ZLB constrain)
I would like to extend my Taylor rule to allow for an inflation target ("pi_target") but I'm struggling with it I only get one eigenvalue outside the unit circle (need 2 to satisfy the Blanchard-Kahn condition).
Also - I would like to allow for the nominal interest rate to be positive in equilibrium which I also cannot figure out how to do properly. I would like it to be positive in steady state to mimic reality and so that the ZLB is not binding all the time.
- Code: Select all
var x pi i ez;
varexo epsz;
parameters betta sigma omega eta phipi phix rhoz pi_target;
betta =0.98; %Discount factor
omega =0.75; %Calvo parameter price stickiness
phipi =1.5; %Taylor rule: feedback on expected inflation
phix =0.125; %Taylor rule: feedback on output gap
eta = 1; %Labor supply parameter
sigma = 2; %CRRA parameter in consumption
rhoz = 0.9; %persistence of technology shock
pi_target=0;
model(linear);
x = x(+1)-(1/sigma)*(i-pi(+1))-ez;
pi = betta*pi(+1)+((sigma+eta)*(1-betta*omega)*(1-omega)/omega)*x;
i = max(0,phipi*(pi-pi_target)+phix*x);
ez = rhoz*ez(-1)+epsz;
end;
steady;
shocks;
var epsz;
periods 1;
values 0.01;
end;
check;
simul(periods=100);
rplot x;
rplot pi;
rplot i;
rplot ez;