%==========================================================================
%GST(2008):JMCB 
%STAGGERED NASH BARGAINING
%Install intensive margin
%15.07.04 Value function revised(w_o¨w_o*h)
%15.07.05 ƒ~ƒXC³
%15.07.12 change to loglinear version
%==========================================================================

//DEFINE ENDOGENOUS VARIABLES#  ___________________________________________
    //ENDOGENOUS STRUCTURAL VARIABLES#39
    var lambda_c c mu_z sdf pi pi_o r_n r_k q_k delta delta_prime u_k k i n
        y u q m v s p_w a w w_o eta H Htil Hbar J Jtil Jbar x k_p f_p
        lambda_p rho kkappa;
   %var S S_prime;
    var h l;%šIntensive margin

    //AR(1)SHOCK PROCESS VARIABLES#
    var z_z z_eta z_p z_b z_eps z_r z_i z_g z_m z_rho z_kappa z_l;

//OBS_VAR
var dy_obs dc_obs di_obs dw_obs unemp_obs pi_obs rn_obs l_obs v_obs;
%var chi_obs phi_b_obs;
        
//DEFINE EXOGENOUS VARIABLES(INCLUDING i.i.d SHOCKS)#8_____________________
varexo eps_z eps_eta eps_p eps_b eps_eps eps_r eps_i eps_g eps_m eps_rho 
       eps_kappa eps_l;

//DEFINE PARAMETERS#  _____________________________________________________
    //STRUCTURAL PARAMETERS#
    parameters hab beta mu_zss piss mu_k deltass gyss nss sigma_m sigma alpha
              xi_w gamma_w bbar rhoss phi_r phi_pi phi_y xi_p lambda_pss zeta
              etass gamma_p zeta_k b_k delta_k;
    %parameters kkappa;
    parameters gamma_l omega;%šIntensive margin

    //STEADY STATE VALUES#
    parameters lambda_css css sdfss pi_oss r_nss r_kss q_kss delta_primess 
               u_kss kss iss yss uss qss mss vss sss p_wss ass wss w_oss
               Hss Jss xss k_pss f_pss Sss S_primess lss;

    //AR(1)SHOCK PROCESS INERTIA COEFFICIENTS#8
    parameters rho_z rho_eta rho_p rho_b rho_eps rho_r rho_i rho_g rho_m
               rho_rho rho_kappa rho_l;

    //OBSERVATION params
    parameters lbar;

//INSTALL VALUE OF PARAMETERS#  ___________________________________________
  %FIXED PARAMETERS#5
    beta       = 0.99;
    deltass    = 0.1/4;
    lambda_pss = 0.2;
    alpha      = 0.4;
    gyss       = 0.29  ; %data mean between 1980Q2-2000Q4
  %ESTIMATED PARAMETERS
   %hab=0;
    hab          = 0.7;
    mu_zss     = 1.005;
    piss       = 1.002;
    zeta_k     = 0.1;
   %-free param------------------------------------------------------------
    mu_k = beta*deltass/(mu_zss-beta*(1-deltass));
    b_k = deltass/mu_k;
    delta_k = deltass-b_k/(1+zeta_k);
   %-arbitrary param-------------------------------------------------------
    nss = 0.97;
   %-----------------------------------------------------------------------
    sigma_m  = 1.3;%cited from GT(2009)
    sigma    = 0.5;
    xi_w     = 0.5;
    xi_p     = 0.5;
    gamma_w  = 0.5;
    gamma_p  = 0.5;
    bbar     = 0.05;
    rhoss    = 0.96; 
    phi_r    = 0.8;
    phi_pi   = 1.7;
    phi_y    = 0.1;
    zeta     = 1/4;
    etass    = 0.5;
    omega    = 1;%
    lbar     = 1.1;


