%----------------------------------------------------------------
% 0. Housekeeping (close all graphic windows)
%----------------------------------------------------------------

close all;

%----------------------------------------------------------------
% 1. Defining variables
%----------------------------------------------------------------

var y pi m i r_n epsilon;
varexo e_r e_epsilon;

parameters beta sigma k phi_pi phi_y eta_i eta_y rho_r rho_epsilon sigma_r sigma_epsilon;

%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------
beta = 0.99;
sigma = 0.5;
k = 0.02;
phi_pi = 1.5;
phi_y = 0.5/4;
eta_i = -0.1;
eta_y = 0.1;
rho_r = 0.95;  
rho_epsilon = 0.95;
sigma_r = 0.01;
sigma_epsilon = 0.01;
%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------

model; 
// Consumption Euler
    y = y(+1)-sigma*(i-pi(+1)-r_n);
// Phillips Curve
    pi = k*y+beta*pi(+1);
// Money Demand
    m =  eta_i*i+eta_y*y+epsilon;
// Taylor Rule
    i = r_n+phi_pi*pi(+1)/pi+phi_y*y; 
//Shocks               
    r_n = rho_r*r_n(-1)+e_r;
    epsilon = rho_epsilon*epsilon(-1)+e_epsilon;
end;

%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------

%initval;
  %c = 1;
  %h = 1;
  %p = 1; 
  %i = 0.04;
  %r = 0.04;
%end;

shocks;
var e_r = sigma_r^2;
var e_epsilon = sigma_epsilon^2;
end;

check;
steady;

stoch_simul(hp_filter = 1600, order = 1);

%----------------------------------------------------------------
% 5. Some Results
%----------------------------------------------------------------

%statistic1 = 100*sqrt(diag(oo_.var(1:6,1:6)))./oo_.mean(1:6);
%dyntable('Relative standard deviations in %',strvcat('VARIABLE','REL. S.D.'),M_.endo_names(1:6,:),statistic1,10,8,4);
