//Simple code to test Stochastic Volatility Shocks

var c k z s;
varexo eps_z eps_s;

parameters gam bet alp del rho_z rho_s sig_z sig_s;
    gam = 2;
    bet = 0.95;
    alp = 0.3;
    del = 0.025;
    rho_z = 0.99;
    rho_s = 0.99;
    sig_z = 0.005;
    sig_s = 0.001;

model;
    c^(-gam) = bet*(  c(+1)^(-gam)*( exp(z(+1))*alp*k^(alp-1)+1-del )  );
    c+k = exp(z)*k(-1)^alp + (1-del)*k;
    z = rho_z*z(-1) + exp(s)*sig_z*eps_z;
    s = rho_s*s(-1) + sig_s*eps_s;
end;

k_ss = ((1/bet+del-1)/alp)^(1/(alp-1));
c_ss = k_ss^alp-del*k_ss;

initval;
    k = k_ss;
    c = c_ss;
    z = 0;
    s = 1;
end;
steady;

shocks;
    var eps_z = 1;
    var eps_s = 1;
end;

stoch_simul(order=3, pruning, replic=20000);