%-free parameter-----------------------------------------------------------
%kappa = ((1-alpha)*(1/(1+lambda_pss))^(1/(1-alpha))*
%        (alpha*beta/(mu_zss-beta*(1-deltass)))^(alpha/(1-alpha))
%        -bbar*mu_zss*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^
%        (1/(1-alpha))*nss)/
%        (1/2*beta*rhoss^2-beta/2-rhoss+1+(1-beta*(rhoss-nss)/(1-nss))*etass/
%        (1-etass)*(1-beta*xi_w)/(1-beta*rhoss*xi_w)*(1-rhoss));
%kappa=(1/(1+lambda_pss)*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha))*((1-alpha)-alpha*beta*mu_zss*bbar*nss/(mu_zss-beta*(1-deltass))))/
%     (0.5*beta*rhoss^2-beta/2+1-rhoss+(1-beta*(rhoss-nss)/(1-nss))*etass/(1-etass)*(1-beta*xi_w)/(1-beta*xi_w*rhoss)*(1-rhoss));

paraset = ...
[hab, beta, mu_zss, piss, mu_k, deltass, gyss, nss, sigma_m, sigma, alpha,...
 xi_w, gamma_w, bbar, rhoss, phi_r, phi_pi, phi_y, xi_p, lambda_pss, zeta,...
               etass gamma_p rhoss];
f_gst =  @(x) f_gst(x, paraset);
options = optimset('TolFun',1e-20, 'TolX',1e-20);
[ans FVEC INFO OUTPUT FJAC] = fsolve(f_gst, [0.5], options);
INFO
ans

kappa = ans(1);
%--------------------------------------------------------------------------
rho_eps   = 0.5;
rho_z     = 0.8;
rho_eta   = 0.5;
rho_p     = 0.5;
rho_b     = 0.8;
rho_r     = 0.5;
rho_i     = 0.5;
rho_g     = 0.8;
rho_m     = 0.5;
rho_rho   = 0.5;
rho_kappa = 0.5;
rho_l     = 0.5;

%STEADY STATE VALUES OF ENDOGENOUS VARIABLES
pi_oss=piss;
sdfss=beta/mu_zss;
r_nss=piss*mu_zss/beta;
r_kss=deltass/mu_k;
u_kss=1;
q_kss=1;
uss=1-nss;
xss=1-rhoss;
sss=nss/(1-nss)*(1-rhoss);
mss=nss*(1-rhoss);
vss=((1-rhoss)/sigma_m*nss/(1-nss)^sigma)^(1/(1-sigma));
qss=nss*(1-rhoss)/vss;
p_wss=1/(1+lambda_pss);
yss=(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha))*nss;
%ass=(1-alpha)*yss/nss;   
ass=(1-alpha)*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha));
%kss=alpha*beta*mu_zss/(mu_zss-beta*(1-deltass))*yss/(1+lambda_pss);
kss=mu_zss*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(1/(1-alpha))*nss;
iss=(mu_zss-1+deltass)/mu_zss*kss;
css=(1-gyss)*yss-iss;
delta_primess=deltass/mu_k;
k_pss=1/(1+lambda_pss)/(1-beta*xi_p)
    *(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha))
      *nss;
f_pss=(1+lambda_pss)*k_pss;
Sss=0; 
S_primess=0;
lambda_css = (mu_zss-beta*hab)/(mu_zss-hab)/css; 
Jss=kappa*(1-rhoss);
Hss=etass/(1-etass)*(1-beta*xi_w)/(1-beta*rhoss*xi_w)*kappa*(1-rhoss);
%wss=(1-beta*(rhoss-sss))*Hss+bbar*kss;
wss=(1-beta*(rhoss-nss)/(1-nss))*etass/(1-etass)*(1-beta*xi_w)/(1-beta*rhoss*xi_w)*kappa*(1-rhoss)
    +bbar*mu_zss*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(1/(1-alpha))*nss;
w_oss=wss;
%2type gamma_l--------------------
%gamma_l=(1-alpha)*lambda_css*p_wss*(kss/mu_zss)^alpha*nss^(1-alpha);
gamma_l=p_wss*(1-alpha)*yss*lambda_css;%ššnŽc‚³‚¸
%gamma_l=p_wss*(1-alpha)*yss*lambda_css/nss;%ššnŽc‚·
%---------------------------------
hss=1;
lss=nss*hss;

