close all
Var produit a yw uw q infw inflw change  intw inflation s interet;
Varexo ta conso epsic nw epsia mch epsiuip mcf nfa epsiyw epsiinfw epsiintw epsiint infh inff w export epsiinf tot;
Parameters h sig x alpha rhoepsic phi phie psi gam rhor omega kappa beta lambw rhoa sigepsia tetah nu lambh tetaf lambf rhoyw rhoinfw rhointw sigepsiyw gaminf gamy game sigepsiintw sigepsiinfw sigepsic sigepsiint;
beta=0.982;
alpha=0.4;
h=0.7;
x=0.01;
sig=1.5;
rhoepsic=0.5;
rhoa=0.75;
rhor=0.75;
phi=2;
gam=0.5;
tetaw=0.5;
tetah=0.5;
tetaf=0.5;
lambw=((1-beta*tetaw)*(1-tetaw)/tetaw);
lambh=((1-beta*tetah)*(1-tetah)/tetah);
lambf=((1-beta*tetaf)*(1-tetaf)/tetaf);
rhoyw=0.5;
rhointw=0.5;
rhointw=0.5;
sigepsiintw=0.80;
sigepsiinfw=0.8;
sigepsiyw=0.8;
sigepsia=0.8;
sigepsiint=0.80;
nu=1.5;
gamy=0.7;
game=0.7;
gaminf=1.5;
psi=0.5;
 
model(linear);
produit=(1-alpha)*((1/(1-h))*(conso(+1)-h*conso)-((1-h)/sig)*(ta-inflation(+1)+((1-rhoepsic)*(1-h)/((1-h)*sig))*epsic))+alpha*export+(2-alpha)*nu*tot+alpha*nu*(-(q+(1-alpha)*s));
inflation = (1-alpha)*( beta*(1-tetah)*infh(+1)+tetah*infh(-1)+lambh*mch)+alpha*( beta*(1-tetaf)*inff(+1)+tetaf*inff(-1)+lambf*mcf);
inflw=gam*inflation(-1)+beta*inflw(+1)-gam*beta*inflation+lambw*uw;
uw=(sig/(1-h))*(conso-h*conso(-1))+phi*(produit-a)-w+nw;
a=rhoa*a(-1)+epsia;
s-s(-1)=inff-infh ; 
interet=rhor*interet(-1)+(1-rhor)*(gaminf*inflation+gamy*produit+game*(change-change(-1)))+epsiint;
yw=rhoyw*yw(-1)+epsiyw;
infw=rhoinfw*infw(-1)+epsiinfw;
intw=rhointw*intw(-1)+epsiintw;
q(+1)-q=-(interet-inflation)-(intw-infw)+x*nfa;
change(+1)=intw-interet-change(-1)+intw+(q-q(-1))-inflation-x*((1/beta)*nfa(-1)+produit-conso-alpha*(s-(q+(1-alpha)*s)))+epsiuip;

end;
 
% 4. Defining initial values, end values and shocks 
% (shocks values from estimation) 
initval; 
produit=-7; 
inflation=18; 
interet=4; 
end; 
endval; 
produit=0; 
inflation=0; 
interet=0; 
end; 
shocks; 
var epsia=sigepsia^2; 
var epsiint =sigepsiint ^2;  
var epsiyw = sigepsiyw ^2; 
end;
%5. Réalisation d’une simulation stochastique 
stoch_simul(linear,periods=20000,relative_irf,ar=10);
 


