% Modelo RMB 2014 - doutorado, v. 1.0
%
% Raphael M Barcelos
%
% Modelo base - Real Business Cycle - Small Open Economy
%
% Chapter 4, 2014, Uribe, Martin & Stephanie Schmitt-Grohe


%----------------------------------------------------
% 0. Preparativos
%----------------------------------------------------
close all;

%----------------------------------------------------
% 1. Definindo vari?veis
%----------------------------------------------------

var y               % produto da economia
    c               % consumo das fam?lias
    h               % horas trabalhadas
    k               % estoque de capital
    d               % d?vida das fam?lias
    i               % investimento
    tb              % balan?a comercial
    ca              % conta corrente
    a               % produtividade
    r               % taxa de juros dom?stica
    p               % pr?mio de risco
    lambda          % multiplicador de lagrange
;
varexo
    e
;
parameters
    beta            % taxa de desconto intertemporal
    sigmae          % grau de avers?o ao risco
    omega           % elasticidade do sal?rio
    alpha           % participa??o do capital no produto
    delta           % taxa de deprecia??o do capital
    db              % d barra
    rho             % persist?ncia do choque de ptf
    phi             % coef custo de ajustamento
    psi             % coef premio de risco
    gama            % coef. risco
    r_w             % r estrela
;

%--------------------------------------------------
% 2. Calibra??o
%--------------------------------------------------

r_w =   .05;
beta = 1/(1 + r_w); 
sigmae = .0129;
omega = 2.0111;
alpha = .41;
delta = .11; 
db =   -.19;
rho =   .7; 
phi =  2.39; 
psi =   .1202;
gama =  2;

% Equa??es para o SS: 

h_ss = ((1-alpha)*(alpha/(r_w+delta))^(alpha/(1-alpha)))^(1/(omega-1)); 
k_ss   = h_ss/(((r_w+delta)/alpha)^(1/(1-alpha)));
i_ss   = delta*k_ss;                                                     
y_ss   = (k_ss^alpha)*(h_ss^(1-alpha));                                   
d_bar  = -.19;
d_ss   = db;                                                        
c_ss   = y_ss-i_ss-r_w*d_ss;
tb_ss  = y_ss-c_ss-i_ss;


%--------------------------------------------------
% 3. Modelo 
%--------------------------------------------------

model;
% eq. 4.15
    d = (1+exp(r(-1)))*d(-1)- exp(y)+exp(c)+exp(i)+(phi/2)*(exp(k)-exp(k(-1)))^2;
% eq. fun??o de produ??o
    exp(y) = exp(a)*(exp(k(-1))^alpha)*(exp(h)^(1-alpha));
% eq. lei de movimento do capital
    exp(k) = exp(i)+(1-delta)*exp(k(-1));
% eq. 4.7
    exp(lambda)= beta*(1+exp(r))*exp(lambda(+1)); 
% eq. 4.8
    (exp(c)-((exp(h)^omega)/omega))^(-gama) = exp(lambda);
% eq. 4.9
    ((exp(c)-((exp(h)^omega)/omega))^(-gama))*(exp(h)^omega) = exp(lambda)*(1-alpha)*exp(y); 
% eq. 4.10, substituindo a lei de movimento do capital para k(+2) - k(+1) pela lei de movimento de capital
    exp(lambda)*(1+phi*(exp(k)-exp(k(-1)))) = beta*exp(lambda(+1))*(alpha*exp(y(+1))/exp(k)+1-delta+phi*(exp(i(+1))-delta*exp(k))); 
% eq. 4.12 PTF
    a = rho*a(-1)+e; 
% eq. 4.19
    tb = 1-((exp(c)+exp(i))/exp(y));
% eq. 4.20
    ca = (1/exp(y))*(d-d(-1));      
% eq. forma funcional do premio de risco                           
    p = psi*(exp(d-db)-1);
% eq. 4.13
    exp(r) = r_w+p;

end;

initval;
    r     = log((1-beta)/beta);
    d     = d_ss;
    h     = log(h_ss);
    k     = log(k_ss);
    y     = log(y_ss);
    c     = log(c_ss);
    i     = log(i_ss);
    tb    = 1-((exp(c)+exp(i))/exp(y));
    lambda= log((exp(c)-((exp(h)^omega)/omega))^(-gama));
end;

shocks;
    var e; stderr sigmae;
end;

resid(1);
steady; 
check;
stoch_simul(irf=51);

write_latex_dynamic_model;






