var y
    c
    i
    h
    k
    d
    a
    r 
    lambda $\lambda$
    g
    tb
    ca
    %x
    %TFP
;
varexo
    e_a
    e_g
;
parameters
    beta    $\beta$
    sigma   $\sigma$
    sigma_a $\sigma_{a}$
    sigma_g $\sigma_{g}$
    %omega   $\omega$
    alpha   $\alpha$
    delta   $\delta$
    db      $\bar{d}$
    rho_a   $\rho_{a}$
    rho_g   $\rho_{g}$
    gb      $\bar{g}$
    phi     $\phi$
    psi     $\psi$
    gamma    $\gamma$
    rstar   $r^{*}$
;

rstar  = .05;
beta   = 1/(1 + rstar); 
sigma  =  .7;
sigma_a = .0129;
sigma_g = .0129;
%omega  = 1.13;
alpha  =  .41;
delta  =  .11; 
db     = -.90;
gb     = .8;
rho_a    =  .8; 
phi    = 2.39; 
psi    =  .1202;
gamma   = 2;
rho_g = .3;

model;
    exp(g)*d(+1)/(1+exp(r))=d+exp(c)+exp(i)+phi/2*(exp(g)*exp(k)/exp(k(-1))-exp(gb))^2*exp(k(-1))-exp(y);
    exp(r)=rstar+psi*(exp(d(+1)-db)-1);
    ((1-gamma)/gamma)*(exp(c)/(1-exp(h)))=(1-alpha)*exp(a)*exp(g)*(exp(k(-1))/(exp(g)*exp(h)))^(alpha);
    gamma*exp(c)^(gamma*(1-sigma)-1)*(1-exp(h))^((1-gamma)*(1-sigma))=exp(lambda);
    exp(lambda)=beta*(1+exp(r))*exp(g)^(gamma*(1-sigma)-1)*exp(lambda(+1));
    exp(lambda)*(1+phi*(exp(g)*exp(k)/exp(k(-1))-exp(gb)))=beta*exp(g)^(gamma*(1-sigma)-1)*exp(lambda(+1))*(1-delta+alpha*exp(a(+1))*(exp(k)/(exp(g(+1))*exp(h(+1))))^(alpha-1)+phi*exp(g(+1))*exp(k(+1))/exp(k)*(exp(g(+1))*exp(k(+1))/exp(k)-exp(gb))-phi/2*(exp(g(+1))*exp(k(+1))/exp(k)-exp(gb))^2);
    a=rho_a*a(-1)+sigma_a*e_a;
    (g-gb)=rho_g*(g(-1)-gb)+sigma_g*e_g; 
    tb = 1-((exp(c)+exp(i))/exp(y));
    ca = (1/exp(y))*(d-d(-1));
    exp(i)=exp(g)*exp(k)-(1-delta)*exp(k(-1));
    exp(y)=exp(a)*exp(k(-1))^alpha*(exp(g)*exp(h))^(1-alpha);
    %g=x-x(-1);
    %TFP=a+(1-alpha)*x;
end;
varobs c r;
initval;
    y     =   1.20;
    c     =    .20;
    i     =   1.20;
    h     =    .40;
    k     =    .70;
    d     =   1.10;
    a     =   0.00;
    r     =   -.30;
    lambda=   1.10;
    g     =    .80;%-log(beta*(1+r))/(gamma*(1-sigma)-1);
    tb    =    .10;
    ca    =   0.00;
    %x    =   1;
    %TFP  =   1-alpha;
end;
steady;
shocks;
    var e_a = .05;
    var e_g = .05;
end;

%steady;%(solve_algo=0); 
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,.0001 ,2;
phi, , 0.0, 5, uniform_pdf, 2.5,2;
%omega, , 0.0, 3.0, normal_pdf,1 ,.5;
%rho_tb, , 0.0, .99, beta_pdf, .2, .4;
end;

estimated_params_init(use_calibration);
end;

stoch_simul(irf=51);
estimation(order = 1, datafile=perua, nobs=54, mh_replic=8000);%, 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;