//MODEL STRUCTURE#  _______________________________________________________
model;
#Kappa=(1/(1+lambda_pss)*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha))*((1-alpha)-alpha*beta*mu_zss*bbar*nss/(mu_zss-beta*(1-deltass))))/
     (0.5*beta*rhoss^2-beta/2+1-rhoss+(1-beta*(rhoss-nss)/(1-nss))*etass/(1-etass)*(1-beta*xi_w)/(1-beta*xi_w*rhoss)*(1-rhoss));
#R_nss=piss*mu_zss/beta;
#Wss=(1-beta*(rhoss-nss)/(1-nss))*etass/(1-etass)*(1-beta*xi_w)/(1-beta*rhoss*xi_w)*Kappa*(1-rhoss)
    +bbar*mu_zss*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(1/(1-alpha))*nss;
#Yss=(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha))*nss;
#JSS=Kappa*(1-rhoss);
#HSS=etass/(1-etass)*(1-beta*xi_w)/(1-beta*rhoss*xi_w)*Kappa*(1-rhoss);
#Kss=mu_zss*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(1/(1-alpha))*nss;
#Iss=(mu_zss-1+deltass)/mu_zss*Kss;
#Css=(1-gyss)*Yss-Iss;
#Gamma_l=1/(1+lambda_pss)*(1-alpha)*(alpha*beta/(mu_zss-beta*(1-deltass))/(1+lambda_pss))^(alpha/(1-alpha))*nss
         *((mu_zss-beta*hab)/(mu_zss-hab)/Css);
#EPS = 1/(1-beta*rhoss*xi_w);
#MU = 1/(beta*xi_w*(rhoss+JSS/Kappa)-1);

//[1]MARGINAL UTILITY OF CONSUMPTION
lambda_c = z_b*mu_z/(c*mu_z-hab*c(-1))
          -beta*hab*z_b(+1)/(c(+1)*mu_z(+1)-hab*c);

//[2]STOCHASTIC DISCOUNT FACTOR
sdf = beta*lambda_c(+1)/lambda_c/mu_z(+1);

//[3]EULER EQUATION
sdf = pi(+1)/r_n;

//[4]CAPITAL SUPPLY
r_k = q_k*delta_prime;

//[5]TOBIN'S Q
%1 = exp(z_i)*q_k*(1-S_prime*exp(z_z)*i/i(-1)-S)
%  +mu_z*sdf*exp(z_i(+1)+2*z_z(+1))*q_k(+1)*S(+1)*(i(+1)/i)^2;
1 = z_i*q_k*(1-(1/zeta*(z_z*i/i(-1)-1))*exp(z_z)*i/i(-1)-1/2/zeta*z_z*(i/i(-1)-1)^2)
  +mu_z*sdf*z_i(+1)*z_z(+1)^2*q_k(+1)*(1/2/zeta*z_z(+1)*(i(+1)/i-1)^2)*(i(+1)/i)^2;

//[6]FOC OF CAPITAL HOLDING
q_k = sdf*(r_k(+1)*u_k(+1)+q_k(+1)*(1-delta));

//[7]CAPITAL STOCK TRANSITION
%k = (1-delta)*k(-1)/mu_z+exp(z_i)*(1-S)*i;
k = (1-delta)*k(-1)/mu_z+z_i*(1-1/2/zeta*z_z*(i/i(-1)-1)^2)*i;

//[8]šPRODUCT FUNCTION
%y=exp(z_eps)*(u_k*k(-1)/mu_z)^alpha*l^(1-alpha);
y=z_eps*(u_k*k(-1)/mu_z)^alpha*l^(1-alpha);

//[9]šTOTAL LABOR SUPPLY
l=n*h;

//[10]šMPL=MRS ‰E•Ó‚Én‚ðŽc‚·ê‡‘ã•\“I‰ÆŒv‚Å‚Ì—§Ž®A‰E•Ó‚É‚Ž‚ðŽc‚³‚È‚¢ê‡ŒÂ•Ê‰ÆŒv‚ÌÅ“K‰»
p_w*(1-alpha)*y/h=z_l*Gamma_l*h^omega/lambda_c;

