📊 Simulateur MEGC
🏠 Accueil
📁 Modèles
📁 Navigation
🏠
/
Modeles simples
/
Cadrage
⬆️
Dossier parent
📄 Modèles
CadrageCGE
CadrageCGE_Linux
⚙️ Hypothèses du Modèle
Type de modèle
1=flexible, 2=fixe
Taux de croissance
ex: 0.04 = 4%
Rendement du capital
ex: 0.06 = 6%
Taux de dépréciation
ex: 0.07 = 7%
Élasticité substitution
CES
Élasticité transformation
CET
Taux d'intérêt
emprunts concessionnels
🖥️ Console
CadrageCGE_Linux.gms
Sortie
LST
En attente d'exécution...
Fichier LST non disponible
📝 Code GAMS
$STITLE MEGC A DYNAMIQUE RECURSIVE STRUCTURALISTE EN ECONOMIE OUVERTE A PRIX FIXES OU FLEXIBLES * Auteur : Jean-Marc PHILIP, email:philip@analyze.fr * Version Linux - Convertie pour GAMS Connect SET * Note: Période réduite pour licence démo (limite 1000 colonnes) * Pour la version complète, remettez /2017*2019/ t Periode temporelle /2017*2018/ t1(t) Année 1 /2017/ as Ensemble des indices du modèle /Lab, Cap, MEN, APU, RDM, S1*S10, TaxQ, Inv/ f(as) Facteurs de production /Lab, Cap/ i(as) Secteurs /S1*S10/ ag(as) Agents /Men, APU, RDM/ al(as) Agents locaux /Men, APU/ sc Scenario /base, var/ ; ALIAS (as,as1), (i,j), (ag,ag1), (t,tt) ; PARAMETER BOP Volume initial de la balance des paiements CF0(i) Volume initial de la consommation finale en bien i CG0(i) Volume initial de la consommation du gouvernement en bien i CH0(i) Volume initial de consommation des ménages du bien i CTH0 Volume initial de consommation totale des ménages CI0(j) Volume initial de consommation intermédiaire du secteur j CIJ0(i,j) Volume initial de consommation intermédiaire du secteur j en bien i CTH0 Volume initial de consommation totale des ménages CTG0 Volume initial de consommation totale du gouvernement D0(i) Consommation domestique en biens i DI0(i) Consommation domestique intermédiaire en biens i E0(i) Exportations du bien i ET0 Total des exportations LS0(j) Offre de travail pour le secteur j K0(j) Offre de capital pour le secteur j KT0 Offre totale de capital I0(i) Investissement initial dans le secteur i IG0(i) Investissement public initial IP0(i) Investissement privé Initial IR0(i) Investissement initial du reste du monde IT0 Investissement initial total ITP0 Investissement initial total du secteur privé ITG0 Investissement initial total du secteur public ITR0 Investissement initial total du reste du monde * MIP(i,t) Taux de croissance de l'investissement public KST0 Stock de capital initial L0(i) Demande de travail initiale pour la branche i LT0 Demande totale de travail M0(i) Imports du bien i MT0 Total des imports Pe0(i) Prix de réference pour les exports Pm0(i) Prix de réference pour les imports Pq0(j) Prix d'absorption de référence Q0(i) Demande de bien composite pour le bien i Scenario Parametre des scenarios S0(ag) Epargne des agents Spf(ag,f) Distribution de la Valeur ajoutée aux agents Taum0(i) Taux de taxe initial sur les importations Taum(i,t) Taux de taxe sur les importations Tauq(i) Taux de taxe sur les biens composites TaxE(i) Taxes sur les exports du bien i TaxM(j) Taxes sur les imports TaxQ(i) Taxes sur la consommation ThetaK Répartition des Investissements par secteurs VA0(j) Valeur ajoutée du bien j XS0(j) Production initiale du secteur j Y0(j) Output du bien j YT0 Output Total Trn0 Transferts initiaux entre les agents ; PARAMETER SAM(*,*), HYPO(*,*), INVPUB(i,t), MIP(i,t), INVPRI(i,t) , INVRDM(i,t); * Lecture des données Excel avec GAMS Connect (Linux compatible) $onEmbeddedCode Connect: - ExcelReader: file: SAM-COFOG.xlsx symbols: - name: SAM range: SAM2!A1:S19 rowDimension: 1 columnDimension: 1 - name: INVPUB range: InvPub!A1:D11 rowDimension: 1 columnDimension: 1 - name: MIP range: InvPub!A15:D25 rowDimension: 1 columnDimension: 1 - name: INVPRI range: InvPriv!A1:D11 rowDimension: 1 columnDimension: 1 - name: INVRDM range: InvRDM!A1:D11 rowDimension: 1 columnDimension: 1 - GAMSWriter: symbols: - name: SAM - name: INVPUB - name: MIP - name: INVPRI - name: INVRDM $offEmbeddedCode $onEmbeddedCode Connect: - ExcelReader: file: Cadrage.xlsm symbols: - name: HYPO range: Tabord!A1:B15 rowDimension: 1 columnDimension: 1 - GAMSWriter: symbols: - name: HYPO $offEmbeddedCode display SAM ; PARAMETER Gr Taux de croisssance r0 Taux de rendement du capital ir Taux d'interet pour les emprunts concessionnels Delta Taux de dépréciation d capital sigma Elasticité de substitution theta Elasticité de transfrmation dans la fonction de production eta Clé de répatition des investissements TypeMod Type de modèle (1 = salaires et rendement du capital flexible 2 = salaires et rendement du capital rigides) ; Gr = HYPO('Gr','Val') ; r0 = HYPO('r','Val') ; Delta = HYPO('Delta','Val') ; ir = HYPO('ir','Val') ; sigma = HYPO('sigma','Val') ; theta = HYPO('theta','Val') ; Typemod = HYPO('Typemod','Val') ; display typemod, gr, r0, delta ; PARAMETER Qref, Pref ; Qref(t) = (1+gr)**(ord(t)-1); *Pref(t) = (1/(1+r0))**(ord(t)-1); Pref(t) = 1**(ord(t)-1); * Attribution des données de la MCS aux variables du modèle L0(i) = SAM('Lab',i) ; K0(i) = SAM('Cap',i) ; VA0(i) = SAM('Lab',i)+SAM('Cap',i) ; CIJ0(i,j) = SAM(i,j) ; CI0(j) = SUM(i,CIJ0(i,j)) ; DI0(i) = SUM(j,CIJ0(i,j)) ; Y0(i) = VA0(i) + CI0(i) ; CH0(i) = SAM(i,'MEN') ; CG0(i) = SAM(i,'APU') ; I0(i) = SAM(i,'Inv') ; M0(i) = SAM('RDM',i) ; E0(i) = SAM(i,'RDM') ; D0(i) = Y0(i)-E0(i) ; S0(ag) = SAM('Inv',ag) ; Trn0(ag,ag1) = SAM(ag1,ag) ; YT0 = SUM(i,Y0(i)) ; CTH0 = SUM(i,CH0(i)) ; IT0 = SUM(i,I0(i)) ; ET0 = SUM(i,E0(i)) ; MT0 = SUM(i,M0(i)) ; BOP = SUM(i,E0(i)-M0(i)) ; CTH0 = SUM(i,CH0(i)) ; CTG0 = SUM(i,CG0(i)) ; IT0 = SUM(i,I0(i)) ; LT0 = SUM(i,L0(i)) ; KT0 = SUM(i,K0(i)) ; eta(ag) = S0(ag)/SUM(ag1, S0(ag1)); IG0(i) = INVPUB(i,'2017') ; IP0(i) = INVPRI(i,'2017') ; IR0(i) = INVRDM(i,'2017') ; ITP0 = sum(i,IP0(i)); ITG0 = sum(i,IG0(i)); ITR0 = sum(i,IR0(i)); DISPLAY IG0, eta, i0 , D0, INVPRI, INVRDM ; * Répartition de la valeur ajoutée Spf(ag,f)$SAM(ag,f) = SAM(ag,f)/SUM(ag1,SAM(ag1,f)) ; * Part dans l'investissement thetak(i) = I0(i)/SUM(j, I0(j)); Q0(i) = CH0(i)+CG0(i)+DI0(i)+I0(i) ; * Taxes * Taxes sur les biens importations TAXM(i) = SAM('TAXM',i) ; taum0(i) = TAXM(i)/M0(i) ; Pm0(i) = 1 + taum0(i) ; taum(i,t) = taum0(i) ; * Taxes sur les biens composites TAXQ(i) = SAM('TAXQ',i) ; tauq(i) = TAXQ(i)/Q0(i) ; Pq0(i) = 1 - tauq(i) ; * Initialisation MIP(i,t) = QRef(t) ; * Verification D0(i) = Q0(i)*(1-tauq(i))-M0(i)*Pm0(i) ; display D0, Q0, IG0, IP0, IR0 ; * Verification * Q0(i) = (D0(i)+M0(i))/Pq0(i) ; display Q0 ; $ONTEXT $MODEL:ModelCGE $SECTORS: Y(j,t) ! Niveau d'activité pour le secteur j Q(i,t) ! Niveau de demande pour le bien composite j M(i,t) ! Niveau des imports pour le bien j ET(t) ! Niveau du total des exports CTH(t) ! Niveau de consommation totale des ménages CTG(t) ! Niveau de consommation totale du gouvernement ITP(t) ! Niveau de l'investissement total privé IG(i,t) ! Niveau de l'investissement public ITR(t) ! Niveau de l'investissement total du RDM $COMMODITIES: PD(i,t)$D0(i) ! Indice des prix des biens domestiques pour le secteur i PL(t) ! Indice des prix du travail RK(i,t) ! Indice de la rémunération du capital dans le secteur i PFX(t) ! Indice des prix internationaux PM(i,t) ! Indice des prix des imports du secteur i PE(i,t)$E0(i) ! Indice des prix des exports du secteur i PKTH(t) ! Indice des prix du total des investissements privés PKG(i,t) ! Indice des prix des investissements publics PKTR(t) ! Indice des prix du total des investissements du RDM PCTP(t) ! Indice des prix du total de la consommation privée PCTG(t) ! Indice des prix du total de la consommation publique PQ(i,t) ! Indice des prix de la demande composite pour le secteur i $CONSUMERS: RA(t) ! Solde des revenus de l'agent représentatif RA GOV(t) ! Solde des revenus du gouvernement ROW(t) ! Solde des revenus du RDM $AUXILIARY: STKPL(t) ! Contrainte de rigidité sur les salaires STKRK(i,t) ! Contrainte de rigidité sur les salaires K(i,t) ! Contrainte de viscosité sur la rémunération du capial TXF(t) ! Contrainte de rigidité sur le taux de change réel FINDP(t) ! Financement du Deficit public INTPRE(t) ! Intérêts sur les emprunts $PROD:Y(j,t) t:theta s:sigma O:PE(j,t) Q:E0(j) O:PD(j,t) Q:D0(j) I:PL(t) Q:L0(j) I:RK(j,t) Q:K0(j) I:PQ(i,t) Q:CIJ0(i,j) $PROD:ET(t) s:sigma O:PFX(t) Q:ET0 I:PE(i,t) Q:E0(i) $PROD:M(i,t) s:sigma O:PM(i,t) Q:(M0(i)*Pm0(i)) I:PFX(t) Q:M0(i) P:Pm0(i) A:GOV(t) T:taum(i,t) $PROD:Q(i,t) O:PQ(i,t) Q:Q0(i) P:Pq0(i) A:GOV(t) T:tauq(i) I:PD(i,t) Q:D0(i) I:PM(i,t) Q:(M0(i)*Pm0(i)) $PROD:CTH(t) O:PCTP(t) Q:(SUM(i,CH0(i))) I:PQ(i,t) Q:CH0(i) $PROD:CTG(t) O:PCTG(t) Q:(SUM(i,CG0(i))) I:PQ(i,t) Q:CG0(i) $PROD:ITP(t) O:PKTH(t) Q:ITP0 I:PQ(i,t) Q:IP0(i) $PROD:IG(i,t) O:PKG(i,t) Q:IG0(i) I:PQ(i,t) Q:IG0(i) $PROD:ITR(t) O:PKTR(t) Q:ITR0 I:PQ(i,t) Q:IR0(i) $DEMAND:RA(t) D:PCTP(t) Q:CTH0 E:PKTH(t) Q:(-S0("MEN")*QRef(t)) E:PL(t) Q:(LT0*QRef(t)) R:STKPL(t) E:RK(i,t) Q:1 R:K(i,t) E:RK(i,t) Q:1 R:STKRK(i,t) E:PCTG(t) Q:-1 R:FINDP(t) E:PCTG(t) Q:1 R:INTPRE(t) * Transfers E:PCTP(t) Q:(SUM(ag,(Trn0(ag,"MEN")-Trn0("MEN",ag)))*Qref(t)) $DEMAND:GOV(t) D:PCTG(t) Q:CTG0 E:PKG(i,t) Q:(-IG0(i)*MIP(i,t)) E:PCTG(t) Q:1 R:FINDP(t) E:PCTG(t) Q:-1 R:INTPRE(t) * Transfers E:PCTP(t) Q:(SUM(ag,(Trn0(ag,"APU")-Trn0("APU",ag)))*Qref(t)) $DEMAND:ROW(t) D:PKTR(t) Q:(S0("RDM")*QRef(t)) E:PFX(t) Q:(-BOP*QRef(t)) R:TXF(t) * Transfers E:PCTP(t) Q:(SUM(ag,(Trn0(ag,"RDM")-Trn0("RDM",ag)))*Qref(t)) $CONSTRAINT:STKPL(t) PL(t)/PCTP(t) =g= 1 ; $CONSTRAINT:STKRK(i,t) RK(i,t)/PCTP(t) =g= 1 ; $CONSTRAINT:TXF(t) PFX(t)/PCTP(t) =g= 1; $CONSTRAINT:FINDP(t) CTG(t) =E= QRef(t) ; $CONSTRAINT:INTPRE(t) INTPRE(t) =E= ir*FINDP(t)+INTPRE(t-1) ; $CONSTRAINT:K(i,t) K(i,t) =E= K0(i)$T1(t) + (1-delta)*K(i,t-1)+(ITP(t-1)*IP0(i)+IG(i,t-1)*IG0(i)+ITR(t-1)*IR0(i))*(r0+delta) ; $REPORT: v:Dprod(i,t) o:Pd(i,t) Prod:Y(i,t) v:LabDeM(j,t) i:PL(t) Prod:Y(j,t) v:CapDeM(j,t) i:RK(j,t) Prod:Y(j,t) v:CIJ(i,j,t) i:Pq(i,t) Prod:Y(j,t) v:Exp(i,t) i:Pe(i,t) Prod:ET(t) v:Imp(i,t) i:Pm(i,t) Prod:Q(i,t) v:InvH(i,t) i:Pq(i,t) Prod:ITP(t) v:InvG(i,t) i:Pq(i,t) Prod:IG(i,t) v:InvR(i,t) i:Pq(i,t) Prod:ITR(t) v:DComP(i,t) o:Pq(i,t) Prod:Q(i,t) v:ConsH(i,t) i:Pq(i,t) Prod:CTH(t) v:ConsG(i,t) i:Pq(i,t) Prod:CTG(t) $OFFTEXT $SYSINCLUDE mpsgeset ModelCGE * Numeraire PCTP.fx(t) = PRef(t) ; * valeurs initiales PD.l(i,t) = PRef(t) ; PL.l(t) = PRef(t) ; RK.l(i,t) = PRef(t) ; PFX.l(t) = PRef(t) ; PM.l(i,t) = PRef(t) ; PE.l(i,t) = PRef(t) ; PCTP.l(t) = PRef(t) ; PKTH.l(t) = PRef(t) ; PKG.l(i,t) = PRef(t) ; PCTG.l(t) = PRef(t) ; PKTR.l(t) = PRef(t) ; PQ.l(i,t) = PRef(t) ; CTH.l(t) = QRef(t) ; CTG.l(t) = QRef(t) ; ITP.l(t) = QRef(t) ; IG.l(i,t) = QRef(t) ; ITR.l(t) = QRef(t) ; Y.l(i,t) = QRef(t) ; Q.l(i,t) = QRef(t) ; M.l(i,t) = QRef(t) ; ET.l(t) = QRef(t) ; K.fx(i,t1) = K0(i) ; INTPRE.FX(t1) = ir*FINDP.l(t1) ; INTPRE.L(t) = ir*FINDP.l(t)+INTPRE.l(t-1) ; K.l(i,t) = K0(i)*QRef(t); FINDP.fx(t)= 0 ; * Taux de change flexible * Salaires flexibles * Rémunération du capital flexible if (TypeMod eq 1 , STKPL.fx(t) = 1 ; STKRK.fx(i,t) = 0 ; TXF.fx(t) = 1 ) ; * Taux de change fixe * Salaires fixes * Rémunération du capital flexible if (TypeMod eq 2 , STKPL.l(t) = 1 ; STKRK.l(i,t) = 0 ; TXF.l(t) = 1 ) ; Scenario("MIP",'base',i,t) = MIP(i,t) ; Scenario("MIP",'var',i,t) = 1.2*MIP(i,t) ; Scenario("taum",'base',i,t) = taum(i,t) ; Scenario("taum",'var',i,t) = 0.1*taum(i,t) ; Display Scenario ; PARAMETER Iter Nombre d'iterations INV Investissement total MCSRES Resultats présentation MCS PLAFONDS Resultats plafonds budgétaires Results Resultats présentation variables ; ITER(sc) = 20000 ; ITER("base") = 0 ; loop(sc, MIP(i,t) = Scenario("MIP",sc,i,t) ; *taum(i,t) = Scenario("taum",sc,i,t) ; ModelCGE.iterlim= iter(sc); ModelCGE.optfile= 1 ; $INCLUDE MODELCGE.GEN SOLVE ModelCGE USING MCP; INV(i,t) = INVH.l(i,t) + INVG.l(i,t) + INVR.l(i,t) ; display Scenario, MIP ; MCSRES(sc,'Lab',j,t) = LabDem.l(j,t)*Pl.l(t) ; MCSRES(sc,'Cap',j,t) = CapDem.l(j,t)*RK.l(j,t) ; MCSRES(sc,i,j,t) = CIJ.l(i,j,t)*Pq.l(i,t) ; MCSRES(sc,ag,f,t) = SUM(j,Spf(ag,f)*MCSRES(sc,f,j,t)) ; MCSRes(sc,i,'MEN',t) = ConsH.l(i,t)*Pq.l(i,t) ; MCSRES(sc,i,'APU',t) = ConsG.l(i,t)*Pq.l(i,t) ; MCSRES(sc,ag,ag1,t) = SAM(ag,ag1)*Qref(t)*PRef(t) ; MCSRes(sc,'MEN','APU',t) = SAM('MEN','APU')*Qref(t)*PRef(t)+INTPRE.l(t) ; MCSRES(sc,'APU','MEN',t) = SAM('APU','MEN')*Qref(t)*PRef(t)+FINDP.l(t) ; MCSRes(sc,'APU','RDM',t) = MCSRes(sc,'APU','RDM',t) ; MCSRES(sc,'TAXQ',i,t) = tauq(i)*Dcomp.l(i,t)*Pq.l(i,t) ; MCSRES(sc,'APU','TAXQ',t) = SUM(i,MCSRES(sc,'TAXQ',i,t)) ; MCSRES(sc,'APU','MTax',t) = SUM(i,MCSRES(sc,'MTax',i,t)) ; MCSRES(sc,'APU','ETax',t) = SUM(i,MCSRES(sc,'ETax',i,t)) ; MCSRES(sc,'APU','DTax',t) = SUM(al,MCSRES(sc,'DTax',al,t)) ; MCSRES(sc,'RDM',i,t) = Imp.l(i,t)*Pm.l(i,t) ; MCSRES(sc,i,'RDM',t) = Exp.l(i,t)*Pe.l(i,t) ; MCSRES(sc,i,'Inv',t) = INV(i,t)*Pq.l(i,t) ; MCSRES(sc,'Inv',ag,t) = SUM(as,MCSRES(sc,ag,as,t)-MCSRES(sc,as,ag,t)) ; * Synthese Results('SYNT','Volume','Investissement Public',i,'',sc,t) = IG0(i)*MIP(i,t); Results('SYNT','Volume','consommation publique','','',sc,t) = SUM(i,ConsG.l(i,t)); Results('SYNT','Volume','PIB aux coûts des facteurs','','',sc,t) = SUM(j,LabDem.l(j,t) + CapDem.l(j,t)); Results('SYNT','Valeur','Déficit public','','',sc,t) = FINDP.l(t)*PCTG.l(t); * Comptes Nationaux Results('NAT','Volume','Taux de croiss. Inv. Public ',i,'',sc,t) = MIP(i,t); Results('NAT','Volume','Cons. Intermediaire', i,j,sc,t) = CIJ.l(i,j,t); Results('NAT','Volume','Investissement','',i,sc,t) = INV(i,t); Results('NAT','Volume','Valeur ajoutée','',j,sc,t) = LabDem.l(j,t) + CapDem.l(j,t); Results('NAT','Volume','PIB au coût des facteurs','','',sc,t) = SUM(j,LabDem.l(j,t) + CapDem.l(j,t)); Results('NAT','Volume','Exports','',i,sc,t) = Exp.l(i,t); Results('NAT','Volume','Imports','',i,sc,t) = Imp.l(i,t); Results('NAT','Volume','Demande de travail','',i,sc,t) = LabDem.l(i,t); Results('NAT','Volume','Demande de capital','',i,sc,t) = CapDem.l(i,t); Results('NAT','Volume','Cons. finale des ménages','',i,sc,t) = ConsH.l(i,t); Results('NAT','Volume','Production domestique','',i,sc,t) = Dprod.l(i,t); Results('NAT','Valeur','Cons. Intermediaire', i,j,sc,t) = CIJ.l(i,j,t)*Pq.l(i,t); Results('NAT','Valeur','Investissement','',i,sc,t) = INV(i,t)*Pq.l(i,t); Results('NAT','Valeur','PIB au coût des facteurs','','',sc,t) = SUM(j,LabDem.l(j,t)*Pl.l(t) + CapDem.l(j,t)*RK.l(j,t) ); Results('NAT','Valeur','Exports','',i,sc,t) = Exp.l(i,t)*PFX.l(t); Results('NAT','Valeur','Imports','',i,sc,t) = Imp.l(i,t)*Pm.l(i,t); Results('NAT','Valeur','Demande de travail','',i,sc,t) = LabDem.l(i,t)*Pl.l(t); Results('NAT','Valeur','Demande de capital','',i,sc,t) = CapDem.l(i,t)*RK.l(i,t) ; Results('NAT','Valeur','Cons. finale des ménages','',i,sc,t) = ConsH.l(i,t)*Pq.l(i,t); Results('NAT','Valeur','Production domestique','',i,sc,t) = Dprod.l(i,t)*Pd.l(i,t); Results('NAT','Valeur','Valeur ajoutée','',j,sc,t) = LabDem.l(j,t)*Pl.l(t)+CapDem.l(j,t)*RK.l(j,t) ; Results('NAT','Prix','Prix domestiques','',i,sc,t) = Pd.l(i,t); Results('NAT','Prix','Taux de change','',i,sc,t) = PFX.l(t); Results('NAT','Prix','Prix des imports','',i,sc,t) = Pm.l(i,t); Results('NAT','Prix','Prix des biens composites','',i,sc,t) = Pq.l(i,t); Results('NAT','Prix','Prix du travail','','',sc,t) = Pl.l(t); Results('NAT','Prix','Rémunération du capital','',i,sc,t) = RK.l(i,t); * Finances Publiques Results('TOFE','Valeur','Revenus des taxes','',i,sc,t) = tauq(i)*PQ.l(i,t)*Q0(i)*Q.l(i,t); Results('TOFE','Valeur','Dépenses de cons.','',i,sc,t) = ConsG.l(i,t)*Pq.l(i,t); Results('TOFE','Valeur','Investissement public','',i,sc,t) = IG0(i)*MIP(i,t)*PKG.l(i,t); Results('TOFE','Valeur','Emprunts','','',sc,t) = FINDP.l(t)*PCTG.l(t); Results('TOFE','Valeur','Intérêts sur emprunts','','',sc,t) = INTPRE.l(t)*PFX.l(t); Results('TOFE','Valeur','Déficit public','','',sc,t) = SUM(i,Results('TOFE','Valeur','Revenus des taxes','',i,sc,t)) - SUM(i,Results('TOFE','Valeur','Dépenses de cons.','',i,sc,t)) - SUM(i,Results('TOFE','Valeur','Investissement public','',i,sc,t)) - Results('TOFE','Valeur','Intérêts sur emprunts','','',sc,t) ; * Plafonds budgétaires Plafonds('Plafonds','Valeur','Dépenses cons. publique','',i,sc,t) = PQ.l(i,t)*ConsG.l(i,t); Plafonds('Plafonds','Valeur','Invest. publics','',i,sc,t) = PQ.l(i,t)*InvG.l(i,t); * Balance des paiements Results('BOP','Valeur','Exports','',i,sc,t) = Exp.l(i,t)*Pe.l(i,t) ; Results('BOP','Valeur','Imports','',i,sc,t) = Imp.l(i,t)*Pm.l(i,t); Results('BOP','Valeur','Balance commerciale','',i,sc,t) = (Exp.l(i,t)*Pe.l(i,t)-Imp.l(i,t)*Pm.l(i,t)); Results('BOP','Valeur','Transferts courants','','',sc,t) = Sum(ag,(Trn0("RDM",ag)-Trn0(ag,"RDM")))*Qref(t)*PCTP.l(t) ; Results('BOP','Valeur','Balance courante','','',sc,t) = Sum(i,Results('BOP','Valeur','Balance commerciale','',i,sc,t))+Results('BOP','Valeur','Transferts courants','','',sc,t) ; Results('BOP','Valeur','Transferts en capital','','',sc,t) = ROW.l(t) ; Results('BOP','Valeur','Balance des paiements','','',sc,t) = Results('BOP','Valeur','Balance courante','','',sc,t) + Results('BOP','Valeur','Transferts en capital','','',sc,t) ; DISPLAY RESULTS ; ) ; * Export des résultats vers GDX Execute_unload "Model.gdx" MCSRES RESULTS PLAFONDS ; * Création du paramètre CHART_DATA pour l'interface graphique (dernière période uniquement) PARAMETER CHART_DATA(*,*,*,*,*,*) Données pour les graphiques ; * Copier les résultats de la dernière période (2018) pour chaque scénario * Investissement Public TOTAL (agrégé, pas par secteur) CHART_DATA('SYNT','Volume','Investissement Public','','',sc) = SUM(i, Results('SYNT','Volume','Investissement Public',i,'',sc,'2018')) ; CHART_DATA('SYNT','Volume','consommation publique','','',sc) = Results('SYNT','Volume','consommation publique','','',sc,'2018') ; CHART_DATA('SYNT','Volume','PIB aux coûts des facteurs','','',sc) = Results('SYNT','Volume','PIB aux coûts des facteurs','','',sc,'2018') ; CHART_DATA('SYNT','Valeur','Déficit public','','',sc) = Results('SYNT','Valeur','Déficit public','','',sc,'2018') ; CHART_DATA('NAT','Volume','PIB au coût des facteurs','','',sc) = Results('NAT','Volume','PIB au coût des facteurs','','',sc,'2018') ; CHART_DATA('NAT','Valeur','PIB au coût des facteurs','','',sc) = Results('NAT','Valeur','PIB au coût des facteurs','','',sc,'2018') ; CHART_DATA('NAT','Prix','Prix du travail','','',sc) = Results('NAT','Prix','Prix du travail','','',sc,'2018') ; CHART_DATA('NAT','Volume','Valeur ajoutée','',j,sc) = Results('NAT','Volume','Valeur ajoutée','',j,sc,'2018') ; CHART_DATA('NAT','Valeur','Valeur ajoutée','',j,sc) = Results('NAT','Valeur','Valeur ajoutée','',j,sc,'2018') ; CHART_DATA('NAT','Volume','Demande de travail','',i,sc) = Results('NAT','Volume','Demande de travail','',i,sc,'2018') ; CHART_DATA('NAT','Volume','Demande de capital','',i,sc) = Results('NAT','Volume','Demande de capital','',i,sc,'2018') ; CHART_DATA('NAT','Volume','Exports','',i,sc) = Results('NAT','Volume','Exports','',i,sc,'2018') ; CHART_DATA('NAT','Volume','Imports','',i,sc) = Results('NAT','Volume','Imports','',i,sc,'2018') ; CHART_DATA('NAT','Volume','Cons. finale des ménages','',i,sc) = Results('NAT','Volume','Cons. finale des ménages','',i,sc,'2018') ; CHART_DATA('NAT','Volume','Production domestique','',i,sc) = Results('NAT','Volume','Production domestique','',i,sc,'2018') ; CHART_DATA('NAT','Valeur','Exports','',i,sc) = Results('NAT','Valeur','Exports','',i,sc,'2018') ; CHART_DATA('NAT','Valeur','Imports','',i,sc) = Results('NAT','Valeur','Imports','',i,sc,'2018') ; CHART_DATA('NAT','Prix','Prix domestiques','',i,sc) = Results('NAT','Prix','Prix domestiques','',i,sc,'2018') ; CHART_DATA('NAT','Prix','Taux de change','',i,sc) = Results('NAT','Prix','Taux de change','',i,sc,'2018') ; CHART_DATA('NAT','Prix','Prix des imports','',i,sc) = Results('NAT','Prix','Prix des imports','',i,sc,'2018') ; CHART_DATA('TOFE','Valeur','Investissement public','',i,sc) = Results('TOFE','Valeur','Investissement public','',i,sc,'2018') ; CHART_DATA('TOFE','Valeur','Déficit public','','',sc) = Results('TOFE','Valeur','Déficit public','','',sc,'2018') ; CHART_DATA('TOFE','Valeur','Revenus des taxes','',i,sc) = Results('TOFE','Valeur','Revenus des taxes','',i,sc,'2018') ; CHART_DATA('TOFE','Valeur','Dépenses de cons.','',i,sc) = Results('TOFE','Valeur','Dépenses de cons.','',i,sc,'2018') ; CHART_DATA('BOP','Valeur','Exports','',i,sc) = Results('BOP','Valeur','Exports','',i,sc,'2018') ; CHART_DATA('BOP','Valeur','Imports','',i,sc) = Results('BOP','Valeur','Imports','',i,sc,'2018') ; CHART_DATA('BOP','Valeur','Balance commerciale','',i,sc) = Results('BOP','Valeur','Balance commerciale','',i,sc,'2018') ; CHART_DATA('BOP','Valeur','Balance des paiements','','',sc) = Results('BOP','Valeur','Balance des paiements','','',sc,'2018') ; * Export vers CSV pour l'interface graphique Execute_unload "chart_data.gdx" CHART_DATA ; execute 'gdxdump chart_data.gdx output=results.csv symb=CHART_DATA format=csv Header=Y' ; * Export complet des résultats Execute_unload "MCSRES.gdx" MCSRES ; execute 'gdxdump MCSRES.gdx output=MCSRES.csv symb=MCSRES format=csv' ; * Export des plafonds budgétaires Execute_unload "PLAFONDS.gdx" PLAFONDS ; execute 'gdxdump PLAFONDS.gdx output=PLAFONDS.csv symb=PLAFONDS format=csv' ;
▶️ Lancer la Simulation