% 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


%----------------------------------------------------
% 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
;
varexo
    epsilona
;
parameters
    rstar           % taxa de jutos internacional
    beta            % taxa de desconto intertemporal
    sigma           % 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              % 
    rho             % persistência do choque de ptf
    eta             % coef epsilona
    phi             % coef custo de ajustamento
    psi             % coef premio de risco
    kappa           % rel k/h
;

%--------------------------------------------------
% 2. Calibração
%--------------------------------------------------

rstar = .04;
beta =  .9615; 
sigma = 2.0;
omega = 1.4550;
alpha = .32;
delta = .10; 
db =    .7442;
rho =   .42; 
eta =   .5;
phi =   .019; 
psi =   .11;
kappa =((beta^(-1)-1+delta)/alpha)^(1/(alpha-1));

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

model(linear);
log(A(+1)) = rho*log(A) + eta*epsilona;
h^(omega-1)=(1-alpha)*A*k^(alpha)*h^(-alpha);
(c-(h^(omega))/omega)^(-sigma)*(1+phi*(k(+1)-k))=beta*((c(+1)-((h(+1))^omega)/omega)^(-sigma))*(1+alpha*A(+1)*k(+1)^(alpha-1)*h(+1)^(1-alpha)-delta+phi*(k(+1)^(alpha)-k(+1)));
(c-(h^(omega))/omega)^(-sigma)=beta*(1+rstar + psi*(exp(d-db)-1))*(c(+1)-(h(+1)^(omega))/omega)^(-sigma);
A*k^(alpha)*h^(1-alpha)-(phi/2)*(k(+1)-k)^2+k*(1-delta)+(1+rstar + psi*(exp(d-db)-1))*d(-1)=c+k(+1)+d;
%i=k(+1)-(1-delta)*k;
%tb = (y - c - i)/y;
%ca = tb - r(-1)*d(-1);
%y=A*k^alpha*h^(1-alpha);
%r = rstar + psi*(exp(d-db)-1);
end;

initval;
    %y = 1.1761;
    c = 1.123;
    h = 1.0074;
    k = 3.3977;
    d = 0.7442;
    %i = 0.340;
    %tb = 0.0298;
    %ca = 0.0000;
    A = 1.34;
   % r = 0.04;
end;

shocks;
    var epsilona = 1.00;
end;

check;

steady;
stoch_simul(irf=10);