//[11]MARKET CLEARING CONDITION
%y=c+i+gyss*Yss*exp(z_g);
y=c+i+gyss*Yss*z_g;

//[12]UNEMPLOYMENT RATE
%u=1-n;
u=1-n(-1);

//[13]MATCHING FUNCTION
%m=sigma_m*exp(z_m)*u^sigma*v^(1-sigma);
m=sigma_m*z_m*u^sigma*v^(1-sigma);

//[14]MATCHING PER VACANCY
q=m/v;

//[15]MATCHING PER UNEMPLOYMENT
s=m/u;

//[16]HIRING RATE
x=q*v/n(-1);

//[17]CAPITAL DEMAND
r_k=alpha*p_w*mu_z*y/u_k/k(-1);

//[18]MARGINAL PRODUCTIVITY OF LABOR
%a=(1-alpha)*y/n;
%a=(1-alpha)*exp(z_eps)*(u_k*k(-1)/n/mu_z)^alpha;
a=(1-alpha)*y/n;

//[19]ACTURAL WAGE
w=xi_w*(pi(-1)^gamma_w*piss^(1-gamma_w)/pi)*w(-1)+(1-xi_w)*w_o;
%w=xi_w*(pi(-1)^gamma_w*piss^(1-gamma_w)/pi)*w(-1)/exp(z_z)+(1-xi_w)*w_o;

//[20]FOC OF NASH BARGAINING
%eta*EPS*J+(1-eta)*MU*H=0;
etass*z_eta*EPS*J+(1-etass*z_eta)*MU*H=0;

//š[21]HOUSEHOLD'S VALUE FUNCTION TARGET WAGE
H =( w_o*h - bbar*k
   + sdf*mu_z(+1)*(rho(+1)*(xi_w*Htil(+1)+(1-xi_w)*H(+1))-s(+1)*Hbar(+1)));

//[22]APPROXIMATED HOUSEHOLD'S VALUE FUNCTION INDEXATION WAGE
%Htil(+1) = HSS + EPS*(pi^gamma_w*piss^(1-gamma_w)/pi(+1)*w_o-Wss);
Htil = (HSS + EPS*(pi(-1)^gamma_w*piss^(1-gamma_w)/pi*w_o(-1)-Wss));

//š[23]HOUSEHOLD'S VALUE FUNCTION AVERAGE WAGE
Hbar = (w*h - bbar*k
      +sdf*mu_z(+1)*(rho(+1)-s(+1))*Hbar(+1));

//š[24]FIRM'S VALUE FUNCTION TARGET WAGE
J = (p_w*a-w_o*h
   +sdf*mu_z(+1)*( xi_w*(rho*Jtil(+1)+Jtil(+1)^2/2/kkappa)
                  +(1-xi_w)*(rho*J(+1)+J(+1)^2/2/kkappa)));

//[25]APPROXIMATED FIRM'S VALUE FUNCTION INDEXATION WAGE
%Jtil(+1)= JSS + MU*(pi^gamma_w*piss^(1-gamma_w)/pi(+1)*w_o - Wss);
Jtil= (JSS + MU*(pi(-1)^gamma_w*piss^(1-gamma_w)/pi*w_o(-1) - Wss));

//š[26]FIRM'S VALUE FUNCTION AVERAGE WAGE
Jbar = (p_w*a-w_o*h+sdf*mu_z(+1)*(rho*Jbar(+1)+Jbar(+1)^2/2/kkappa));

//[27]AVERAGE FIRM'S VALUE FUNCTION AND HIRING RAGE
Jbar = (kkappa*x); 

//[28]EMPLOYMENT TRANSITION
n=(rho+x)*n(-1);

//[29]POLICY INTEREST RATE
ln(r_n)=phi_r*ln(r_n(-1))+(1-phi_r)*(ln(r_nss)
                                     +phi_pi*ln(pi/piss)
                                     +phi_y*ln(y/Yss))
                                     +log(z_r);

