%variables
var 
u_a %unemployment in country A
u_b %unemployment in country B

pi_ad %domestic inflation country A
pi_bd %domestic inflation country B 

cpi_a %cpi inflation in country A
cpi_b %cpi inflation in country B

s_ba %terms of trade

r_a %real interest rate in country A
r_b %real interest rate in country B
q_ab %short run nominal interest rate common for both countries

z_a %productivity in country A
z_b; %productivity in country B

varexo 
e_a %stochastic technology shock in country A
e_b; %stochastic technology shcok in country B

%parameters

parameters 
sigma_a %st.deviation of shock in country A
sigma_b %st. deviation of shock in country B
omega_r %interest rate smoothing parameter in Taylor
omega_p %weight in inflation in Taylor
omega_u %weight in unemployment in Taylor
beta %discount factor
zeta %country size

%parameters in dynamic IS in country A
phi_a1 phi_a2 phi_a3 phi_a4 phi_a5

%parameters in dynamic IS in country B
phi_b1 phi_b2 phi_b3 phi_b4 phi_b5

%Elasticity of inflation wrt real marginal cost in countries A B respect.
delta_ap delta_bp

%parameters in NKPC in country A
rho_a0 rho_a1 rho_a2 rho_a3 rho_a4

%parameters in NKPC in country B
rho_b0 rho_b1 rho_b2 rho_b3 rho_b4

%Autocorrelation parameters of AR(1) productivity
rho_a rho_b;

omega_p=1.5;
omega_u=0.125;
sigma_a=0.00624;
sigma_b=0.00624;
omega_r = 0.85;
zeta = 0.5;
beta = 0.99;
phi_a1 = -0.3182;
phi_a2 = 1.3182;
phi_a3 = -2.2727;
phi_a4 = -1.1478;
phi_a5 = -0.1148;
phi_b1 = -0.3182;
phi_b2 = 1.3182;
phi_b3 = -2.2727;
phi_b4 = -2.2957;
phi_b5 = -0.1148;
delta_ap = 0.0858;
delta_bp = 0.0858;
rho_a0 = 0.0452;
rho_a1 = -0.2872;
rho_a2 = -0.1219;
rho_a3 = 0.7085;
rho_a4 = 0.1236;
rho_b0 = 0.0452;
rho_b1 = -0.2872;
rho_b2 = -0.1219;
rho_b3 = 0.2915;
rho_b4 = 0.1236;
rho_a = 0.95;
rho_b = 0.95;

model (linear);
%dynamic IS expressed in terms of unemployment
u_a = phi_a1*u_a(-1) + phi_a2*u_a(+1) + phi_a3*r_a + phi_a4*s_ba(+1) - phi_a4*s_ba + phi_a5*z_a;
u_b = phi_b1*u_b(-1) + phi_b2*u_b(+1) + phi_b3*r_b - phi_b4*s_ba(+1) + phi_b4*s_ba + phi_b5*z_b;

%NKPC with unemployment
pi_ad = beta*pi_ad(+1) + delta_ap*rho_a0*u_a(-1) + delta_ap*rho_a1*u_a - delta_ap*rho_a2*u_a(+1) + delta_ap*rho_a3*(1-zeta)*s_ba + delta_ap*rho_a4*r_a - delta_ap*rho_a3*z_a; 
pi_bd = beta*pi_bd(+1) + delta_bp*rho_b0*u_b(-1) + delta_bp*rho_b1*u_b - delta_bp*rho_b2*u_b(+1) + delta_bp*rho_b3*zeta*s_ba + delta_bp*rho_b4*r_b + delta_bp*(rho_b3 + (((1-2*zeta)/zeta)))*z_b; 

%Link terms of trade with domestic unemployment
s_ba = s_ba(-1) + pi_bd - pi_ad;

%Fisher equations for country A and B
r_a = q_ab - cpi_a(+1);
r_b = q_ab - cpi_b(+1);

%link of cpi with domestic inflation and terms of trade
cpi_a = pi_ad + (1-zeta)*(s_ba - s_ba(-1));
cpi_b = pi_bd + (zeta-1)*(s_ba - s_ba(-1));

%Taylor rule with domestic inflation and unemployment
q_ab = omega_r*q_ab(-1) + (1-omega_r)*(omega_p*(zeta*pi_ad + (1-zeta)*pi_bd) + omega_u*(zeta*u_a + (1-zeta)*u_b));

%AR(1) technology in countries A and B
z_a = rho_a*z_a(-1) + e_a;
z_a = rho_b*z_b(-1) + e_b; 
end;

initval; 
u_a = 0;
u_b = 0;
pi_ad = 0;
pi_bd = 0;
cpi_a = 0;
cpi_b = 0;
s_ba = 0;
r_a = 0;
r_b = 0;
q_ab = 0;
z_a = 0;
z_b = 0;
end;

steady;


check; 

shocks;
var e_a = sigma_a^2;
var e_b = sigma_b^2;
end;

stoch_simul(periods=2100);




