close all;



%----------------------------------------------------------------
% 1. Defining variables
%----------------------------------------------------------------

var w c1 c2 y_k1 y_k2 y_l1 y_l2 z1 z2;
varexo e_yk1 e_yl1 e_yk2 e_yl2;

parameters rho eta beta delta alpha;

%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------

alpha=-0.5;
eta=0.1;
rho=2;
beta=0.96; 
delta=0.36; 

sig_yk1=0.01;
sig_yk2=0.01;
sig_yl1=0.01;
sig_yl2=0.01;

%----------------------------------------------------------------
% (2.) Model
%----------------------------------------------------------------
 
model(linear);
  y_k1 = e_yk1;
  y_k2 = e_yk2;
  y_l1 = e_yl1;
  y_l2 = e_yl2;
  (rho)*(c1(+1)-c2(+1))=(rho-eta)*(c1-c2);
  w=1/beta*w(-1)+(delta*y_k1+(1-delta)*y_l1)-c1 + alpha*(y_k1-y_k2-(z1(-1)-z2(-1)));
  c1+c2=delta*y_k1+(1-delta)*y_l1 + delta*y_k2+(1-delta)*y_l2;
  z1=(rho-eta)*c1-rho*c1(+1)+y_k1(+1);
  z2=(rho-eta)*c2-rho*c2(+1)+y_k2(+1);
end;

shocks;
var e_yk1; stderr sig_yk1;
var e_yk2; stderr sig_yk2;
var e_yl1; stderr sig_yl1;
var e_yl2; stderr sig_yl2;
end;



steady;

stoch_simul(irf = 10, order = 1, nograph) ;



