📊 Simulateur MEGC
🏠 Accueil
📁 Modèles
📁 Navigation
🏠
/
Exemples
⬆️
Dossier parent
📄 Modèles
BOP
Calibration_SenAgreg
EMPLOI
INPUT
JOINT
KEYN
Model_SenAgreg-OI
Model_SenAgreg
Model_SenAgreg_Linux
Model_SenAgreg_UTF8
OPEN-VEC
OPEN-VEC_T
OPEN-VEC_T2
OPEN-VEC_T2_Linux
OPEN
Pure exchange
Read_Data
SIMP
TARIFF
TAXENDO
TAXIN
TAXOUT
🖥️ Console
Model_SenAgreg_UTF8.gms
Sortie
LST
En attente d'exécution...
Fichier LST non disponible
📝 Code GAMS
$TITLE Model Sénégal *Jean-Marc PHILIP, email:jm.philip@analyze.fr set t Periode temporelle /2019*2024/ t1(t) Année 1 /2019/ as comptes MCS /Lab,Cap,SNF,SF,Tax_Rev,Tax_Prod,Sub_Prod,TVA,Tax_Aut,Tax_imp,Sub_Prd,Gov,Men,ISBL,Inv,Prd,Sec,RDM/ f(as) facteurs /Lab, Cap/ s(as) secteurs /Sec/ i(as) produits /Prd/ ag(as) agents /Men, SF, SNF, ISBL, Gov, RDM/ ai(ag) agents imposables /SNF, SF, GOV, RDM, Men/ mn(ag) ménages /Men/ ac(ag) consommateurs privés /Men, ISBL/ sa(ag) sociétés /SF, SNF/ ae(ag) agents extérieurs /RDM/ Tax(as) Taxes /Tax_Rev, Tax_Prod, Sub_Prod, TVA, Tax_Aut, Tax_imp, Sub_Prd/ sc scenario /Base, Var/ ; Alias(as,as1), (s,s1), (ag,ag1),(ag,af1), (ae,ae1) ; PARAMETER SAM(*,*), HYPO(*,*) ; $call 'gdxxrw i=D:\MEGC_Senegal\SenAgreg\SAM_Agreg.xlsx o=D:\MEGC_Senegal\SenAgreg\SAM_Sen_2019.gdx par=SAM rdim=1 cdim=1 rng=sheet1!A1:EU152'; $gdxin D:\MEGC_Senegal\SenAgreg\SAM_Sen_2019.gdx $load SAM $call 'gdxxrw i=D:\MEGC_Senegal\SenAgreg\Tabord.xlsm o=D:\MEGC_Senegal\SenAgreg\Hypotheses.gdx par=HYPO rdim=1 cdim=1 rng=Acceuil!A1:B152'; $gdxin D:\MEGC_Senegal\SenAgreg\Hypotheses.gdx $load HYPO display SAM, HYPO ; Execute 'gdxxrw i=D:\MEGC_Senegal\SenAgreg\SAM_Sen_2019.gdx o=D:\MEGC_Senegal\SenAgreg\SAM_SenAgreg.xlsx par=SAM rdim=1 cdim=1 rng=A1:ZA15000'; * Modèle Sénégal PARAMETER L0(s) : Offre de travail pour le secteur s K0(s) : Offre de capital pour le secteur s LT0 : Offre globale de travail KT0 : Offre globale de capital VA0(s) : Valeur ajoutée initiale du produit i Y0(s,i) : Niveau initial d'activité pour le secteur s C0(i,ac) : Niveau initial de consommation de l'agent ac en bien i CG0(i) : Niveau initial de consommation du gouverbnement en bien i CIJ0(i,s) : Niveau initial de consommation intermédiaire du bien i par la branche s CI0(s) : Niveau initial de consommation intermédiaire de la branche s S0(ag) : Niveau initial d'épargne pour l'agent ag I0(i) : Niveau initial d'investissement pour le secteur s YT0(s) : Niveau initial du total de la production pour le secteur s CT0(ac) : Niveau initial du total de la consommation privée CTG0 : Niveau initial du total de la consommation du Gouvernement IT0 : Niveau initial du total de l'investissement MT0(i) : Niveau initial du Total des importations M0(ae,i) : niveau initail des importations en produit i XT0(i) : Niveau initial du Total des exportations en produit i XE0(ae) : Niveau initial du Total des exportations vers l'agent ae X0(ae,i) : niveau initial des exportations en produit i Spf(ag,f) : Distribution de la Valeur ajoutée aux agents MIP(t) : Multiplicateur d'investissement TAX_Prod0(s) : Taxe sur la production du secteur s TAX_Imp0(ae,i) : Taxe initiale sur les importations de l'agent ae en produit i Tax_Exp0(ae,i) : Taxe initiale sur les exportations vers l'agent ae en produit i TVA0(i) : Taxe sur la valeur ajoutée du produit i Tax_Aut0(i) : Taxe sur le bien composite i Sub_Prd0(i) : Subventions initiales du gouvernement sur les produits Sub_Prod0(s) : Subventions initiales du gouvernement sur les secteurs tauM0(ae,i) : taux de taxation initial des produits importés tauM(ae,i,t) : taux de taxation des produits importés tauX0(ae,i) : taux de taxation initial des produits exportés tauX(ae,i,t) : taux de taxation des produits exportés taud0(ai) : taux de taxation initial sur les revenus des contribuables taud(ai,t) : taux de taxation sur les revenus des contribuables tauP0(s) : Taux de taxation initial sur la production pour le secteur s tauP(s,t) : Taux de taxation sur la production pour le secteur s tauS0(i) : Taux de subvention du gouvernement initial sur le produit i tauS(i,t) : Taux de subvention du gouvernement sur le produit i tauSb0(s) : Taux de subvention du gouvernement initial sur le secteur s tauSb(s,t) : Taux de subvention du gouvernement sur le secteur s PY0(s) : indice initial du prix de la production pour le secteur s PM0(ae,i) : indice initial du prix des importations des agents par produits PX0(ae,i) : indice initial du prix des exportations vers les agents par produits D0(i) : Demande intérieure en produit i Q0(i) : niveau du bien composite en produit i MrgT0(i) : niveau total des marges sur le produit i TauMrg0(i) : Taux de marge initial du produit i TauSub0(i) : Taux de subvention initial sur le produit i TauVA0(i) : Taux de taxation initial sur la valeur ajoutée du produit i TauVA(i,t) : Taux de taxation sur la valeur ajoutée du produit i TauQ0(i) : Taux de taxation initial sur les produits i TauQ(i,t) : Taux de taxation sur les produits i PS0(s) : Prix de production intial du secteur en tenant compte de la subvention PrS0(i) : Prix initial des produits en tenant compte de la subvention TauMrg(i,t) : Taux de marge du produit i TRN0(ag, ag1) : Transferts initiaux entre agents PVA0(i) : Prix initial é la valeur ajoutée du produit i PAcq0(i) : Prix d'acquisition initial prenant en compte la marge PAcq(i,t) : Prix d'acquisition prenant en compte la marge Ptc0(i) ! Prix des produits prenant en compte la taxe communautaire Pq0(i) : Prix composite initial BC0(ae) : Banque commerciale initiale vis é vis des agents exterieurs * spacc(ag) : Répartition du total du compte d'accumulation en fonction du poids des agents ; L0(s) = SAM('Lab',s) ; K0(s) = SAM('Cap',s) ; VA0(s) = L0(s)+K0(s) ; LT0 = SUM(s,L0(s)) ; KT0 = SUM(s,K0(s)) ; CIJ0(i,s) = SAM(i,s); CI0(s) = SUM(i,CIJ0(i,s)); C0(i,ac) = SAM(i,ac) ; * Répartition de la valeur ajoutée Spf(ag,"Lab")$SAM(ag,"Lab") = SAM(ag,"Lab")/SUM(s,L0(s)) ; Spf(ag,"Cap")$SAM(ag,"Cap") = SAM(ag,"Cap")/SUM(s,K0(s)) ; * Répartition du total de FIN entre les agents selon leur poids respectif * spacc(ag) = SAM("Fin",ag)/SUM(ag1,SAM("Fin",ag1)) ; * Investissement des agents économiques inv(ag)=S0(ag) S0(ag) = SAM('Inv',ag) ; I0(i) = SAM(i,'Inv') ; CT0(ac) = SUM(i,C0(i,ac)) ; CG0(i) = SAM(i,'Gov') ; CTG0 = SUM(i,CG0(i)) ; IT0 = SUM(i,I0(i)) ; X0(ae,i) = SAM(i,ae); M0(ae,i) = SAM(ae,i); * MT0(i) = SUM(ae,M0(ae,i)); XT0(i) = SUM(ae,X0(ae,i)); XE0(ae) = SUM(i,X0(ae,i)); BC0(ae) = SUM(i,M0(ae,i))-XE0(ae); *Transferts Trn0(ag,ag1) = SAM(ag1,ag) ; * Taxes, marges et subvensions TAX_Prod0(s) = SAM('TAX_Prod',s) ; TAX_Imp0(ae,i) = M0(ae,i)/SUM(ae1,M0(ae1,i))*SAM('TAX_Imp',i) ; * Tax_Exp0(ae,i) = X0(ae,i)/SUM(ae1,X0(ae1,i))*SAM('Tax_Exp',i) ; Tax_Exp0(ae,i) = 0 ; TVA0(i) = SAM('TVA',i); Tax_Aut0(i) = SAM('Tax_Aut',i); * MrgT0(i) = SAM('Mrg',i); MrgT0(i) = 0; Sub_Prd0(i) = SAM('Sub_Prd',i); Sub_Prod0(s) = SAM('Sub_Prod',s); Display Sub_Prd0 ; Y0(s,i) = SAM(s,i) ; YT0(s) = SUM(i,Y0(s,i)) ; D0(i)=SUM(s,Y0(s,i))+ MrgT0(i)+Sub_Prd0(i)-XT0(i) ; * taux de taxes sur la production tauP0(s)$ YT0(s) = TAX_Prod0(s)/YT0(s) ; PY0(s) = 1-tauP0(s) ; * taux de subventions sur la production tauSb0(s)$SUM(i,Y0(s,i)) = Sub_Prod0(s)/YT0(s); PS0(s) = 1-tauSb0(s) ; * taux de taxes sur les importations tauM0(ae,i)$M0(ae,i) = TAX_Imp0(ae,i)/M0(ae,i); PM0(ae,i) = 1+tauM0(ae,i); * taux de taxes sur les exportations tauX0(ae,i)$X0(ae,i) = Tax_Exp0(ae,i)/X0(ae,i); PX0(ae,i) = 1-tauX0(ae,i); * taux de marges sur les produits et transport TauMrg0(i)$SUM(s,Y0(s,i)) = MrgT0(i)/SUM(s,Y0(s,i)); PAcq0(i) = 1+ TauMrg0(i); * taux de subventions sur les produits tauS0(i)$D0(i) = Sub_Prd0(i)/SUM(s,Y0(s,i)); PrS0(i) = 1+tauS0(i); Q0(i) =D0(i)+SUM(ae,M0(ae,i))+SAM('TAX_Imp',i)+Tax_Aut0(i)+TVA0(i) ; * TVA TauVA0(i)$Q0(i) = TVA0(i)/Q0(i) ; PVA0(i) = 1-TauVA0(i); * autres taux de taxation sur les produits i TauQ0(i)$Q0(i) = Tax_Aut0(i)/Q0(i) ; Pq0(i) = 1-TauQ0(i) ; * taux de taxes sur les revenus des contribuables taud0(ai)$SUM(as,SAM(ai,as)) = SAM('Tax_Rev',ai)/(SUM(as,SAM(ai,as))) ; * Autre manière de calculer la demande intérieure D0(i) = Q0(i)-Tax_Aut0(i)-TVA0(i)-SUM(ae,M0(ae,i))-SAM('TAX_Imp',i) ; * Recalibrage des importations MT0(i) = SUM(ae,M0(ae,i))+ SAM('TAX_Imp',i); XT0(i) = SUM(ae,X0(ae,i)*PX0(ae,i)); * Initialisation du multiplicateur d'investissement MIP(t) = 1 ; display D0, X0, tauS0, TauMrg0, spf, CT0, tauS0, s0 ; *SCALAR * gr taux de croissance /0.03/ * r rendement du capital /0.1/ * Delta taux de dépreciation du capital /0.01/ * ir taux d'intérêt des emprunts du gouvernement /0.03/; PARAMETER Gr Taux de croisssance r Taux de rendement du capital ir Taux d'interet pour les emprunts concessionnels Delta Taux de dépreciation d capital sigma Elasticité de substitution theta Elasticité de transfrmation dans la fonction de production TypeMod Type de modèle (1 = pas de financement 2 = financement du déficit public par l'emprunt ) ; Gr = HYPO('Gr','Val') ; r = HYPO('r','Val') ; Delta = HYPO('Delta','Val') ; ir = HYPO('ir','Val') ; sigma = HYPO('sigma','Val') ; theta = HYPO('theta','Val') ; TypeMod = HYPO('Typemod','Val') ; delta = (KT0*gr - IT0*r)/(IT0 - KT0) ; *r = (KT0*gr -IT0*delta + KT0*delta )/IT0 ; *gr = (IT0*r +IT0*delta-KT0*delta )/KT0 ; display r, gr, delta, Typemod; PARAMETER Qref(t) Evolution des quantités dans le temps Pref(t) Evolution des prix dans le temps ; * Les quantités évoluent comme le taux de croissance Qref(t) = (1+gr)**(ord(t)-1); * les prix se déprecient au cours du temps de manière inversement proportionnelle au taux d'intéret Pref(t) = (1/(1+r))**(ord(t)-1); * Valeurs temporelles des taux de marges, de taxes et de subventions TauM(ae,i,t) = TAUM0(ae,i) ; TauX(ae,i,t) = TAUX0(ae,i) ; TauVA(i,t)= TauVA0(i) ; *taul(s,t) = taul0(s) ; tauD(ai,t) = tauD0(ai) ; tauP(s,t) = tauP0(s) ; TauQ(i,t)= TauQ0(i); tauS(i,t) = tauS0(i) ; tauSb(s,t) = tauSb0(s) ; TauMrg(i,t) = TauMrg0(i) ; PAcq(i,t) = PAcq0(i) ; Display Qref, PREF, KT0, pm0, va0, y0, L0, MT0, XT0, XE0, S0, CT0 ; $ONTEXT $MODEL:ModelSenegal $SECTORS: Y(s,t)$YT0(s) ! Niveau d'activité pour le secteur s Z(i,t)$D0(i) ! Repartition de la production en domestique et exportation Q(i,t)$Q0(i) ! Niveau du bien composite entre domestique et importations M(ae,i,t)$M0(ae,i) ! Niveau des importations en produits i de l'agent ae MT(i,t)$MT0(i) ! Niveau des importations en produits i XE(ae,t)$XE0(ae) ! Niveau des exportations en produits i XT(i,t)$XT0(i) IT(t) ! Niveau du total des investissements CT(ac,t)$CT0(ac) ! Niveau du total de la consommation des agents consommateurs CTG(t) ! Niveau du total de la consommation du gouvernement $COMMODITIES: PY(s,i,t)$Y0(s,i) ! Indice des prix des produits du secteur Y PK(t) ! Indice des prix du capital Pl(t) ! Indice de rémunération du travail Rk(t) ! Indice de rémunération du capital PC(ac,t) ! Indice des prix de la consommation des agents PG(t) ! Indice des prix de la consommation publique PMT(i,t)$MT0(i) ! Indice de prix des importations par produits PM(ae,i,t)$M0(ae,i) ! Indice des prix des importations par produits et agents PX(ae,i,t)$X0(ae,i) ! Indice des prix des exportations par produits et agents PXT(i,t)$XT0(i) ! Indice des prix des exportations par produits PFX(ae,t) ! Taux de change avec l'agent ae PD(i,t)$D0(i) ! Indice des prix interieurs PQ(i,t)$Q0(i) ! Indice des prix composites PTR(ai,t)$SAM("Tax_Rev",ai) ! Indice ce prix du paiement des impéts sur le revenu $CONSUMERS: RA(ac,t) ! Solde des revenu des agents consommateurs RA Gouv(t) ! Solde de revenu du gouvernement gouv Firm(sa,t) ! Solde de revenu des entreprises (Firmes) RDM(ae,t) ! Solde de revenu du Reste du monde $AUXILIARY: TaxD(ai,t) ! Niveau de taxation des agents imposables K(t) ! Contrainte de viscosité sur la rémunération du capital TXCF(ae,t) ! Contrainte de rigidité sur le taux de change STKPL(t) ! Contrainte de rigidité sur les salaires FINDP(t) ! Financement du deficit public par l'emprunt INTPRE(t) ! Interéts sur les emprunts $PROD:Y(s,t)$YT0(s) s:sigma va:1 O:PY(s,i,t) Q:Y0(s,i) P:PY0(s) A:Gouv(t) t:tauP(s,t) P:PS0(s) A:Gouv(t) t:tauSb(s,t) I:Pl(t) Q:L0(s) va: I:Rk(t)$K0(s) Q:K0(s) va: I:PQ(i,t)$CIJ0(i,s) Q:CIJ0(i,s) $PROD:Z(i,t)$D0(i) t:theta O:PD(i,t)$D0(i) Q:D0(i) O:PXT(i,t)$XT0(i) Q:XT0(i) I:PY(s,i,t) Q:Y0(s,i) P:PAcq0(i) A:FIRM("SNF",t) t: TauMrg(i,t) P:PrS0(i) A: Gouv(t) t:TauS(i,t) $PROD:XT(i,t)$XT0(i) t:theta O:PX(ae,i,t) Q:X0(ae,i) P:PX0(ae,i) A:Gouv(t) t: tauX(ae,i,t) I:PXT(i,t) Q:XT0(i) $PROD:MT(i,t)$MT0(i) s:sigma O:PMT(i,t) Q:MT0(i) I:PM(ae,i,t) Q:(M0(ae,i)*Pm0(ae,i)) $PROD:XE(ae,t)$SUM(i,X0(ae,i)) s:sigma O:PFX(ae,t) Q:(SUM(i,X0(ae,i))) I:PX(ae,i,t) Q:X0(ae,i) $PROD:M(ae,i,t)$M0(ae,i) t:theta O:PM(ae,i,t)$M0(ae,i) Q:(M0(ae,i)*Pm0(ae,i)) I:PFX(ae,t) Q:M0(ae,i) P:PM0(ae,i) A:GOUV(t) t:taum(ae,i,t) $PROD:Q(i,t)$Q0(i) s:sigma O:PQ(i,t)$Q0(i) Q:Q0(i) P:PQ0(i) A:GOUV(t) t:TauQ(i,t) P:PVA0(i) A:GOUV(t) t:TauVA(i,t) I:PD(i,t)$D0(i) Q:D0(i) I:PMT(i,t)$MT0(i) Q:MT0(i) $PROD:CT(ac,t)$CT0(ac) s:sigma O:PC(ac,t) Q:CT0(ac) I:PQ(i,t)$C0(i,ac) Q:C0(i,ac) $PROD:CTG(t) s:sigma O:PG(t) Q:CTG0 I:PQ(i,t) Q:CG0(i) $PROD:IT(t) s:sigma O:PK(t) Q:IT0 I:PQ(i,t) Q:I0(i) $DEMAND:RA(ac,t) D:PK(t) Q:(S0(ac)*QRef(t)) E:PC(ac,t) Q:(-CT0(ac)*Qref(t)) E:Pl(t) Q:(Spf(ac,"Lab")*LT0*Qref(t)) R:STKPL(t) E:Rk(t) Q:(Spf(ac,"Cap")) R:K(t) * Taxes sur le revenu E:PTR(ac,t)$SAM("Tax_Rev",ac) Q:(-1) R:TaxD(ac,t) * Transfers E:PK(t) Q:(SUM(ag,(Trn0(ag,ac)-Trn0(ac,ag)))*Qref(t)) $DEMAND:FIRM(sa,t) D:PK(t) Q:(S0(sa)*QRef(t)) E:Pl(t) Q:(Spf(sa,"Lab")*LT0*Qref(t)) R:STKPL(t) E:Rk(t) Q:(Spf(sa,"Cap")) R:K(t) * Taxes sur le revenu E:PTR(sa,t) Q:(-1) R:TaxD(sa,t) * Transfers entre les agents E:PK(t) Q:(SUM(ag,(Trn0(ag,sa)-Trn0(sa,ag)))*Qref(t)) E:PG(t) Q:(-0.8) R:FINDP(t) E:PG(t) Q:(0.8) R:INTPRE(t) $DEMAND:GOUV(t) D:PG(t) Q:(CTG0*Qref(t)) E:PK(t) Q:(-S0("Gov")*MIP(t)*QRef(t)) E:Pl(t) Q:(Spf("Gov","Lab")*LT0*Qref(t)) R:STKPL(t) E:Rk(t) Q:(Spf("Gov","Cap")) R:K(t) * Taxes sur le revenu E:PTR("Gov",t)$SAM("Tax_Rev","Gov") Q:(-1) R:TaxD("Gov",t) * Taxes collectées E:PTR(ai,t)$SAM("Tax_Rev",ai) Q:(1) R:TaxD(ai,t) * Transfers E:PK(t) Q:(SUM(ag,(Trn0(ag,"Gov")-Trn0("Gov",ag)))*Qref(t)) * Financement du déficit public E:PG(t) Q:(1) R:FINDP(t) E:PG(t) Q:(-1) R:INTPRE(t) $DEMAND:RDM(ae,t) D:PK(t) Q:(S0(ae)*Qref(t)) E:PFX(ae,t) Q:(BC0(ae)*QRef(t)) R:TXCF(ae,t) E:Pl(t) Q:(Spf(ae,"Lab")*LT0*Qref(t)) R:STKPL(t) E:Rk(t) Q:(Spf(ae,"Cap")) R:K(t) * Financement du déficit public E:PG(t) Q:(-0.2) R:FINDP(t) E:PG(t) Q:(0.2) R:INTPRE(t) * Taxes sur le revenu E:PTR(ae,t)$SAM("Tax_Rev",ae) Q:(-1) R:TaxD(ae,t) * Transfers reéus des autres agents E:PK(t) Q:(SUM(ag,Trn0(ag,ae))*Qref(t)) E:PK(t) Q:(-SUM(ag,Trn0(ae,ag))*Qref(t)) *Transfert des salaires versés par le RDM E:PL(t) Q:(-SAM("Lab",ae)*Qref(t)) $CONSTRAINT:TaxD(ai,t) * Les agents imposables paient des impéts au gouvernement en fonction de la croissance économique TaxD(ai,t) =E= Taud(ai,t)*(SUM(as,SAM(ai,as))*IT(t)) ; $CONSTRAINT:K(t) K(t) =E= KT0$T1(t) + (1-delta)*K(t-1)+IT(t-1)*IT0*(r+delta) ; $CONSTRAINT:STKPL(t) PL(t)/PC("Men",t) =g= 1 ; $CONSTRAINT:TXCF(ae,t) PFX(ae,t)/PL(t) =G= 1; $CONSTRAINT:FINDP(t) CTG(t) =G= QRef(t) ; $CONSTRAINT:INTPRE(t) INTPRE(t) =E= ir*FINDP(t)+INTPRE(t-1) ; $REPORT: v:Prd(s,i,t) o:Py(s,i,t) Prod:Y(s,t) v:PrDom(i,t) o:Pd(i,t) Prod:Z(i,t) v:LabDem(s,t) i:Pl(t) Prod:Y(s,t) v:CapDem(s,t) i:RK(t) Prod:Y(s,t) v:CIJ(s,i,t) i:Pq(i,t) Prod:Y(s,t) v:Exp(ae,i,t) i:Px(ae,i,t) Prod:x(ae,i,t) v:Imp(ae,i,t) i:PFX(ae,t) Prod:M(ae,i,t) v:Inv(i,t) i:Pq(i,t) Prod:IT(t) v:DComP(i,t) o:Pq(i,t) Prod:Q(i,t) v:Cons(ac,i,t) i:Pq(i,t) Prod:CT(ac,t) v:ConsG(t) o:Pg(t) Prod:CTG(t) $OFFTEXT $SYSINCLUDE mpsgeset ModelSenegal PG.FX(t)= Pref(t) ; K.fx(t1) = KT0 ; K.l(t) = KT0*Qref(t); Y.L(s,t) = Qref(t) ; Z.L(i,t) = Qref(t) ; Q.L(i,t) = Qref(t) ; M.L(ae,i,t) = Qref(t) ; MT.L(i,t) = Qref(t) ; XE.L(ae,t) = Qref(t) ; XT.L(i,t) = Qref(t) ; IT.L(t) = Qref(t) ; CT.L(ac,t) = Qref(t) ; CTG.L(t) = Qref(t) ; PC.l(ac,t) = Pref(t) ; PY.L(s,i,t) = Pref(t) ; PK.L(t) = Pref(t) ; Pl.L(t) = Pref(t) ; Rk.L(t) = Pref(t) ; PC.L(ac,t) = Pref(t) ; PM.L(ae,i,t) = Pref(t) ; PMT.L(i,t) = Pref(t) ; PX.L(ae,i,t) = Pref(t) ; PXT.L(i,t) = Pref(t) ; PFX.L(ae,t) = Pref(t) ; PD.L(i,t) = Pref(t) ; PQ.L(i,t) = Pref(t) ; PTR.L(ai,t) = PRef(t) ; *PTF.L(t) = PRef(t) ; TaxD.L(ai,t) = SAM("Tax_Rev",ai)*Qref(t) ; INTPRE.fx(t1) = ir*FINDP.l(t1) ; INTPRE.l(t) = ir*FINDP.l(t)+INTPRE.l(t-1); * Type de modèle 1 : ajustement du déficit public par la consommation, taux de change fixe, salaires flexibles if (TypeMod eq 1 , FINDP.fx(t) = 0 ; TXCF.l(ae,t) = 1 ; STKPL.fx(t)= 1 ) ; * Type de modèle 2 : financement du déficit public par l'emprunt, taux de change fixe, salaires rigides if (TypeMod eq 2 , FINDP.l(t) = 0 ; TXCF.l(ae,t) = 1 ; STKPL.l(t)= 1 ) ; * Type de modèle 3 : MEGC standard (ajustement du déficit public par la consommation, taux de change flexible, salaires flexibles) if (TypeMod eq 3 , FINDP.fx(t) = 0 ; TXCF.fx(ae,t) = 1 ; STKPL.fx(t)= 1 ) ; PARAMETER Iter Nombre d'iterations MCSRES Resultats présentation MCS Results Resultats présentation variables APE Démantélement tarifaire Scenario Parametre des scenarios TX_DEM(i,t) Taux de demantélement ; $call 'gdxxrw i=D:\MEGC_Senegal\SenAgreg\demantelement.xlsx o=D:\MEGC_Senegal\SenAgreg\demantelement.gdx par=TX_DEM rdim=1 cdim=1 rng=reporting!A91:G92'; $gdxin D:\MEGC_Senegal\SenAgreg\demantelement.gdx $load TX_DEM display TX_DEM; Scenario("MIP",'base','','',t) = MIP(t) ; Scenario("TauM",sc,ae,i,t) = TauM(ae,i,t) ; * Augmentation des investissements publics de 5% *Scenario("MIP",'var','','',t) = 1.05*MIP(t) ; * Réduction temporelle des droits de douane sur les importations d *Scenario("TauM",'var',ae,i,t) = TauM0(ae,i)*(1+TX_DEM(i,t)) ; *Scenario("Mip",'base','','',t) = 1 ; *Scenario("Mip",'var','','',t) = 1.05 ; Scenario("Taum",'base',ae,i,t) = taum(ae,i,t); Scenario("Taum",'var',ae,i,t) = 0.2*taum(ae,i,t); ITER(sc) = 200000 ; ITER("base") = 0 ; loop(sc, taum(ae,i,t) = Scenario("Taum",sc,ae,i,t) ; *Mip(t) = Scenario("Mip",sc,'','',t) ; ModelSenegal.iterlim= iter(sc); ModelSenegal.optfile= 1 ; $INCLUDE ModelSenegal.GEN SOLVE ModelSenegal USING MCP; display Scenario, Mip ; * Comptes Nationaux Results('NAT','Volume','Demande de travail',s,'',sc,t) = LabDem.l(s,t); Results('NAT','Volume','Demande de capital',s,'',sc,t) = CapDem.l(s,t); Results('NAT','Volume','Production',s,i,sc,t) = Prd.l(s,i,t) ; Results('NAT','Volume','Production domestique','',i,sc,t) = PrDom.l(i,t); Results('NAT','Volume','Consommation intermédiaire',s,i,sc,t) = CIJ.l(s,i,t) ; Results('NAT','Volume','Valeur ajoutée',s,'',sc,t) = LabDem.l(s,t) + CapDem.l(s,t); Results('NAT','Volume','Exports',ae,i,sc,t) = Exp.l(ae,i,t); Results('NAT','Volume','Imports',ae,i,sc,t) = Imp.l(ae,i,t); Results('NAT','Volume','Investissements','',i,sc,t) = Inv.l(i,t); Results('NAT','Volume','Demande composite','',i,sc,t) = DComP.l(i,t); Results('NAT','Volume','Cons. finale des agents consommateurs',ac,i,sc,t) = Cons.l(ac,i,t) ; Results('NAT','Volume','Cons. finale totale du gouvernement','','',sc,t) = ConsG.l(t); Results('NAT','Volume','Investissement des agents consomateurs',ac,'',sc,t) = RA.l(ac,t); Results('NAT','Prix','Indice des prix des importations',ae,i,sc,t) = PM.l(ae,i,t); Results('NAT','Prix','taux de taxation des importations',ae,i,sc,t) = TauM(ae,i,t); Results('NAT','Prix','Indice des prix des importations',ae,i,sc,t) = PM.l(ae,i,t); Results('NAT','Prix','taux de change',ae,'',sc,t) = PFX.l(ae,t); Results('NAT','Valeur','Solde du revenu des ménages et associations',ac,'',sc,t) = RA.l(ac,t) ; Results('NAT','Valeur','Solde du revenu des sociétés quasi-sociétés',sa,'',sc,t) = FIRM.l(sa,t) ; Results('NAT','Valeur','Solde du revenu des agents du RDM',ae,'',sc,t) = RDM.l(ae,t) ; Results('NAT','Valeur','Solde du revenu du gouvernement','','',sc,t) = GOUV.l(t) ; Results('NAT','Valeur','Rémunération du travail',s,'',sc,t) = LabDem.l(s,t)*Pl.l(t); Results('NAT','Valeur','Financement du déficit','','',sc,t) = FINDP.l(t); Results('NAT','Valeur','Intérêts du financement','','',sc,t) = INTPRE.l(t); Results('NAT','Valeur','Rémunération du capital',s,'',sc,t) = CapDem.l(s,t)*Rk.l(t); Results('NAT','Valeur','Rémunération salariale des agents',ac,'',sc,t) = Spf(ac,"Lab")*SUM(s,LabDem.l(s,t)*Pl.l(t)); Results('NAT','Valeur','Rémunération des agents provenant du capital',ac,'',sc,t) = Spf(ac,"Cap")*SUM(s,CapDem.l(s,t)*Rk.l(t)); ) ; Execute_unload "D:\MEGC_Senegal\SenAgreg\Results_MEGC_Senegal.gdx" RESULTS Execute "C:\GAMS\win64\24.1\GDX2ACCESS.EXE D:\MEGC_Senegal\SenAgreg\Results_MEGC_Senegal.gdx" *Envoi des résultats dans un fichier Excel Execute 'gdxxrw i=D:\MEGC_Senegal\SenAgreg\Results_MEGC_Senegal.gdx o=D:\MEGC_Senegal\SenAgreg\Results_MEGC_Senegal.xlsx par=RESULTS rdim=6 cdim=1 rng=A1:ZA15000';
▶️ Lancer la Simulation