var Y L K Uti U U1 U2 VarY M lambda W Pi Q P Vari C1 C2 lambda2 G B g beta S N I C ec S1 S2 i A V FE PIB PIBEX Co;
varexo H KK J D Go Ye im e_a e_v CF R;

parameters alpha tau phi delta theta sigma f c rho rho2 a tl tmt tct Z;

alpha = .33; % Part de capital
tau = .025;
phi= 1.5;
delta = .025; % Dépréciation capital
theta = .9;
sigma = .5;
f= .2;
c= .1; % Part de production interne pour l'économie
rho= .95; % Impact choc technologique
rho2= .15; % Impact choc capital humain
a= .9; % Part des ménages normaux
tl=1.02; % Taux d'intérêt prêt à l'état
tmt=.2; % Impôt profit
tct=.3; % Impôts ménages
Z=1.25; % Coût des dommages environnementaux

model;
 
  I=K-K(-1)*(1-delta)+Pi(-1)*(1-tmt)+S; % Accumulation du capital 
  Co=c*Y+(1-c)*Ye/ec; % Consomation interne total
  beta=(KK)/(L+K+KK); % Beta du Capital public
  Uti=a*U1+(1-a)*U2; % 0.9 de menages pauvres
  
  % Programme entreprise
  
  Y=(P/((((1-alpha)/alpha^2)*(V^alpha)*(KK^beta)/M^(1-alpha))+(KK^beta)/(A*alpha^(2-alpha)*V^((1-alpha)/alpha)*M^((1-alpha)/alpha))))^(alpha/(1-alpha));% Production
  K=Y^(1/alpha)/(KK^(beta/alpha)*V^(1-alpha)*M^((1-alpha)/alpha)*A);% Investissement privée
  L=(((1-alpha)/(alpha*W))^alpha)*Y/(V*(KK^beta));% Demande de travail
  lambda=Y^(1-alpha/alpha)/(KK^(beta/alpha)*V^(1-alpha)*M^((1-alpha)/alpha)*alpha*A);% lambda programme minimisation coût
  Q=W*L+CF+S;% Cout entreprise doute avec S car cela peut créer un effet d'accélarteur. 
  Pi=Y*P-Q-FE; % Profit
  FE=(1-VarY)*Z; % Facture écologique

  % Marché du travail  
  
  M=theta*(H-U(-1))+(1-theta)*VarY;
  U=N(-1)-L(-1); % à voir car possibilité d'erreur avec le chomage comme calendar 
  W=((1-alpha)/alpha)*(Y/V*(KK^beta)*M)^(1/alpha);% Salaire 
  
  % Rythme monétaire
  
  P=(tau*R-Vari)*P(-1);% Prix
  i=tl+Go/C(-1); % Taux d'intérêt national
  ec=ec(-1)+(i-im); % Taux de change
  P(+1)=P*(1-VarY+Vari); % Inflation futur

  % Ménage 1
  
  C1=(W/P)^(1/sigma)*((W(-1)*tct-J-D-(S1(-1)*i(-1)/P(-1))+S1*i)/W)*1/(1-(W^((1-sigma)/sigma)/P^((1-sigma)/sigma))); % Conso ménage 1
  N=(P*C1+W(-1)*tct-J-D-(S1(-1)*i(-1))/P(-1))/W;% Offre de travail
  U1=C1^(1-sigma)/(1-sigma)-(N^(1-phi)/(1-phi)); % Utilite menage normal 
    
  % Ménage 2
  
  C2=(S2(-1)*i(-1)-S*i)*f/P;% Conso ménage 2
  C2(+1)=(S2(-1)*i(-1)-S*i)*(1-f)/P(+1); % Conso futur du ménage 2
  lambda2=-1*(1-f)*f/((P^f)*(P(+1)^(1-f))*(1+i));
  U2=(C2^f)*(C2(+1)^(1-f))/(1+i); % Utilite menage riche 

  % Variable Macroéconomique
  
  VarY=(Y(-1)-Y(-2))/Y(-2); % Variation de la production passé
  Vari=(i-i(-1))/i(-1); % Variation taux d'intérêt
  S=S1+S2; % Épargne total

  G=(P*Go+(1-a)*J+a*KK);% Dépense publique
  B=Pi(-1)*tmt+W(-1)*tct+FE-G+g(-1); % Contrainte publique 
  g=(1+i)*B; % Dette passé
  C=C1+C2+Go; % Consomation totale
  PIB=Co+I+G; % PIB
  PIBEX=(1-c)*Y*ec+Ye; % PIB étranger
  
  %chocs exogènes
  
  A=rho*A(-1)+e_a; % On fait un AR ici
  V=rho2*V(-1)+e_v; % On fait un ARMA ici
  
  % Fin Modele


 
initval;

  H=6; % Chômage structurelle
  FE=0; % Dégénérécence environnementale
  J=1; % Transfert Public
  D=0; % Revenu Indépendant
  Go=1; % Consommation Incompréssible de l'état
  Ye=0; % Production étrangère
  im=1; % Taux d'intérêt mondiale
  KK=2; % Investissement Public
  R=1; % Indice de force de l'administration publique. Capacité à rejoindre  cette objectif
  A=0; % Choc initiale
  V=0; % Choc initiale
  CF=3; % Coût Fixe
  R=1; % Efficacité Administrative
  
  % Essaie état stationnaire
  
  Y=3;
  L=1;
  K=2;
  Uti=3;
  U=8;
  U1=1;
  U2=2;
  VarY=0;
  M=1;
  lambda=1;
  W=2;
  Pi=7;
  Q=3;
  P=1;
  Vari=1;
  C1=1;
  C2=2;
  lambda2=1; 
  G=2;
  B=2;
  g=0;
  beta=1;
  S=2;
  N=3;
  I=2;
  C=6;
  ec=1;
  S1=1;
  S2=2;
  i=1.1;
  A =1;
  V =1;
  
end;

shocks;
  var e_a;  stderr .01; % On fait un AR ici
  var e_v;  stderr .01; % On fait un ARMA ici
end;

resid;
steady;
check;

% Mettre les chocs 


%je vais maintenant calibrer les modèle paramètres. J'hésite entre estimer ou calibrer.

stock_simul;