% Basic RBC Model 
%
% Jesus Fernandez-Villaverde
% Philadelphia, March 3, 2005

%----------------------------------------------------------------
% 0. Housekeeping (close all graphic windows)
%----------------------------------------------------------------

close all;

%----------------------------------------------------------------
% 1. Defining variables
%----------------------------------------------------------------

var y c k i l y_l z e nu1 nu2;
varexo eps;

parameters beta psi delta alfa rho;

%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------

alfa    = 0.33;
beta    = 0.99;
delta   = 0.023;
psi     = 1.75;
rho     = 0.95;  
sigma   = (0.007/(1-alfa));

%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------

model; 
  (1/c) = beta*(1/c(+1))*(1+alfa*(k^(alfa-1))*(exp(z(+1))*l(+1))^(1-alfa)-delta);
  psi*c/(1-l) = (1-alfa)*(k(-1)^alfa)*(exp(z)^(1-alfa))*(l^(-alfa));
  c+i = y;
  y = (k(-1)^alfa)*(exp(z)*l)^(1-alfa);
  i = k-(1-delta)*k(-1);
  y_l = y/l;
  z = rho*z(-1)+e;
  e = (nu1 + nu2 - 2)/(4);
  nu1 = eps^2;
  nu2 = eps^2;
end;

%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------

initval;
  k = 9;
  c = 0.76;
  l = 0.3;
  z = 0; 
  e = 0;
  nu1 = 0;
  nu2 = 0;
  eps = 0;
end;

shocks;
var eps = 1^2;
end;

steady;

stoch_simul(hp_filter = 1600, order = 3);

%----------------------------------------------------------------
% 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);
