- Code: Select all
//IN THIS CASE IS CONSIDERED THE CASE WITH SYMMETRY IN PRICE ADJUSTMENT
close all
//QUESTIONE e E variabili che non riesco ad identificare
///////////////////////////////////////////////////////////////////////////
//DEFINITION OF VARIABLES
//@#define monetary_union=0
var p,ss,y,y_f,pp,pp_f,s,mu,mu_f;
varexo eps_mu,eps_muf;
parameters sigma,zeta, n, sigmas,epsilon,bbeta,theta,theta_f,eta,rho_mu,rho_muf,kappa,kappa_f,ggamma,lambda,lambda_f,yb,yb_f,sb, monetary_union;
theta=0.75;
sigma=1;
zeta=0.67;
n=0.5;
epsilon=7.66;
bbeta=0.99;
theta_f=0.75;
eta=2;
lambda=0.75;
lambda_f=0.75;
rho_mu=0.9;
rho_muf=0.9;
kappa=((1-theta*bbeta)*(1-theta))/(theta*(1+epsilon*zeta));
kappa_f=((1-theta_f*bbeta)*(1-theta_f))/(theta_f*(1+epsilon*zeta));
ggamma=(lambda+lambda_f)*(2-lambda-lambda_f)*sigma*eta+(1-lambda-lambda_f)^2;
sigmas=((sigma*eta-1)/sigma)*(2-lambda-lambda_f)*ggamma;
//omega=(((lambda+lambda_f)*(2-lambda-lambda_f)*(sigma*eta-1)*(sigma+zeta))/omega)*kappa;
sb=0;
yb=((lambda+lambda_f)*(2-lambda-lambda_f)*sigma*eta+(1-lambda-lambda_f)^2)/sigma;
yb_f=((lambda+lambda_f)*(2-lambda-lambda_f)*sigma*eta+(1-lambda-lambda_f)^2)/sigma;
//monetary_union=0;
///////////////////////////////////////////////////////////////////////////
//SPECIFICATION OF THE MODEL
model(linear);
pp=bbeta*pp(+1)+(sigma+zeta)*kappa*(y-yb)-lambda*(2-lambda-lambda_f)*(sigma*eta-1)*kappa*(s-sb)+kappa*mu;
pp_f=bbeta*pp_f(+1)+(sigma+zeta)*kappa_f*(y_f-yb_f)+lambda_f*(2-lambda-lambda_f)*(sigma*eta-1)*kappa_f*(s-sb)+kappa_f*mu_f;//AGGREGATE SUPPLY
ggamma*s=sigma*(y-y_f);
@#ifdef monetary_union
0=(n*(y-yb)+(1-n)*(y_f-yb_f))+epsilon*(n*pp+(1-n)*pp_f);
s-s(-1)=pp_f-pp;
@#else
0=(y-yb)+epsilon*pp;
0=(y_f-yb_f)+epsilon*pp_f;
@#endif
mu=rho_mu*mu(-1)+eps_mu;
mu_f=rho_muf*mu_f(-1)+eps_muf;
p=pp-pp_f;
ss=s-sb;
end;
initval;
mu=0;
mu_f=0;
y=yb;
y_f=yb_f;
pp_f=0;
pp=0;
s=0;
ss=0;
p=0;
end;
//planner_objective(bbeta*(((sigma+zeta)/2)*(n*(y-yb)^2+(1-n)*(y_f-yb_f)^2)-((n*sigmas)/2)*(s-sb)^2+(epsilon/2)*((n/kappa)*pp^2+((1-n)/kappa_f)*pp_f)));
//ramsey_policy(planner_discount=0.99,order=1);
//steady;
//check;
shocks;
var eps_mu=0.1;
var eps_muf=0.1;
end;
stoch_simul(order=1,nodisplay,irf=51);
g=ss_eps_mu;
f=p_eps_mu;
@#define monetary_union=0
steady;
check;
stoch_simul(nodisplay,irf=51);
t=0:50
subplot(2,1,1)
plot(t,ss_eps_mu)
hold on
plot(t,g)
hold all
subplot(2,1,2)
plot(t,p_eps_mu)
hold on
plot(t,f)
hold off