//[30]NKPC1
k_p = p_w*y+xi_p*sdf*(pi^gamma_p*piss^(1-gamma_p)/pi(+1))
            ^(-(1+lambda_p(+1))/lambda_p(+1))*mu_z(+1)*k_p(+1);

//[31]NKPC2
f_p = y+xi_p*sdf*(pi^gamma_p*piss^(1-gamma_p)/pi(+1))
            ^(-(1+lambda_p(+1))/lambda_p(+1))*mu_z(+1)*f_p(+1);

//[32]NKPC3
pi_o/pi = (1+lambda_p)*k_p/f_p;

//[33]NKPC4
1= xi_p*(pi(-1)^gamma_p*piss^(1-gamma_p)/pi)^(-1/lambda_p)
  +(1-xi_p)*(pi_o/pi)^(-1/lambda_p);

//[32]CAPITAL ADJUSTMENT COST FUNCTION
%S=1/2/zeta*(exp(z_z)*i/i(-1)-1)^2;
%S=1/2/zeta*z_z*(i/i(-1)-1)^2;

//[33]DIFFERENTIATED CAPITAL ADJUSTIMENT COST FUNCTION
%S_prime=1/zeta*(exp(z_z)*i/i(-1)-1);
%S_prime=(1/zeta*(z_z*i/i(-1)-1));

//[34]CAPITAL DEPRECIATION FUNCTION
%delta=deltass*exp((u_k-1)/mu_k);
delta= delta_k+b_k/(1+zeta_k)*u_k^(1+zeta_k);

//[35]DIFFERENTIATED CAPITAL DEPRECIATION FUNCTION
delta_prime = b_k*u_k^zeta_k;

//[36]BARGAINING POWER
%eta=etass*exp(z_eta);
eta=etass*z_eta;

//[37]PRICE MARKUP
%lambda_p=lambda_pss*exp(z_p);
lambda_p=lambda_pss*z_p;

//[38]UNIT ROOT TECHNOLOGY
%mu_z=mu_zss*exp(z_z);
mu_z=mu_zss*z_z;

//[39]JOB SEPARATION RATE
%rho = rhoss*exp(z_rho);
rho = rhoss*z_rho;

//[40]EMPLOYMENT ADJUSTMENT COST
%kkappa=kappa1/kappa2*exp(z_kappa);
kkappa=Kappa*z_kappa;


%AR(1)SHOCK PROCESS--------------------------------------------------------
//[41]UNIT ROOT TECHNOLOGY SHOCK
%z_z   = rho_z*z_z(-1)     + eps_z;
z_z   = rho_z*z_z(-1)+(1-rho_z)*1 + eps_z;

//[42]BARGAINING POWER SHOCK
%z_eta = rho_eta*z_eta(-1) + eps_eta;
z_eta   = rho_eta*z_eta(-1)+(1-rho_eta)*1 + eps_eta;

//[43]PRICE MARKUP SHOCK
%z_p   = rho_p*z_p(-1)     + eps_p;
z_p   = rho_p*z_p(-1)+(1-rho_p)*1 + eps_p;

//[44]PREFERENCE SHOCK
%z_b   = rho_b*z_b(-1)     + eps_b;
z_b   = rho_b*z_b(-1)+(1-rho_b)*1 + eps_b;

//[45]NEUTRAL TECHNOLOGY SHOCK
%z_eps = rho_eps*z_eps(-1) + eps_eps;
z_eps   = rho_eps*z_eps(-1)+(1-rho_eps)*1 + eps_eps;

//[46]MONETARY POLICY SHOCK
%z_r   = rho_r  *z_r(-1)   + eps_r;
z_r   = rho_r*z_eta(-1)+(1-rho_r)*1 + eps_r;

//[47]TEMPORARY INVESTMENT TECHNOLOGY SHOCK
%z_i   = rho_i  *z_i(-1)   + eps_i; 
z_i   = rho_i*z_i(-1)+(1-rho_i)*1 + eps_i;

//[48]EXOGENOUS SPENDING SHOCK
%z_g   = rho_g  *z_g(-1)   + eps_g;
z_g   = rho_g*z_g(-1)+(1-rho_g)*1 + eps_g;

