/*
 * New Keynesian Model 

 */

% 1. Defining variables


%----------------------------------------------------------------

var y, pi, r;
varexo e1, e2, e3;

parameters a1,a2,b1,b2,c1,c2,c3,pistar;


%----------------------------------------------------------------


% 2. Calibration


%----------------------------------------------------------------


a1 = 0.5;
a2 = -0.2;
b1 = 0.5;
b2 = 0.05;
c1 = 1.5;
c2 = 0.5;
c3 = 0.5;
pistar = 0;


%----------------------------------------------------------------


% 3. Model


%----------------------------------------------------------------


model;
y = a1*y(+1) + (1-a1)*y(-1) + a2*(r-pi(+1)) + e1;
pi = b1*pi(+1) + (1-b1)*pi(-1) + b2*y + e2;
r = c1*(pi-pistar) + c2*y + c3*r + e3;
end;


%----------------------------------------------------------------


% 4. Computation


%----------------------------------------------------------------



initval;
y = 0;
pi =0;
r= 0.05;
end;

shocks;
var e1; stderr 0.005;
var e2; stderr 0.005;
var e3; stderr 0.005;
end;

steady;

stoch_simul(periods=300,irf=0,simul_seed=3);
datatomfile('testtest', []);
return;
