var y
    yobs
    c
    cobs
    h
    k
    d
    i
    tb
    ca
    a 
    r 
    p 
    lambda $\lambda$
;
varexo
    e
    ME
;
parameters
    beta    $\beta$
    sigmae  $\sigma_{e}$
    omega   $\omega$
    alpha   $\alpha$
    delta   $\delta$
    db      $\bar{d}$
    rho     $\rho$
    phi     $\phi$
    psi     $\psi$
    gama    $\gamma$
    rstar   $r^{*}$
;

rstar  = .05;
beta   = 1/(1 + rstar); 
sigmae = .0129;
omega  = 1.13;
alpha  =  .41;
delta  =  .11; 
db     = -.89;
rho    =  .8; 
phi    = 2.39; 
psi    =  .1202;
gama   = 2;

model;
    d = (1+exp(r(-1)))*d(-1)- exp(y)+exp(c)+exp(i)+(phi/2)*(exp(k)-exp(k(-1)))^2;
    exp(y) = exp(a)*(exp(k(-1))^alpha)*(exp(h)^(1-alpha));
    exp(k) = exp(i)+(1-delta)*exp(k(-1));
    exp(lambda)= beta*(1+exp(r))*exp(lambda(+1)); 
    (exp(c)-((exp(h)^omega)/omega))^(-gama) = exp(lambda);
    ((exp(c)-((exp(h)^omega)/omega))^(-gama))*(exp(h)^omega) = exp(lambda)*(1-alpha)*exp(y); 
    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))); 
    a = rho*a(-1)+e; 
    tb = 1-((exp(c)+exp(i))/exp(y));
    ca = (1/exp(y))*(d-d(-1));      
    p = psi*(exp(d-db)-1);
    exp(r) = rstar+p;
    yobs = y -steady_state(y)+ME;
    cobs = c -steady_state(c)+ME;
end;
varobs yobs cobs;
initval;
    r     = -2.99;
    d     = - .19;
    h     =   .12;
    k     =  1.71;
    y     =   .77;
    c     =   .45;
    i     = - .48;
    tb    = - .004;
    lambda=   .13;
end;

shocks;
    var e = .002;
    var ME = .003;
end;

steady(maxit=1000); 
check;

estimated_params_init(use_calibration);
end;


estimated_params;
%alpha, , 0.0, 1.0, beta_pdf, 0.40, 0.02;
%beta,  , 0.0, 1.0, beta_pdf, 0.95, 0.002;
rho, , 0.0, 0.99, beta_pdf, 0.7, 0.2;
stderr e, inv_gamma_pdf, 0.01, inf;
psi, , 0.0, 5, uniform_pdf,2 ,2;
phi, , 0.0, 5, uniform_pdf, 2,2;
omega, , 0.0, 3.0, normal_pdf,1.3 ,.5;
end;

estimated_params_init(use_calibration);
end;

stoch_simul(irf=51);
estimation(order = 1, datafile=perua, nobs=54, mh_replic=5000);%, mh_jscale=0.9, mode_compute=6, mode_check, bayesian_irf, forecast=5, prefilter=0) d c h y i k a tb ca r;

write_latex_dynamic_model;
identification;