//[49]MATCHING EFFICIENCY SHOCK
%z_m   = rho_m  *z_m(-1)   + eps_m;
z_m   = rho_m*z_m(-1)+(1-rho_m)*1 + eps_m;

//[50]JOB SEPARATION SHOCK
%z_rho = rho_rho*z_rho(-1) + eps_rho;
z_rho   = rho_rho*z_rho(-1)+(1-rho_rho)*1 + eps_rho;

//[51]EMPLOYMENT ADJUSTMENT COST SHOCK
%z_kappa = rho_kappa*z_kappa(-1) + eps_kappa;
z_kappa   = rho_kappa*z_kappa(-1)+(1-rho_kappa)*1 + eps_kappa;

//[52]LABOR DISUTILITY SHOCK
%z_l   = rho_l*z_l(-1)+eps_l;
z_l   = rho_l*z_l(-1)+(1-rho_l)*1 + eps_l;

%OBSERVATION EQUATIONS-----------------------------------------------------
    //[55]GDP GROWTH RATE[NET]
    %dy_obs    = log(mu_z*y/y(-1))*100;
    %exp(dy_obs)    = log(mu_z*y/y(-1))*100;
    dy_obs    = (mu_z*y/y(-1));

    //[56]CONSUMPTION GROWTH RATE[NET]
    %dc_obs = log(mu_z*c/c(-1))*100;
    %exp(dc_obs) = log(mu_z*c/c(-1))*100;
    dc_obs = (mu_z*c/c(-1));
   
    //[57]INVESTMENT GROWTH RATE[NET]
    %di_obs    = log(mu_z*i/i(-1))*100;
    %exp(di_obs)    = log(mu_z*i/i(-1))*100;
    di_obs    = (mu_z*i/i(-1));

    //[58]NOMINAL INTEREST RATE
    %rn_obs    = log(r_n)*100;
    %exp(rn_obs)    = log(r_n)*100;
    rn_obs    = r_n;

    //[59]INFLATION RATE
    %pi_obs    = log(pi)*100;
    %exp(pi_obs)    = log(pi)*100;
    pi_obs    = pi;

    //[60]NET GROWTH RATE OF REAL WAGE INDEX
    %dw_obs    = 100*log(mu_z*w/w(-1));
    %exp(dw_obs)    = 100*log(mu_z*w/w(-1));
    dw_obs    = (mu_z*w/w(-1));

    //[61]UNEMPLOYMENT RATE
    %unemp_obs = (1-n(-1))*100;
    %exp(unemp_obs) = (1-n(-1))*100;
    unemp_obs = (1-n(-1));

    //[62]JOB SEPARATION RATE[NET]
    %chi_obs = (1-rho)*100;
    %(chi_obs) = (1-rho);

    //[63]BARGAINING POWER OF HOUSEHOLDS
    %phi_b_obs = eta/etass;
    %(phi_b_obs) = eta/etass;

    //[64]VACANCY RATE
    %v_obs = v*100;
    (v_obs) = v;

    //[65]TOTAL LABOR SUPPLY
    %l_obs = lbar*l;
    (l_obs) = lbar*l;

end;

//INITIAL VALUES___________________________________________________________
initval;
lambda_c = lambda_css;
c = css;
mu_z = mu_zss;
sdf = sdfss;
u_k = 1;
pi = piss;
pi_o = pi_oss;
r_n = r_nss;
r_k = r_kss;
q_k = q_kss;
delta = deltass;
delta_prime = delta_primess;
u_k = u_kss;
k = kss;
i = iss;
n = nss;
y = yss;
u = uss;
q = qss;
m = mss;
v = vss;
s = sss;
p_w = p_wss;
a = ass;
w = wss;
w_o = w_oss;
eta = etass;
H = Hss;
Htil = Hss;
Hbar = Hss;
J = Jss;
Jtil = Jss;
Jbar = Jss;
x = xss;
k_p = k_pss;
f_p = f_pss;
lambda_p = lambda_pss;
%S = Sss;
%S_prime = S_primess;
rho=rhoss;
kkappa=kappa;
l=lss;
h=hss;

