Block using parameters as variables in mod-files
The following file defines pip
as a parameter, but uses pip(+1)
like a variable. We should block this and issue an error.
%%% PROGETTO 11 %%%
var C lambda R r K I MRS h w N mc Y T b W ;
varexo epst ;
parameters beta delta phi eps alpha phir phip phiy tau rho phia phib epsp piw pit sigma pip cy iy b2;
%%% calibrazione parametri %%%
beta=0.99;
delta=0.5;
phi=2;
eps=1;
alpha=2;
phir=0.5;
phip=0.6;
phiy=0.7;
tau=0.35;
rho=0.3;
phia=1;
phib=1.1;
epsp=1.3;
piw=2;
pit=2.3;
sigma=1;
pip=2.1;
cy=1.2;
iy=1.4;
b2=0.7;
%steady state%
model(linear);
-sigma*C=lambda;
lambda=lambda(+1)+R-pip(+1);
lambda(+1)=lambda+(1-beta*(1-delta))*r(+1);
K=(1-delta)*K(-1)+delta*I;
MRS=sigma*C+phi*h;
piw=beta*piw(+1)-(((1-eps)*(1-beta*eps))/eps)*(w-MRS);
K(-1)-N=w-r;
mc=alpha*r+(1-alpha)*w;
Y=alpha*K(-1)+(1-alpha)*h;
pip=beta*pip(+1)+(((1-epsp)*(1-beta*epsp))/epsp)*mc;
(cy)*C+(iy)*I=Y;
R=phir*R(-1)+(1-phir)*(phip*pip+phiy);
T=(1/((((R*b2(-1))/pip)-b2-tau*w*h))*((R*b2(-1))/pip)*(-pip+b2(-1)+R)-(tau*w*h)*(tau+h+w)-b2(-1)*b);
tau=rho*tau(-1)+phia*b(-1)+phib*Y+epst;
piw=w-w(-1)+pip;
end;
resid(1);
steady;
check;
shocks;
var epst=2;
end;
stoch_simul(order=1, irf=20);