z_z=1;
z_eta=1;
z_p =1;
z_b =1;
z_eps =1;
z_r =1;
z_i=1;
z_g =1;
z_m =1;
z_rho =1;
z_kappa =1;
z_l=1;

dy_obs=mu_zss;
dc_obs=mu_zss;
di_obs=mu_zss;
dw_obs=mu_zss;
unemp_obs=1-nss;
v_obs=vss;
l_obs=lbar*lss;
rn_obs=r_nss;
pi_obs=piss;

end;

//MODEL CHECK______________________________________________________________
check;
resid(1);
steady;
model_diagnostics;


//SHOCKS___________________________________________________________________
shocks;
var eps_eps; stderr 1;
var eps_eta; stderr 1;
%var eps_eps; periods 1; values 0.01;
%var eps_z  ; periods 1; values 0.01;
%var eps_b  ; periods 1; values 0.01;
%var eps_i  ; periods 1; values 0.01;
%var eps_eta; periods 1; values 0.01;
%var eps_p  ; periods 1; values 0.01;
%var eps_g  ; periods 1; values 0.01;
%var eps_r  ; periods 1; values 0.01;
%var eps_m  ; periods 1; values 0.05;
%var eps_rho; periods 1; values 0.1;
%var eps_kappa; periods 1; values 0.01;
%var eps_l; periods 1; values 0.01;
end;

stoch_simul(irf=40,order=1,nograph,loglinear,graph_format = fig)y c i u l h w pi r_n;
//ESTIMATION_______________________________________________________________
    //DEFINE PRIOR DISTRIBUTION#-----------------------------------------
    estimated_params;
        //STRUCTURAL PARAMETERS#
        nss       , ,     ,     ,beta_pdf, 0.97, 0.01;
        rhoss     , ,     ,     ,beta_pdf ,0.96, 0.01 ;%Lin-Miyamoto(2014)
        hab       , ,     ,     ,beta_pdf ,0.7000,0.15;%Kaihatsu&Kurozumi(2014)
        gamma_p   , ,     ,     ,beta_pdf ,0.5000,0.25;%Kaihatsu-Kurozumi(2014)
        gamma_w   , ,     ,     ,beta_pdf ,0.5000,0.25;%Kaihatsu-Kurozumi(2014)
        bbar      , ,     ,     ,gamma_pdf,0.05  ,0.01;
        zeta      , ,     ,     ,gamma_pdf,0.25  ,0.05;
        zeta_k    , ,     ,     ,gamma_pdf,0.1   ,0.05;
        omega     , ,     ,     ,gamma_pdf,1     ,0.5;
        lbar      , ,     ,     ,gamma_pdf,1.1   ,0.01;
 
        piss      , ,1.0  ,1.1  ,gamma_pdf,1.002,0.001 ;%init=data mean of 1980Q2-2001Q1,Hasumi(2014)
        mu_zss    , ,1.0  ,1.1  ,gamma_pdf,1.005,0.001;%init=data mean of 1980Q2-2001Q1,Hasumi(2014)

        sigma_m   , ,     ,     ,gamma_pdf,1.30,0.1  ;%
        sigma     , ,     ,     ,beta_pdf ,0.5000,0.2 ;%
        etass     , ,     ,     ,beta_pdf ,0.5000,0.2 ;%

        xi_p      , ,     ,     ,beta_pdf ,0.5,0.2   ;%Kaihatsu-Kurozumi(2014)
        xi_w      , ,     ,     ,beta_pdf ,0.5,0.2   ;%Kaihatsu-Kurozumi(2014)
    
        phi_r     , ,     ,     ,beta_pdf ,0.800 ,0.2   ;%Iiboshi et al.(2006)
        phi_pi    , ,     ,     ,gamma_pdf,1.700 ,0.05   ;%Iiboshi et al.(2006)
        phi_y     , ,     ,     ,gamma_pdf,0.08  ,0.125   ;%Iiboshi et al(2006)

        //SHOCK INERTIA COEFFICIENTS#11
        rho_eps  ,0.5,  , ,beta_pdf,0.5,0.2  ;%original
        rho_z    ,0.5,  , ,beta_pdf,0.8,0.05  ;%Kaihatsu-Kurozumi(2014)

        rho_b    ,0.5,  , ,beta_pdf,0.5,0.2  ;%Kaihatsu-Kurozumi(2014)
        rho_l    ,0.5,  , ,beta_pdf,0.5,0.2  ;%original
        rho_i    ,0.5,  , ,beta_pdf,0.5,0.2  ;%Hirose(2012)
        rho_eta  ,0.5,  , ,beta_pdf,0.5,0.2  ;%original
        rho_g    ,0.5,  , ,beta_pdf,0.8,0.05  ;%Kaihatsu-Kurozumi(2014)

        rho_p    ,0.5,  , ,beta_pdf,0.5,0.2  ;%Hirose(2012)
        rho_r    ,0.5,  , ,beta_pdf,0.5,0.2  ;%Hirose(2012)
        rho_rho  ,0.5,  , ,beta_pdf,0.5,0.2  ;%original
        rho_kappa,0.5,  , ,beta_pdf,0.5,0.2  ;%original
          
         //STANDARD ERRORS#12
        stderr eps_eps  ,0.1,,,inv_gamma_pdf,0.5,inf;%
        stderr eps_z    ,0.1,,,inv_gamma_pdf,0.5,inf;%
        stderr eps_b    ,0.1,,,inv_gamma_pdf,0.5,inf;%
        stderr eps_l    ,0.1,,,inv_gamma_pdf,0.5,inf;%
        stderr eps_i    ,0.1,,,inv_gamma_pdf,0.5,inf;%
        stderr eps_p    ,0.1,,,inv_gamma_pdf,0.5,inf;%Kaihatsu-Kurozumi(2014)
        stderr eps_g    ,0.1,,,inv_gamma_pdf,0.5,inf;%Kaihatsu-Kurozumi(2014)
        stderr eps_r    ,0.1,,,inv_gamma_pdf,0.5,inf;%Kaihatsu-Kurozumi(2014)
        stderr eps_rho  ,0.1,,,inv_gamma_pdf,0.5,inf;%original
        stderr eps_eta  ,0.1,,,inv_gamma_pdf,0.5,inf;%original
        stderr eps_kappa,0.1,,,inv_gamma_pdf,0.5,inf;%original
       

   end;   

    //REDEFINE OBSERBED VARIABLES#8----------------------------------------
    varobs dy_obs;% dc_obs di_obs dw_obs unemp_obs pi_obs rn_obs 
           %v_obs l_obs;% phi_b_obs chi_obs;

    //ESTIMATION-----------------------------------------------------------
    estimation(
        %optim=('MaxIter',20000),
        %optim=('NumberOfMh',10,'ncov-mh',40000,'nscale-mh',600000,'nclimb',90000),
        loglinear,
        prior_trunc=0,
        datafile='dataset_x13_log.csv',
        xls_sheet=Sheet5,     
        xls_range = B1:M60,
        mode_file = 'gst_int_log_est_mode.mat',
        mode_compute=4,
       %load_mh_file,
        mode_check,
        plot_priors=0,
        smoother,
        graph_format = fig,
        first_obs=1,
        presample=0,
        %lik_init=2,
        %prefilter=0,
        mh_replic=50000,
        %mh_replic=0,
        mh_nblocks=2,
        mh_jscale=0.3,
        %mh_drop=0.5,
        bayesian_irf,
        %forecast=100,
        irf=40
        );

//SIMULATION_______________________________________________________________
stoch_simul(irf=40,order=1,nodisplay,loglinear,graph_format = fig)
y c i w n r_n u pi pi_o;
//HISTORICAL DECOMPOSITION_________________________________________________
shock_decomposition(parameter_set=posterior_mean)
dy_obs dc_obs di_obs dw_obs unemp_obs rn_obs pi_obs y c i w;