$OFFSYMLIST OFFSYMXREF OFFUPPER OFFLISTING
$TITLE TWO SECTOR OPEN ECONOMY GENERAL
EQUILIBRIUM MODEL FOR TURKEY
*
*
*
*The Program simulates the workings of a 2-sector
open economy model
*under imperfect substitution in trade (The Armington
specification).
*Data come from a two-sector aggregation of the
Input-Output accounts
*for the Turkish economy (State Institute of
Statistics, Ankara).
*Data is in 2003 Billions TL.
*
* For further documentation of the model, refer
to:
*
*Programming by: E. Yeldan-Bilkent University
*Restructured and updated by: C.Telli-State Planning
Organization
*###*###*###*###*###*###THE GAMS PROGRAM*###*###*###*###*
*##SET DEFINITIONS
SET
I GOODS / A AGRICULTURAL
GOOD
N INDUSTRIAL GOOD /
IM(I) IMPORTING SECTORS
INM(I) NON-IMPORTING SECTORS
IE(I) EXPORTING SECTORS
INE(I) NON-EXPORTING SECTORS
ILST(I) LAST I FOR CALIBRATION /N/
TP simulation experiments
/SAM2003,2003*2007/
TFUT(TP) FUTURE TIME PERIODS /2004*2007/
T(TP) CURRENT experiment
;
ALIAS(I,J) ;
*##PARAMETER DEFINITIONS
PARAMETER
AC(I) ARMINGTON
FUNCTION SHIFT PARAMETER
AT(I) CET
FUNCTION SHIFT PARAMETER
AX(I) SHIFT
PARAMETER IN PROD FUNC
BC(I) ARMINGTON
FUNCTION SHIFT PARAMETER
BT(I) CET
FUNC SHARE PARAMETER
BX(I) COBB-DOUGLAS
PROD FUNCTION SHARE PARAMETER
CLES(I) SECTORAL CONSUMPTION
SHARES
GLES(I) SECTORAL GOVERNMENT
CONSUMPTION DEMAND
IDLES(I) PRIVATE INVESTMENT
DEMAND SHARES
GIDLES(I) PUBLIC INVESTMENT DEMAND
SHARES
PWE(I) WORLD PRICE
OF EXPORTS
PWM(I) WORLD PRICE
OF IMPORTS
PWTS(I) PRICE WEIGHTS
RHOC(I) ARMINGTON FUNC
EXPONENT
RHOT(I) CET FUNC EXPONENT
*#GOVERNMENT POLICY VARIABLES
PROTAX(I) PRODUCTION TAXE RATE
SALTAX(I) SALES TAXES RATE
TM(I)
TARIFF RATE
TE(I)
EXPORT TAX RATE (SUBSIDY IF NEGATIVE)
*DUMMIES TO HOLD INITIAL DATA
CC0(I) COMPOSITE
GOOD
CD0(I) PRIVATE
CONSUMPTION
DC0(I) DOMESTIC
SALES OF DOMESTIC GOOD
E0(I) EXPORTS
GD0(I) GOV CONSUMPTION
ID0(I) PRIVATE
INVESTMENT DEMAND BY SECTOR OF ORIGIN
GID0 (I) PUBLIC INVESTMENT
DEMAND BY SECTOR OF ORIGIN
INT0(I) INTERMEDIATE
INPUT DEMANDS
K0(I) CAPITAL
DEMAND IN SECTOR I
LD0(I) SECTORAL
LABOR DEMANDS
M0(I) IMPORTS
PC0(I) COMPOSITE
PRICES
PD0(I) DOMESTIC
GOOD PRICE
PE0(I) DOM PRICE
OF EXPORTS
PM0(I) DOM PRICE
OF IMPORTS
PVA0(I) VALUE ADDED PRICE
PX0(I) GROSS OUTPUT
PRICE
RP0(I) SECTORAL
PROFITS
WL0(I) SECTORAL
WAGE PAYMENTS
WDIST0(I) SECTORAL WAGE COEFFICENTS
RKDIST0(I) SECTORAL PROFIT RATE COEFFCIENTS
XS0(I) COMMODITY
SUPPLIES
;
SCALAR
FSAV0 FOREIGN SAVINGS
/14920067.0/
GSAV0 GOVERNMENT
SAVINGS /-19398942.0/
GOVTRANS0 GOVERNMENT TRANSFERS /113247685.88459/
INTRSRAT RATIO OF INTEREST PAYMENTS
TO DOM BANKS IN GOVTRANSFERS /0.484/
NPFI0 NET PRIVATE
FACTOR INCOME FROM ROW /7886043.34036/
NPFE0 NET PRIVATE
FACTOR PAYMENTS TO ROW /4343866.22495/
GFINT0 GOVERNMENT FOREIGN
INTEREST PAYMENTS TO ROW /6624215.115410/
GSR
GOV SAVINGS RATE
GIR
GOVERNMENT INVESTMENT RATIO (OF GDP)
GVTR GOVERNMENT
TRANSFER EXPENDITURE RATIO(OF GDP)
GCR
GOVERNMENT CONSUMPTION RATIO (OF GDP)
GPRBR PRIMARY BALANCE
AS A RATIO TO THE GDP
HTAX DIRECT
INCOME TAX RATE /28370862.0/
SSTAX SOCIAL SECURITY
TAXES /23592480.0/
CORPTAX CORPORATE TAXES AND
PUBLIC SECTOR FACTOR INCOME /30510587.0/
KSUP0 TOTAL CAPITAL
SUPPLY
LSUP0 TOTAL LABOR
SUPPLY
MPS0 PRIVATE
PROPENSITY TO SAVE /86801913.8472135/
RK0
PROFIT RATE
W0
WAGE RATE
Y0
PRIVATE INCOME
;
*TABLES TO DISPLAY RESULTS
PARAMETER
SCALRES(*,TP)
SCALAR RESULTS
FISCAL(*,TP)
FISCAL RESULTS
SECTRES(*,I,TP) SECTORAL
RESULTS
BASERAT(*,TP)
RATIOS TO BASE PERIOD
BASERAT1(*,I,TP) SECTORAL RATIOS
TO BASE PERIOD
;
*###INITIAL DATA FROM SAM 2003 TABLE
TABLE IO(I,J) INPUT-OUTPUT FLOWS
A
N
A 14956922.8798596 21495919.9088164
N 15169629.5702436 227255725.554538
;
TABLE MATBAL(*,I) MATERIAL BALANCES AND SECTORAL
PARAMETERS
A
N
PC0
1.0
1.0
IMPORTS 3838602.060609
106495764.939391
EXPORTS 3806303.433945
94690034.566055
TARIFFS 56094.4936667899
945180.47444844
EXTAX 0.0000
0.0000
PROTAX 1941731.52898401
30292284.7239505
SALTAX 4880060.03602945
24076146.7429208
SIGC
2.0000
2.0000
SIGT
2.0000
2.0000
CD0
48752378.4857885 196333069.706281
GD0
637537.048335635 43554930.9516644
ID0
117858.372638719 66094192.4745748
GID0 7772.61477449433
16103215.3852255
LD0
7165000
13981000
RP0 28671944.5600984
140881848.351019
WL0 20259707.6146675
107757927.513498
XS0 80999936.1538531
527683706.051822
;
*##MODEL CALIBRATION
*COMPUTATION OF PARAMETERS AND COEFFICIENTS FOR
CALIBRATION
*PRICES
PC0(I) = MATBAL("PC0",I) ;
PD0(I) = MATBAL("PC0",I) ;
PE0(I) = MATBAL("PC0",I) ;
PM0(I) = MATBAL("PC0",I) ;
PX0(I) = MATBAL("PC0",I) ;
*FACTOR MARKET PARAMETERS
XS0(I) = MATBAL("XS0",I) ;
LD0(I) = MATBAL("LD0",I) ;
K0(I) = MATBAL("RP0",I) ;
WL0(I) = MATBAL("WL0",I) ;
RP0(I) = MATBAL("RP0",I) ;
*FACTOR ENDOWMENTS
LSUP0 = SUM(I, LD0(I) ) ;
KSUP0 = SUM(I, K0(I) ) ;
*WAGE RATE
W0= SUM(I, WL0(I))/LSUP0 ;
WDIST0(I)= WL0(I)/(LD0(I)*W0) ;
*PROFIT RATE
RK0= SUM(I, RP0(I))/KSUP0 ;
RKDIST0(I) = RP0(I)/(K0(I)*RK0) ;
*INTERMEDIATE INPUT USE AND VALUE ADDED
IO(I,J) = IO(I,J)/XS0(J) ;
INT0(I) = SUM(J, IO(I,J)*XS0(J)) ;
PROTAX(I) = MATBAL("PROTAX",I)/(PX0(I)*XS0(I))
;
PVA0(I) = PX0(I)*(1-PROTAX(I)) - SUM(J, PC0(J)*IO(J,I))
;
*##TRADE QUANTITIES
M0(I) = MATBAL("IMPORTS",I)+MATBAL("TARIFFS",I)
;
E0(I) = MATBAL("EXPORTS",I)+MATBAL("EXTAX",I)
;
DC0(I) = (PX0(I)/PD0(I))*XS0(I) - (PE0(I)/PD0(I))*E0(I);
*SALES TAX COLLECTED OVER TOTAL COMPOSITE GOOD
SALES
SALTAX(I) = MATBAL("SALTAX",I)/(PM0(I)*M0(I)+PD0(I)*DC0(I))
;
CC0(I) = (PM0(I)*M0(I) + PD0(I)*DC0(I))*(1+SALTAX(I))/PC0(I)
;
DISPLAY IO,PC0,PVA0,W0,RK0,PROTAX, SALTAX
;
*##INDEX DEFINITIONS FOR IMPORTABLES AND EXPORTABLES
IM(I) = YES $M0(I) ;
INM(I) = NOT IM(I) ;
IE(I) = YES $E0(I) ;
INE(I) = NOT IE(I) ;
*##WORLD PRICES AND COMMERCIAL INSTRUMENTS
TM(IM) = MATBAL("TARIFFS",IM)/MATBAL("IMPORTS",IM)
;
TM(INM) = 0.0 ;
TE(IE) = MATBAL("EXTAX",IE)/MATBAL("EXPORTS",IE)
;
TE(INE) = 0.0 ;
PWM(I) = PM0(I)/(1+TM(I)) ;
PWE(I) = PE0(I)/(1-TE(I)) ;
DISPLAY TM, TE, PWM, PWE, M0 ;
*##PRIVATE INCOME PARAMETERS
SSTAX = SSTAX/SUM(I, WL0(I)) ;
CORPTAX = CORPTAX/SUM(I, RP0(I));
Y0 = SUM(I, (1-SSTAX)*WL0(I) + (1-CORPTAX)*RP0(I))
+ GOVTRANS0 + NPFI0 - NPFE0 ;
HTAX = HTAX/Y0 ;
MPS0 = MPS0/(Y0*(1-HTAX)) ;
DISPLAY Y0, MPS0, HTAX, SSTAX, CORPTAX;
*##INVESTMENT PARAMETERS
ID0(I) = MATBAL("ID0",I) ;
IDLES(I) $(not ilst(i)) = ID0(I) / SUM(J,
ID0(J) ) ;
IDLES(ILST) = 1 - SUM(I $(NOT ILST(I)),
IDLES(I) ) ;
GID0(I) = MATBAL("GID0",I) ;
GIDLES(I)$(not ilst(i)) = GID0(I)/SUM(J,
GID0(J) ) ;
GIDLES(ILST) = 1 - SUM(I $(not ilst(i)), GIDLES(I)
) ;
DISPLAY GIDLES, IDLES ;
*##CONSUMPTION SHARES AND PWTS
CD0(I) = MATBAL("CD0",I)
;
CLES(I) $(not ilst(i)) = CD0(I)/SUM(J,
CD0(J));
CLES(ILST) = 1 - SUM(I $(not ilst(i)), CLES(I))
;
PWTS(I) = CLES(I) ;
GD0(I) = MATBAL("GD0",I) ;
GLES(I)$(not ilst(i)) = GD0(I)/SUM(J, GD0(J)
) ;
GLES(ILST) = 1 - SUM(I $(not ilst(i)), GLES(I)
) ;
DISPLAY CLES, GLES, PWTS ;
*#*#*CALIBRATION OF ALL SHIFT AND SHARE PARAMETERS
*
*##FOREIGN TRADE FUNCTIONS
RHOC(I) = (1/MATBAL("SIGC",I) ) - 1 ;
RHOT(I) = (1/MATBAL("SIGT",I) ) + 1 ;
BC(IM) = PM0(IM)/PD0(IM)
*(M0(IM)/DC0(IM))**(1+RHOC(IM)) ;
BC(IM) = BC(IM)/(1 + BC(IM) ) ;
AC(IM) = CC0(IM) / ( BC(IM)*M0(IM)**(-RHOC(IM))
+ (1-BC(IM))*DC0(IM)**(-RHOC(IM))
)**(-1/RHOC(IM) );
BC(INM) = 0 ;
AC(INM) = 1 ;
BT(IE) = 1/(1 + PD0(IE)/PE0(IE) * (E0(IE)/DC0(IE))**(RHOT(IE)-1)
) ;
AT(IE) = XS0(IE)/( BT(IE)*E0(IE)**RHOT(IE) +
(1-BT(IE))*DC0(IE)**RHOT(IE) )**(1/RHOT(IE)) ;
BT(INE) = 0 ;
AT(INE) = 1 ;
DISPLAY AC, BC, AT, BT ;
*##PRODUCTION FUNCTIONS: COBB-DOUGLAS TECHNOLOGY
BX(I) = RP0(I)/(PVA0(I)*XS0(I)) ;
AX(I) = XS0(I)/(K0(I)**BX(I)*LD0(I)**(1-BX(I)))
;
DISPLAY AX, BX ;
*##VARIABLE DEFINITIONS
VARIABLE
*PRICE BLOCK
PINDEX PRICE INDEX
PC(I) COMPOSITE PRICE
PD(I) DOMESTIC PRICE
PE(I) EXPORT PRICE
PM(I) IMPORT PRICE
PVA(I) NET PRICE (VALUE ADDED)
PX(I) GROSS OUTPUT PRICE
*PRODUCTION BLOCK
CC(I) COMPOSITE GOOD
DC(I) DOMESTIC SALES
OF DOMESTIC GOOD
E(I) EXPORTS
M(I) IMPORTS
XS(I) GROSS OUTPUT SUPPLY
GDP GROSS
DOMESTIC PRODUCT
*FACTORS BLOCK
LD(I) SECTORAL LABOR
DEMANDS
LSUP LABOR SUPPLY
K(I) SECTORAL CAPITAL
DEMANDS
KSUP CAPITAL SUPPLY
W
NOMINAL WAGE RATE
WDIST(I) SECTORAL WAGE DIFFERENCE COEFFICENTS
RKDIST(I) SECTORAL PROFIT RATE DIFFERENTIALS
RK
NOMINAL PROFIT RATE
*INCOME GENERATION AND FINAL DEMAND BLOCK
CD(I) PRIVATE CONSUMPTION
GD(I) GOVERNMENT CONSUMPTION
ID(I) PRIVATE INVESTMENT DEMAND
BY SECTOR OF ORIGIN
GID(I) PUBLIC INVESTMENT DEMAND BY
SECTOR OF ORIGIN
INT(I) INTERMEDIATE INPUT USES
Y
PRIVATE INCOME
*GOVERNMENT'S FISCAL ACCOUNTS AND MACRO BALANCES
EXTAX EXPORT TAX REVENUE
TOTPROTAX PRODUCTION TAXES
TOTSALTAX SALES TAXES
TOTSSTAX SOCIAL SECURITY TAXES
TOTCORPTAX CORPORATE TAXES
TARIFF TARIFF REVENUES
TOTHHTAX TOTAL INCOME TAX REVENUES
NPFI NET PRIVATE
FACTOR INCOME FROM ROW
NPFE NET PRIVATE
FACTOR PAYMENTS TO ROW
GFINT GOVERNMENT FOREIGN
INTEREST PAYMENTS TO ROW
FSAV FOREIGN SAVINGS
GREV GOVERNMENT
REVENUES
GOVCON GOVERNMENT CONSUMPTION
GOVTRANS GOVERNMENT TRANSFERS
GINV GOVERNMENT
INVESTMENT
GSAV GOVERNMENT
SAVINGS
PISB PUBLIC SAVING
INVESTMENT DEFICIT
GPRMBAL PRIMARY BUDGET BALANCE
MPS PRIVATE
SAVINGS RATE
PRSAV PRIVATE SAVINGS
PRINV PRIVATE INVESTMENT
*OBJECTIVE FUNCTION
OMEGA MAXIMAND FOR ALGORITHM
DROP PSEUDO VARIABLE
TO CHECK WALRAS' LAW
;
*#*#*VARIABLE INITIALIZATIONS
PC.L(I) = PC0(I)
;
PD.L(I) = PD0(I)
;
PE.L(I) = PE0(I)
;
PM.L(I) = PM0(I)
;
PX.L(I) = PX0(I)
;
PVA.L(I) = PVA0(I) ;
PINDEX.L = 1.00000 ;
CC.L(I) = CC0(I) ;
DC.L(I) = DC0(I) ;
E.L(I) = E0(I)
;
K.L(I) = K0(I)
;
XS.L(I) = XS0(I) ;
KSUP.L = KSUP0
;
LSUP.L = LSUP0
;
LD.L(I) = LD0(I) ;
M.L(I) = M0(I)
;
RK.L = RK0
;
W.L
= W0 ;
WDIST.L(I) = WDIST0(I) ;
RKDIST.L(I) = RKDIST0(I) ;
INT.L(I) = INT0(I) ;
CD.L(I) = CD0(I)
;
GD.L(I) = GD0(I)
;
ID.L(I) = ID0(I) ;
GID.L(I) = GID0(I);
Y.L =
Y0 ;
MPS.L = MPS0 ;
TOTPROTAX.L = SUM(I, PROTAX(I)*PX0(I)*XS0(I)
) ;
TOTSSTAX.L = SUM(I, SSTAX*W0*WDIST0(i)*LD0(I));
TOTCORPTAX.L = SUM(I, CORPTAX*RK0*RKDIST0(i)*K0(I));
EXTAX.L = SUM(I,
TE(I)*PWE(I)*E0(I)) ;
TARIFF.L = SUM(I, TM(I)*PWM(I)*M0(I))
;
TOTHHTAX.L = HTAX*Y0 ;
TOTSALTAX.L = SUM(I, (PM0(I)*M0(I) + PD0(I)*DC0(I))*SALTAX(I)
) ;
GFINT.L = GFINT0 ;
NPFI.L = NPFI0 ;
NPFE.L = NPFE0 ;
GINV.L = SUM (I, PC0(I)*GID0(I));
GSAV.L = GSAV0 ;
PISB.L = GINV.L - GSAV.L;
GREV.L = TOTPROTAX.L +
TOTSALTAX.L + TOTCORPTAX.L + EXTAX.L + TARIFF.L + TOTHHTAX.L + TOTSSTAX.L
;
GOVCON.L = SUM(I, PC0(I)*GD0(I))
;
GOVTRANS.L = GOVTRANS0;
GPRMBAL.L = GREV.L - GOVCON.L - GINV.L
- INTRSRAT*GOVTRANS.L ;
PRSAV.L = MPS0*Y0*(1-HTAX);
*below equation just equivalent of walras.
PRINV.L = PRSAV.L + FSAV0 -
PISB.L ;
FSAV.L = FSAV0 ;
GDP.L = SUM(I, PC0(I)*(CD0(I)+GD0(I)+GID0(I)+ID0(I))
+ PWE(I)*E0(I)-PWM(I)*M0(I) ) ;
DROP.L = 0.0 ;
GIR = GINV.L/GDP.L
;
GVTR = GOVTRANS.L/GDP.L
;
GSR = GSAV.L/GREV.L
;
GCR = GOVCON.L/GDP.L
;
GPRBR = GPRMBAL.L/GDP.L
;
DISPLAY GIR, GVTR, GSR, GCR, GPRBR ;
*##SCALING OF ALL VARIABLES (EXPRESS IN NEW TL)
CC.L(I)=CC.L(I)/1000000;DC.L(I)=DC.L(I)/1000000;M.L(I)=M.L(I)/1000000;
XS.L(I)=XS.L(I)/1000000;E.L(I)=E.L(I)/1000000;
KSUP.L = KSUP.L/1000000;LSUP.L = LSUP.L/1000000;
K.L(I)=K.L(I)/1000000; LD.L(I)=LD.L(I)/1000000;Y.L=Y.L/1000000;
GOVTRANS.L=GOVTRANS.L/1000000;GREV.L=GREV.L/1000000;
TOTPROTAX.L=TOTPROTAX.L/1000000;TOTSALTAX.L=TOTSALTAX.L/1000000;
TARIFF.L=TARIFF.L/1000000; TOTSSTAX.L=TOTSSTAX.L/1000000;TOTCORPTAX.L=TOTCORPTAX.L/1000000;
TOTHHTAX.L=TOTHHTAX.L/1000000;EXTAX.L=EXTAX.L/1000000;PISB.L=PISB.L/1000000;
GOVCON.L=GOVCON.L/1000000;GINV.L=GINV.L/1000000;
GPRMBAL.L=GPRMBAL.L/1000000;
GD.L(I)=GD.L(I)/1000000;CD.L(I)=CD.L(I)/1000000;
INT.L(I)=INT.L(I)/1000000; GDP.L=GDP.L/1000000;GID.L(I)=GID.L(I)/1000000;
ID.L(I)=ID.L(I)/1000000; PRSAV.L=PRSAV.L/1000000;GSAV.L=GSAV.L/1000000;
FSAV.L=FSAV.L/1000000;PRINV.L=PRINV.L/1000000;
NPFE.L=NPFE.L/1000000; NPFI.L=NPFI.L/1000000;GFINT.L=GFINT.L/1000000;
*$ONTEXT
*##CHECK THAT SAM IS IN BALANCE AND NO ERROR
WAS MADE IN CALIBRATION
*=============construction of SAM=====================
SETS
SI / ACT,COMD,FLB,FK,PH,GV,KAPH,KAG,ROW,TOTAL/
SIT(SI) /TOTAL/
S1(SI) / GV,PH,KAPH,KAG,ROW /
SSI(S1) / ROW /
SI1(SI)
;
ALIAS(SI1,SI2);
PARAMETER
trkSAM(SI,SI) SOCIAL ACCOUNTING
MATRIX FOR TURKEY 2003
trkRES(SI)
RESIDUAL OF REVENUE & EXPENDITURE SHOULD add ZERO
;
SI1(SI) = NOT SIT(SI);
* FIRST BLOCK: ACTIVITIES. DOMESTIC SUPPLY,EXPORT
TAX, EXPORTS AT MP
trkSAM("ACT","COMD") = SUM(I, PD.L(I)*DC.L(I));
trkSAM("ACT","GV") = - SUM(I, TE(I)*PWE(I)*E.L(i))
;
trkSAM("ACT","ROW") = SUM(I, PWE(i)*E.L(i)
);
* SECOND BLOCK: COMMODITIES. INTERMEDIATE DEMAND,
* HOUSEHOLD CONSUMPTION, GOVERNMENT CONSUMPTION,INVESTMENT.
trkSAM("COMD","ACT") = SUM((j,i),
IO(j,i)*PC.L(J)*XS.L(i)
) ;
trkSAM("COMD","PH") = SUM(I, PC.L(I)*CD.L(i)
);
trkSAM("COMD","GV") = SUM(I, PC.L(I)*GD.L(i)
);
trkSAM("COMD","KAPH")= SUM(I, PC.L(I)*ID.L(i));
trkSAM("COMD","KAG") = SUM(I, PC.L(I)*GID.L(i)
) ;
* THIRD BLOCK: VALUE ADDED
trkSAM("FLB","ACT") = SUM(I, W.L*WDIST.L(i)*LD.L(I))
;
trkSAM("FK","ACT") = SUM(I, RK.L*RKDIST.L(i)*K.L(I))
;
* FOURTH BLOCK: HOUSEHOLDS. INCOME FROM FACTORS.
trkSAM("PH","FLB") = SUM(I, (1-SSTAX)*W.L*WDIST.L(i)*LD.L(I));
trkSAM("PH","FK") = SUM(I,
(1-CORPTAX)*RK.L*RKDIST.L(i)*K.L(I)) - NPFE.L ;
trkSAM("PH","GV") = GOVTRANS.L
;
trkSAM("PH","ROW") = NPFI.L ;
*FIFTH BLOCK: GOVERNMENT. INDIRECT TAX,TARIFFS,
CORPORATE TAX, FACTOR TRANSFERS FROM SSEs
* HOUSEHOLD TAX, minus NET TRANSFER FROM GOVERNMENT.
trkSAM("GV","ACT") = SUM(I, PROTAX(I)*PX.L(i)*XS.L(i));
trkSAM("GV","COMD") = SUM(I, tm(i)*PWM(i)*M.L(i)
) + SUM(I,(PM.L(I)*M.L(I)+PD.L(I)*DC.L(I))*SALTAX(I) );
trkSAM("GV","FLB") = SUM(I,
SSTAX*W.L*WDIST.L(i)*LD.L(I));
trkSAM("GV","FK") = SUM(I,
CORPTAX*RK.L*RKDIST.L(i)*K.L(I));
trkSAM("GV","PH") = HTAX*Y.L ;
* SIXTH BLOCK: CAPITAL ACCOUNT. HOUSEHOLD SAVINGS
USED IN PRIVATE INVESTMENT
trkSAM("KAPH","PH") = PRINV.L
;
* SEVENTH BLOCK:GOVERNMENT SAVING AND NET CAPITAL
INFLOW FROM ROW (CA DEFICIT)
trkSAM("KAG","PH") = PRSAV.L
- PRINV.L ;
trkSAM("KAG","GV") = GSAV.L
;
trkSAM("KAG","ROW") = FSAV.L ;
* EIGHTH BLOCK: REST OF THE WORLD. IMPORTS
*WORLD PRICES EXCLUDE FOR TARIFFS CONTAINED IN
IMPORT VALUE, M.
trkSAM("ROW","COMD") = SUM(I, PWM(i)*M.L(i)
);
trkSAM("ROW","FK") = NPFE.L
;
trkSAM("ROW","GV") = GFINT.L
;
* NINTH BLOCK: SUM OF COLUMNS. EXPENDITURE
trkSAM("TOTAL","ACT") = SUM(SI1,trkSAM(SI1,"ACT"));
trkSAM("TOTAL","COMD") = SUM(SI1,trkSAM(SI1,"COMD"));
trkSAM("TOTAL","FLB") = SUM(SI1, trkSAM(SI1,"FLB"));
trkSAM("TOTAL","FK") = SUM(SI1, trkSAM(SI1,"FK"));
trkSAM("TOTAL","PH") = SUM(SI1, trkSAM(SI1,"PH"));
trkSAM("TOTAL","GV") = SUM(SI1, trkSAM(SI1,"GV"));
trkSAM("TOTAL","KAPH") = SUM(SI1, trkSAM(SI1,"KAPH"));
trkSAM("TOTAL","KAG") = SUM(SI1, trkSAM(SI1,"KAG"));
trkSAM("TOTAL","ROW") = SUM(SI1, trkSAM(SI1,"ROW"));
* SUM OF ROWS: REVENUE
trkSAM(SI2,"TOTAL") = SUM(SI1, trkSAM(SI2,SI1));
trkRES(SI) = trkSAM("TOTAL",SI) - trkSAM(SI,"TOTAL");
OPTION trkSAM:3:1:1;
DISPLAY trkSAM;
DISPLAY trkRES;
PARAMETER trkSRES;
trkSRES = SUM(SI1, trkRES(SI1));
DISPLAY trkSRES;
Parameter
chkcomTRK(i)
chkactTRK(i)
;
chkcomTRK(i) = SUM(J, IO(i,J)*PC.L(i)*XS.L(J) )
+ PC.L(i)*CD.L(i)
+ PC.L(i)*GD.L(i) + PC.L(i)*ID.L(i) + PC.L(I)*GID.L(i)
- ( PD.L(i)*DC.L(i) + tm(i)*PWM(i)*M.L(i) + (PM.L(I)*M.L(I)+PD.L(I)*DC.L(I))*SALTAX(I)
+ PWM(i)*M.L(i) ) ;
chkactTRK(i) = PD.L(i)*DC.L(i) - te(i)*PWE(i)*E.L(i)
+ PWE(i)*E.L(i)
-( SUM(J, IO(J,i)*PC.L(J)*XS.L(i) )
+ W.L*WDIST.L(i)*LD.L(I)
+ RK.L*RKDIST.L(i)*K.L(I)
+ PROTAX(I)*PX.L(i)*XS.L(i)
) ;
display chkcomTRK, chkactTRK ;
*##END OF SAM TABLE
*$OFFTEXT
*##STORE SAM DATA
T(TP) = NO;
T("SAM2003") = YES ;
* STORE RESULTS IN CORRESPONDING MATRICES
*$INCLUDE 'DISPLAY.INC'
*DISPLAY TABLES
SCALRES("PINDEX",T) = PINDEX.L ;
SCALRES("WAGERATE",T) = W.L ;
SCALRES("RENTALRATE",T) = RK.L ;
SCALRES("PRVDISY",T) = Y.L*(1-HTAX) ;
SCALRES("PRVINCOME",T) = Y.L ;
SCALRES("PRIVCON",T) = SUM(I, CD.L(I));
SCALRES("PRIVCONCUR",T) = SUM(I, PC.L(I)*CD.L(I)
) ;
SCALRES("PRSAV",T) = PRSAV.L
;
SCALRES("PRINV",T) = PRINV.L ;
SCALRES("FSAV",T) = FSAV.L
;
SCALRES("MRIMP",T) = SUM(IM, PWM(IM)*M.L(IM))
;
SCALRES("MREXP",T) = SUM(IE, PWE(IE)*E.L(IE))
;
SCALRES("GDPFC",T) = SUM(I, PVA.L(I)*XS.L(I))
;
SCALRES("NOMGDP",T) = SUM(I, PC.L(I)*(CD.L(I)+GD.L(I)+ID.L(I)+GID.L(I))
+ PWE(I)*E.L(I) - PWM(I)*M.L(I)
) ;
SCALRES("REALGDP",T) = SUM(I, CD.L(I)+GD.L(I)+ID.L(I)+GID.L(I)
+ PWE(I)*E.L(I) - PWM(I)*M.L(I)
);
FISCAL("TOTHHTAX",T) = TOTHHTAX.L ;
FISCAL("TOTSALTAX",T)= TOTSALTAX.L ;
FISCAL("TARIFF",T) = TARIFF.L
;
FISCAL("EXTAX",T) = EXTAX.L
;
FISCAL("TOTPROTAX",T)= TOTPROTAX.L ;
FISCAL("SOCSECTAX",T)= TOTSSTAX.L ;
FISCAL("TOTCORPTAX",T) = TOTCORPTAX.L ;
FISCAL("GREV",T) = GREV.L ;
FISCAL("GREXP",T) = GOVCON.L + GINV.L
+ GOVTRANS.L + GFINT.L ;
FISCAL("GOVCON",T) = GOVCON.L ;
FISCAL("GSAV",T) = GSAV.L ;
FISCAL("GINV",T) = GINV.L ;
FISCAL("PISB",T) = PISB.L ;
FISCAL("GOVTRANS",T) = GOVTRANS.L ;
FISCAL("PRIMARYBAL",T) = GPRMBAL.L ;
FISCAL("PRBALGDPRAT",T) = FISCAL("PRIMARYBAL",T)/SCALRES("NOMGDP",T)
;
FISCAL("GINVGDPRAT",T) = FISCAL("GINV",T)/SCALRES("NOMGDP",T)
;
FISCAL("PISGDPRAT",T) = FISCAL("PISB",T)/SCALRES("NOMGDP",T)
;
FISCAL("GREVGDPRAT",T) = FISCAL("GREV",T)/SCALRES("NOMGDP",T)
;
FISCAL("GEXPGDPRAT",T) = FISCAL("GREXP",T)/SCALRES("NOMGDP",T)
;
SECTRES("PX",I,T) = PX.L(I) ;
SECTRES("PC",I,T) = PC.L(I) ;
SECTRES("PD",I,T) = PD.L(I) ;
SECTRES("PM",I,T) = PM.L(I) ;
SECTRES("PE",I,T) = PE.L(I) ;
SECTRES("PM/PD",I,T) = PM.L(I)/PD.L(I) ;
SECTRES("PE/PD",I,T) = PE.L(I)/PD.L(I) ;
SECTRES("PVA",I,T) = PVA.L(I) ;
SECTRES("CC",I,T) = CC.L(I) ;
SECTRES("LD",I,T) = LD.L(I) ;
SECTRES("K",I,T) = K.L(I) ;
SECTRES("XS",I,T) = XS.L(I) ;
SECTRES("DC",I,T) = DC.L(I) ;
SECTRES("E",IE,T) = E.L(IE) ;
SECTRES("M",IM,T) = M.L(IM) ;
SECTRES("INT",I,T) = INT.L(I) ;
SECTRES("CD",I,T) = CD.L(I) ;
SECTRES("GD",I,T) = GD.L(I) ;
SECTRES("ID",I,T) = ID.L(I) ;
SECTRES("WDIST",I,T) = WDIST.L(I) ;
SECTRES("RKDIST",I,T) = RKDIST.L(I) ;
BASERAT("W",T)
= W.L/SCALRES("WAGERATE","SAM2003") ;
BASERAT("RK",T)
= RK.L/SCALRES("RENTALRATE","SAM2003") ;
BASERAT("NOMGDP",T) = SCALRES("NOMGDP",T)/SCALRES("NOMGDP","SAM2003")
;
BASERAT("REALGDP",T) = SCALRES("REALGDP",T)/SCALRES("REALGDP","SAM2003")
;
BASERAT("PRVDISY",T) = SCALRES("PRVDISY",T)/SCALRES("PRVDISY","SAM2003")
;
BASERAT("PRIVCON",T) = SCALRES("PRIVCON",T)/SCALRES("PRIVCON","SAM2003")
;
BASERAT("PRINV",T) = SCALRES("PRINV",T)/SCALRES("PRINV","SAM2003")
;
BASERAT("GREV",T) = FISCAL("GREV",T)/FISCAL("GREV","SAM2003")
;
BASERAT("GREXP",T) = FISCAL("GREXP",T)/FISCAL("GREXP","SAM2003")
;
BASERAT("GOVCON",T) = FISCAL("GOVCON",T)/FISCAL("GOVCON","SAM2003")
;
BASERAT("GINV",T) = FISCAL("GINV",T)/FISCAL("GINV","SAM2003")
;
BASERAT("GSAV",T) = FISCAL("GSAV",T)/FISCAL("GSAV","SAM2003")
;
BASERAT("PISB",T) = FISCAL("PISB",T)/FISCAL("PISB","SAM2003")
;
BASERAT("PRIMARYBAL",T) = FISCAL("PRIMARYBAL",T)/FISCAL("PRIMARYBAL","SAM2003")
;
BASERAT1("PM/PD",I,T) = (PM.L(I)/PD.L(I))/SECTRES("PM/PD",I,"SAM2003")
;
BASERAT1("PE/PD",I,T) = (PE.L(I)/PD.L(I))/SECTRES("PE/PD",I,"SAM2003")
;
BASERAT1("PVA",I,T) = PVA.L(I)/SECTRES("PVA",I,"SAM2003")
;
BASERAT1("LD",I,T) = LD.L(I)/SECTRES("LD",I,"SAM2003")
;
BASERAT1("K",I,T) = K.L(I)/SECTRES("K",I,"SAM2003")
;
BASERAT1("XS",I,T) = XS.L(I)/SECTRES("XS",I,"SAM2003")
;
BASERAT1("CD",I,T) = CD.L(I)/SECTRES("CD",I,"SAM2003")
;
BASERAT1("GD",I,T) = GD.L(I)/SECTRES("GD",I,"SAM2003")
;
BASERAT1("ID",I,T) = ID.L(I)/SECTRES("ID",I,"SAM2003")
;
BASERAT1("E",I,T) = E.L(I)/SECTRES("E",I,"SAM2003")
;
BASERAT1("M",I,T) = M.L(I)/SECTRES("M",I,"SAM2003")
;
*#*#*#*#*EQUATION DEFINITIONS
EQUATIONS
*##PRICE BLOCK
PMDEF(I)
DEFINITION OF DOMESTIC IMPORT PRICES
PEDEF(I)
DEFINITION OF DOMESTIC EXPORT PRICES
PCDEF(I)
VALUE OF DOMESTIC SALES
PXDEF(I)
VALUE OF SECTORAL OUTPUT
PVDEF(I)
VALUE ADDED AT THE FIRM LEVEL (PRODUCER PRICE)
PLEVDEF
DEFINITION OF GENERAL PRICE LEVEL
*##OUTPUT AND FACTORS OF PRODUCTION BLOCK
ACTIVITY(I) PRODUCTION TECHNOLOGY:
COBB-DOUGLAS
FOCLABEQ(I) FIRST ORDER CONDITIONS
FOR LABOR EMPLOYMENT
FOCKAPEQ(I) FIRST ORDER CONDITIONS
FOR CAPITAL EMPLOY.
LABMKTEQM LABOR
MARKET EQUILIBRIUM
KAPMKTEQM CAPITAL
MARKET EQUILIBRIUM
*##TRADE BLOCK
CET(I)
GROSS OUTPUT-EXPORTS FRONTIER
ESUPPLY(I)
EXPORT SUPPLY
ARMINGTON(I) COMPOSITE
GOOD AGGREGATION FUNCTION
COSTMIN(I)
F.O.C. FOR COST MINIMIZATION OF COMPOSITE GOOD
DCN(I)
DOMESTIC SALES FOR NONTRADED SECTORS
XSN(I)
COMPOSITE GOOD AGG. FOR NON-TRADED SECTORS
*##INCOME GENERATION AND DEMAND BLOCK
PRINCEQ
PRIVATE INCOME FROM FACTOR OWNERSHIP
GREQ
GOVERNMENT REVENUE
PROTAXDEF
INDIRECT TAXES ON DOMESTIC PRODUCTION
SALTAXEQ
INDIRECT TAXES ON DOMESTIC SALES
TARIFFEQ
TARIFF REVENUE EQUATION
SSTAXEQ
SOCIAL SECURITY TAXES EQUATION
CORPTAXEQ
EQUATION OF CORPORATE TAXES
EXTAXEQ
EXPORT TAX REVENUE EQUATION
HHTAXDEF
TOTAL HOUSEHOLD TAXES COLLECTED BY GOVT.
CDEQ(I)
PRIVATE CONSUMPTION BY SECTORS
GDEQ(I)
GOVERNMENT CONSUMPTION BY SECTORS
INTEQ(I)
TOTAL INTERMEDIATE USES
GDPDEF
GROSS DOMESTIC PRODUCT
*##SAVINGS INVESTMENT BLOCK
PRSAVEQ
HOUSEHOLD SAVINGS
GOVSAV
CALCULATION OF PUBLIC SAVINGS
PISBDEF
PUBLIC SAVING INVESTENT BALANCE
GOVTRANSE
GOVERNMENT TRANSFERS BEHAVIOR
* GINVEQ
DETERMINATION OF GOV INVESTMENT AS A RATIO OF GDP
GOVCONEQ
GOVERNMENT CONSUMPTION BEHAVIOR AS A RATIO TO GDP
GPRBGDPRAT
PRIMARY BALANCE AS A RATIO TO THE GDP
GPRBALEQ
DEFINITION OF GOV PRIMARY BUDGET BALANCE
IDEQ(I)
INVESTMENT DEMAND BY SECTOR OF ORIGIN
GIDEQ(I)
PUBLIC INVESTMENT DEMAND BY SECTOR OF ORIGIN
WALRAS
WALRAS LAW EQUATION
*##PRODUCT MARKET CLEARING
COMBAL(I)
COMMODITY BALANCES
CAEQ
CURRENT ACCOUNT BALANCE
*OBJECTIVE FUNCTION
OBJ
OBJECTIVE FUNCTION ;
*#EQUATION SPECIFICATIONS
*##PRICE BLOCK
PMDEF(IM).. PM(IM) =E= PWM(IM)*(1+TM(IM))
;
PEDEF(IE).. PE(IE) =E= PWE(IE)*(1-TE(IE))
;
PCDEF(I).. PC(I)*CC(I)
=E= (PD(I)*DC(I) + PM(I)*M(I)$IM(I) ) * (1+SALTAX(I)) ;
PXDEF(I).. PX(I)*XS(I)
=E= PD(I)*DC(I) + (PE(I)*E(I))$IE(I) ;
PVDEF(I).. PVA(I) =E=
(1-PROTAX(I))*PX(I) - SUM(J, PC(J)*IO(J,I)) ;
PLEVDEF.. PINDEX
=E= SUM(I, PWTS(I)*PC(I) ) ;
*##OUTPUT AND FACTORS OF PRODUCTION BLOCK
ACTIVITY(I).. XS(I) =E=
AX(I)*K(I)**BX(I)*LD(I)**(1-BX(I)) ;
FOCLABEQ(I).. W*WDIST(I)*LD(I)
=E= (1-BX(I))*PVA(I)*XS(I) ;
FOCKAPEQ(I).. RK*RKDIST(I)*K(I)
=E= BX(I)*PVA(I)*XS(I) ;
LABMKTEQM..
SUM(I, LD(I)) =E= LSUP ;
KAPMKTEQM..
SUM(I, K(I)) =E= KSUP ;
*##TRADE BLOCK
CET(IE).. XS(IE) =E= AT(IE)*(
BT(IE)*E(IE)**RHOT(IE)
+ ( 1-BT(IE) )*DC(IE)**RHOT(IE)
)**(1/RHOT(IE)) ;
ESUPPLY(IE).. E(IE)/DC(IE) =E=
( PE(IE)/PD(IE)
*(1-BT(IE))/BT(IE) )**(1/(RHOT(IE)-1)
) ;
ARMINGTON(IM).. CC(IM) =E= AC(IM)*(
BC(IM)*M(IM)**(-RHOC(IM))
+ (1-BC(IM))*DC(IM)**(-RHOC(IM))
)**(-1/RHOC(IM)) ;
COSTMIN(IM).. M(IM)/DC(IM)
=E= ( PD(IM)/PM(IM)
*BC(IM)/(1-BC(IM)) )**(1/(1
+ RHOC(IM)) ) ;
DCN(INE)..
DC(INE) =E= XS(INE) ;
XSN(INM)..
CC(INM) =E= DC(INM) ;
*##INCOME GENERATION AND DEMAND BLOCK
PRINCEQ..
Y =E= SUM(I, (1-SSTAX)*W*WDIST(I)*LD(I) + (1-CORPTAX)*RK*RKDIST(I)*K(I))
+ GOVTRANS + NPFI - NPFE ;
GREQ..
GREV =E= TOTPROTAX + TOTSALTAX + TARIFF + TOTSSTAX + TOTCORPTAX
+ TOTHHTAX+EXTAX ;
PROTAXDEF.. TOTPROTAX
=E= SUM(I, PROTAX(I)*PX(I)*XS(I) );
SALTAXEQ..
TOTSALTAX =E= SUM(I, SALTAX(I)*(PD(I)*DC(I) + PM(I)*M(I)$IM(I)) ) ;
TARIFFEQ..
TARIFF =E= SUM(I, TM(I)*PWM(I)*M(I)) ;
SSTAXEQ..
TOTSSTAX =E= SUM(I, SSTAX*W*WDIST(I)*LD(I));
CORPTAXEQ.. TOTCORPTAX
=E= SUM(I, CORPTAX*RK*RKDIST(I)*K(I));
HHTAXDEF..
TOTHHTAX =E= HTAX*Y ;
EXTAXEQ..
EXTAX =E= SUM(I, TE(I)*PWE(I)*E(I)) ;
GDEQ(I).. PC(I)*GD(I)
=E= GLES(I)*GOVCON ;
CDEQ(I).. PC(I)*CD(I)
=E= CLES(I)*(1-MPS)*Y*(1-HTAX) ;
INTEQ(I).. INT(I)
=E= SUM(J, IO(I,J)*XS(J));
GDPDEF..
GDP =E= SUM(I, PC(I)*(CD(I)+GD(I)+GID(I)+ID(I))
+ PWE(I)*E(I)-PWM(I)*M(I) ) ;
*##SAVING INVESTMENT BALANCE
PRSAVEQ..
PRSAV =E= MPS*Y*(1-HTAX);
GOVSAV..
GSAV =E= GREV - GOVCON - GOVTRANS - GFINT ;
PISBDEF..
PISB =E= GINV - GSAV;
GOVTRANSE.. GOVTRANS =E=GVTR*GDP;
* GINVEQ.. GINV =E=
GIR*GDP ;
GOVCONEQ..
GOVCON =E= GCR*GDP ;
GPRBGDPRAT..
GPRMBAL =E= GPRBR*GDP ;
GPRBALEQ.. GPRMBAL
=E= GREV - GOVCON - GINV - INTRSRAT*GOVTRANS ;
IDEQ(I).. PC(I)*ID(I)
=E= IDLES(I)*PRINV;
GIDEQ(I).. PC(I)*GID(I)
=E= GIDLES(I)*GINV;
WALRAS.. PRSAV
+ GSAV + FSAV =E= PRINV + GINV + DROP;
*COMMODITY MARKET CLEARING
COMBAL(I).. CC(I) =E= INT(I)
+ CD(I) + GD(I) + ID(I) + GID(I) ;
CAEQ.. SUM(IM, PWM(IM)*M(IM))
+ NPFE + GFINT =E=
SUM(IE, PWE(IE)*E(IE)) + FSAV + NPFI ;
*OBJECTIVE FUNCTION
OBJ..
OMEGA =E= DROP*DROP ;
* OBJ..
OMEGA =E= GDP ;
* OBJ..
OMEGA =E= 1.00 ;
*# ADDITIONAL RESTRICTIONS CORRESPONDING TO VARIABLES
WITHOUT EQUATIONS
M.FX(INM) = M.L(INM);
E.FX(INE) = E.L(INE);
PM.FX(INM) = PM0(INM) ;
PE.FX(INE) = PE0(INE) ;
*#*#*#*#*#*#*#*MODEL CLOSURE*#*#*#*#*#*
*##FACTOR MARKET CLOSURE
*#LABOR MARKET
*FLEXIBLE WAGES
*W.FX = W.L
;
LSUP.FX = LSUP.L ;
*LABOR IS MOBILE ACROSS SECTORS.
*FOR SECTOR SPECIFIC LABOR R-ALLOCATE "*" BELOW
*LD.FX(I) = LD.L(I) ;
WDIST.FX(I) = WDIST0(I) ;
*#CAPITAL MARKET
*FLEXIBLE PROFIT RATE
*RK.FX = RK.L ;
KSUP.FX = KSUP.L ;
*CAPITAL IS MOBILE ACROSS SECTORS
*FOR SECTOR SPECIFIC CAPITAL RE-ALLOCATE "*"
BELOW
*K.FX(I) = K.L(I) ;
RKDIST.FX(I) = RKDIST0(I) ;
*##FOREIGN CLOSURE
*ONE OF THE FOLLOWING SHOULD BE MADE ENDOGENOUS
*PINDEX.FX = PINDEX.L ;
FSAV.FX = FSAV.L ;
*#EXOGENOUSLY SPECIFIED FLOWS
GFINT.FX = GFINT.L;
NPFI.FX = NPFI.L;
NPFE.FX = NPFE.L;
*##MACRO CLOSURE (SAVING-INVESTMENT BALANCE)
*Currently the model adopts the "neo-classical"
closure. Hence,
*private investment is saving-driven. To
adopt "Kaldorian" closure
*set MPS as endogenous, and fix PRINV
*PRINV.FX = PRINV.L ;
MPS.FX = MPS.L
;
*##GOVERNMENT ACCOUNTS
*If you make changes here, make sure to implement
the corresponding
*changes in the equation specifications
*GINV.FX = GINV.L ;
*GOVCON.FX = GOVCON.L ;
*GPRBAL.FX = GPRBAL.L ;
*###MODEL DEFINITION
MODEL GENEQM OPEN ECONOMY GENERAL EQUILIBRIUM
MODEL /ALL/ ;
OPTIONS DECIMALS = 3, ITERLIM =1000, LIMROW
= 0, LIMCOL = 0, SOLPRINT = OFF;
geneqm.holdfixed = 1;
*geneqm.optfile = 1;
SOLVE GENEQM MAXIMIZING OMEGA USING NLP;
*SOLVE GENEQM USING MCP ;
*SOLUTION VALUES FOR EXPERIMENT 1
T(TP) = NO;
T("2003") = YES ;
* STORE RESULTS IN CORRESPONDING MATRICES
*$INCLUDE 'DISPLAY.INC'
*DISPLAY TABLES
SCALRES("DROP",T) = DROP.L
;
SCALRES("PINDEX",T) = PINDEX.L ;
SCALRES("WAGERATE",T) = W.L ;
SCALRES("RENTALRATE",T) = RK.L ;
SCALRES("PRVDISY",T) = Y.L*(1-HTAX) ;
SCALRES("PRVINCOME",T) = Y.L ;
SCALRES("PRIVCON",T) = SUM(I, CD.L(I));
SCALRES("PRIVCONCUR",T) = SUM(I, PC.L(I)*CD.L(I)
) ;
SCALRES("PRSAV",T) = PRSAV.L
;
SCALRES("PRINV",T) = PRINV.L ;
SCALRES("FSAV",T) = FSAV.L
;
SCALRES("MRIMP",T) = SUM(IM, PWM(IM)*M.L(IM))
;
SCALRES("MREXP",T) = SUM(IE, PWE(IE)*E.L(IE))
;
SCALRES("GDPFC",T) = SUM(I, PVA.L(I)*XS.L(I))
;
SCALRES("NOMGDP",T) = SUM(I, PC.L(I)*(CD.L(I)+GD.L(I)+ID.L(I)+GID.L(I))
+ PWE(I)*E.L(I) - PWM(I)*M.L(I)
) ;
SCALRES("REALGDP",T) = SUM(I, CD.L(I)+GD.L(I)+ID.L(I)+GID.L(I)
+ PWE(I)*E.L(I) - PWM(I)*M.L(I)
);
FISCAL("TOTHHTAX",T) = TOTHHTAX.L ;
FISCAL("TOTSALTAX",T)= TOTSALTAX.L ;
FISCAL("TARIFF",T) = TARIFF.L
;
FISCAL("EXTAX",T) = EXTAX.L
;
FISCAL("TOTPROTAX",T)= TOTPROTAX.L ;
FISCAL("SOCSECTAX",T)= TOTSSTAX.L ;
FISCAL("TOTCORPTAX",T) = TOTCORPTAX.L ;
FISCAL("GREV",T) = GREV.L ;
FISCAL("GREXP",T) = GOVCON.L + GINV.L
+ GOVTRANS.L + GFINT.L ;
FISCAL("GOVCON",T) = GOVCON.L ;
FISCAL("GSAV",T) = GSAV.L ;
FISCAL("GINV",T) = GINV.L ;
FISCAL("PISB",T) = PISB.L ;
FISCAL("GOVTRANS",T) = GOVTRANS.L ;
FISCAL("PRIMARYBAL",T) = GPRMBAL.L ;
FISCAL("PRBALGDPRAT",T) = FISCAL("PRIMARYBAL",T)/SCALRES("NOMGDP",T)
;
FISCAL("GINVGDPRAT",T) = FISCAL("GINV",T)/SCALRES("NOMGDP",T)
;
FISCAL("PISGDPRAT",T) = FISCAL("PISB",T)/SCALRES("NOMGDP",T)
;
FISCAL("GREVGDPRAT",T) = FISCAL("GREV",T)/SCALRES("NOMGDP",T)
;
FISCAL("GEXPGDPRAT",T) = FISCAL("GREXP",T)/SCALRES("NOMGDP",T)
;
SECTRES("PX",I,T) = PX.L(I) ;
SECTRES("PC",I,T) = PC.L(I) ;
SECTRES("PD",I,T) = PD.L(I) ;
SECTRES("PM",I,T) = PM.L(I) ;
SECTRES("PE",I,T) = PE.L(I) ;
SECTRES("PM/PD",I,T) = PM.L(I)/PD.L(I) ;
SECTRES("PE/PD",I,T) = PE.L(I)/PD.L(I) ;
SECTRES("PVA",I,T) = PVA.L(I) ;
SECTRES("CC",I,T) = CC.L(I) ;
SECTRES("LD",I,T) = LD.L(I) ;
SECTRES("K",I,T) = K.L(I) ;
SECTRES("XS",I,T) = XS.L(I) ;
SECTRES("DC",I,T) = DC.L(I) ;
SECTRES("E",IE,T) = E.L(IE) ;
SECTRES("M",IM,T) = M.L(IM) ;
SECTRES("INT",I,T) = INT.L(I) ;
SECTRES("CD",I,T) = CD.L(I) ;
SECTRES("GD",I,T) = GD.L(I) ;
SECTRES("ID",I,T) = ID.L(I) ;
SECTRES("WDIST",I,T) = WDIST.L(I) ;
SECTRES("RKDIST",I,T) = RKDIST.L(I) ;
BASERAT("W",T)
= W.L/SCALRES("WAGERATE","SAM2003") ;
BASERAT("RK",T)
= RK.L/SCALRES("RENTALRATE","SAM2003") ;
BASERAT("NOMGDP",T) = SCALRES("NOMGDP",T)/SCALRES("NOMGDP","SAM2003")
;
BASERAT("REALGDP",T) = SCALRES("REALGDP",T)/SCALRES("REALGDP","SAM2003")
;
BASERAT("PRVDISY",T) = SCALRES("PRVDISY",T)/SCALRES("PRVDISY","SAM2003")
;
BASERAT("PRIVCON",T) = SCALRES("PRIVCON",T)/SCALRES("PRIVCON","SAM2003")
;
BASERAT("PRINV",T) = SCALRES("PRINV",T)/SCALRES("PRINV","SAM2003")
;
BASERAT("GREV",T) = FISCAL("GREV",T)/FISCAL("GREV","SAM2003")
;
BASERAT("GREXP",T) = FISCAL("GREXP",T)/FISCAL("GREXP","SAM2003")
;
BASERAT("GOVCON",T) = FISCAL("GOVCON",T)/FISCAL("GOVCON","SAM2003")
;
BASERAT("GINV",T) = FISCAL("GINV",T)/FISCAL("GINV","SAM2003")
;
BASERAT("GSAV",T) = FISCAL("GSAV",T)/FISCAL("GSAV","SAM2003")
;
BASERAT("PISB",T) = FISCAL("PISB",T)/FISCAL("PISB","SAM2003")
;
BASERAT("PRIMARYBAL",T) = FISCAL("PRIMARYBAL",T)/FISCAL("PRIMARYBAL","SAM2003")
;
BASERAT1("PM/PD",I,T) = (PM.L(I)/PD.L(I))/SECTRES("PM/PD",I,"SAM2003")
;
BASERAT1("PE/PD",I,T) = (PE.L(I)/PD.L(I))/SECTRES("PE/PD",I,"SAM2003")
;
BASERAT1("PVA",I,T) = PVA.L(I)/SECTRES("PVA",I,"SAM2003")
;
BASERAT1("LD",I,T) = LD.L(I)/SECTRES("LD",I,"SAM2003")
;
BASERAT1("K",I,T) = K.L(I)/SECTRES("K",I,"SAM2003")
;
BASERAT1("XS",I,T) = XS.L(I)/SECTRES("XS",I,"SAM2003")
;
BASERAT1("CD",I,T) = CD.L(I)/SECTRES("CD",I,"SAM2003")
;
BASERAT1("GD",I,T) = GD.L(I)/SECTRES("GD",I,"SAM2003")
;
BASERAT1("ID",I,T) = ID.L(I)/SECTRES("ID",I,"SAM2003")
;
BASERAT1("E",I,T) = E.L(I)/SECTRES("E",I,"SAM2003")
;
BASERAT1("M",I,T) = M.L(I)/SECTRES("M",I,"SAM2003")
;
*###DYNAMIC STAGE*##
*THIS PROGRAM SIMULATES THE 2003-2007 PATH OF
THE TURKISH ECONOMY
TABLE RATES(*,TP) GROWTH RATES PER ANNUM
2004 2005 2006 2007
POPRATE 0.010 0.010 0.010
0.010
AGTFP 0.005 0.005
0.005 0.005
INDTFP 0.010 0.010
0.010 0.010
;
*##EXPERIMENT 1: REDUCE PRIMARY BALANCE RATIO TO
THE GDP
*USE EXTRA PUBLIC FUNDS IN PUBLIC INVESTMENT
(SEE CLOSURE)
GPRBR = 0.5*GPRBR ;
LOOP (TFUT,
T(TP) = NO;
T(TFUT) = YES ;
*##The following is common to all experiments (Base-Run)
*#UPDATE LABOR
LSUP.FX = (1+SUM(T, RATES("POPRATE",T)))*LSUP.L
;
*UPDATE CAPITAL STOCKS
*KSUP.FX = (1-KDEP(I))*KSUP.L + SUM(I,
ID.L(I) + GID.L(I) ) ;
KSUP.FX = KSUP.L + SUM(I, ID.L(I) + GID.L(I)
) ;
*#TECHNICAL PRODUCTIVITY GROWTH
AX("A") = AX("A")*(1+SUM(T, RATES("AGTFP",T)))
;
AX("N") = AX("N")*(1+SUM(T, RATES("INDTFP",T)))
;
*SOLVE GENEQM MAXIMIZING OMEGA USING NLP;
SOLVE GENEQM USING MCP ;
*$INCLUDE 'DISPLAY.INC'
*DISPLAY TABLES
SCALRES("DROP",T) = DROP.L
;
SCALRES("PINDEX",T) = PINDEX.L ;
SCALRES("WAGERATE",T) = W.L ;
SCALRES("RENTALRATE",T) = RK.L ;
SCALRES("PRVDISY",T) = Y.L*(1-HTAX) ;
SCALRES("PRVINCOME",T) = Y.L ;
SCALRES("PRIVCON",T) = SUM(I, CD.L(I));
SCALRES("PRIVCONCUR",T) = SUM(I, PC.L(I)*CD.L(I)
) ;
SCALRES("PRSAV",T) = PRSAV.L
;
SCALRES("PRINV",T) = PRINV.L ;
SCALRES("FSAV",T) = FSAV.L
;
SCALRES("MRIMP",T) = SUM(IM, PWM(IM)*M.L(IM))
;
SCALRES("MREXP",T) = SUM(IE, PWE(IE)*E.L(IE))
;
SCALRES("GDPFC",T) = SUM(I, PVA.L(I)*XS.L(I))
;
SCALRES("NOMGDP",T) = SUM(I, PC.L(I)*(CD.L(I)+GD.L(I)+ID.L(I)+GID.L(I))
+ PWE(I)*E.L(I) - PWM(I)*M.L(I)
) ;
SCALRES("REALGDP",T) = SUM(I, CD.L(I)+GD.L(I)+ID.L(I)+GID.L(I)
+ PWE(I)*E.L(I) - PWM(I)*M.L(I)
);
FISCAL("TOTHHTAX",T) = TOTHHTAX.L ;
FISCAL("TOTSALTAX",T)= TOTSALTAX.L ;
FISCAL("TARIFF",T) = TARIFF.L
;
FISCAL("EXTAX",T) = EXTAX.L
;
FISCAL("TOTPROTAX",T)= TOTPROTAX.L ;
FISCAL("SOCSECTAX",T)= TOTSSTAX.L ;
FISCAL("TOTCORPTAX",T) = TOTCORPTAX.L ;
FISCAL("GREV",T) = GREV.L ;
FISCAL("GREXP",T) = GOVCON.L + GINV.L
+ GOVTRANS.L + GFINT.L ;
FISCAL("GOVCON",T) = GOVCON.L ;
FISCAL("GSAV",T) = GSAV.L ;
FISCAL("GINV",T) = GINV.L ;
FISCAL("PISB",T) = PISB.L ;
FISCAL("GOVTRANS",T) = GOVTRANS.L ;
FISCAL("PRIMARYBAL",T) = GPRMBAL.L ;
FISCAL("PRBALGDPRAT",T) = FISCAL("PRIMARYBAL",T)/SCALRES("NOMGDP",T)
;
FISCAL("GINVGDPRAT",T) = FISCAL("GINV",T)/SCALRES("NOMGDP",T)
;
FISCAL("PISGDPRAT",T) = FISCAL("PISB",T)/SCALRES("NOMGDP",T)
;
FISCAL("GREVGDPRAT",T) = FISCAL("GREV",T)/SCALRES("NOMGDP",T)
;
FISCAL("GEXPGDPRAT",T) = FISCAL("GREXP",T)/SCALRES("NOMGDP",T)
;
SECTRES("PX",I,T) = PX.L(I) ;
SECTRES("PC",I,T) = PC.L(I) ;
SECTRES("PD",I,T) = PD.L(I) ;
SECTRES("PM",I,T) = PM.L(I) ;
SECTRES("PE",I,T) = PE.L(I) ;
SECTRES("PM/PD",I,T) = PM.L(I)/PD.L(I) ;
SECTRES("PE/PD",I,T) = PE.L(I)/PD.L(I) ;
SECTRES("PVA",I,T) = PVA.L(I) ;
SECTRES("CC",I,T) = CC.L(I) ;
SECTRES("LD",I,T) = LD.L(I) ;
SECTRES("K",I,T) = K.L(I) ;
SECTRES("XS",I,T) = XS.L(I) ;
SECTRES("DC",I,T) = DC.L(I) ;
SECTRES("E",IE,T) = E.L(IE) ;
SECTRES("M",IM,T) = M.L(IM) ;
SECTRES("INT",I,T) = INT.L(I) ;
SECTRES("CD",I,T) = CD.L(I) ;
SECTRES("GD",I,T) = GD.L(I) ;
SECTRES("ID",I,T) = ID.L(I) ;
SECTRES("WDIST",I,T) = WDIST.L(I) ;
SECTRES("RKDIST",I,T) = RKDIST.L(I) ;
BASERAT("W",T)
= W.L/SCALRES("WAGERATE","SAM2003") ;
BASERAT("RK",T)
= RK.L/SCALRES("RENTALRATE","SAM2003") ;
BASERAT("NOMGDP",T) = SCALRES("NOMGDP",T)/SCALRES("NOMGDP","SAM2003")
;
BASERAT("REALGDP",T) = SCALRES("REALGDP",T)/SCALRES("REALGDP","SAM2003")
;
BASERAT("PRVDISY",T) = SCALRES("PRVDISY",T)/SCALRES("PRVDISY","SAM2003")
;
BASERAT("PRIVCON",T) = SCALRES("PRIVCON",T)/SCALRES("PRIVCON","SAM2003")
;
BASERAT("PRINV",T) = SCALRES("PRINV",T)/SCALRES("PRINV","SAM2003")
;
BASERAT("GREV",T) = FISCAL("GREV",T)/FISCAL("GREV","SAM2003")
;
BASERAT("GREXP",T) = FISCAL("GREXP",T)/FISCAL("GREXP","SAM2003")
;
BASERAT("GOVCON",T) = FISCAL("GOVCON",T)/FISCAL("GOVCON","SAM2003")
;
BASERAT("GINV",T) = FISCAL("GINV",T)/FISCAL("GINV","SAM2003")
;
BASERAT("GSAV",T) = FISCAL("GSAV",T)/FISCAL("GSAV","SAM2003")
;
BASERAT("PISB",T) = FISCAL("PISB",T)/FISCAL("PISB","SAM2003")
;
BASERAT("PRIMARYBAL",T) = FISCAL("PRIMARYBAL",T)/FISCAL("PRIMARYBAL","SAM2003")
;
BASERAT1("PM/PD",I,T) = (PM.L(I)/PD.L(I))/SECTRES("PM/PD",I,"SAM2003")
;
BASERAT1("PE/PD",I,T) = (PE.L(I)/PD.L(I))/SECTRES("PE/PD",I,"SAM2003")
;
BASERAT1("PVA",I,T) = PVA.L(I)/SECTRES("PVA",I,"SAM2003")
;
BASERAT1("LD",I,T) = LD.L(I)/SECTRES("LD",I,"SAM2003")
;
BASERAT1("K",I,T) = K.L(I)/SECTRES("K",I,"SAM2003")
;
BASERAT1("XS",I,T) = XS.L(I)/SECTRES("XS",I,"SAM2003")
;
BASERAT1("CD",I,T) = CD.L(I)/SECTRES("CD",I,"SAM2003")
;
BASERAT1("GD",I,T) = GD.L(I)/SECTRES("GD",I,"SAM2003")
;
BASERAT1("ID",I,T) = ID.L(I)/SECTRES("ID",I,"SAM2003")
;
BASERAT1("E",I,T) = E.L(I)/SECTRES("E",I,"SAM2003")
;
BASERAT1("M",I,T) = M.L(I)/SECTRES("M",I,"SAM2003")
;
*END OF LOOP
);
DISPLAY SCALRES, FISCAL, SECTRES, BASERAT, BASERAT1
;
*###*###*###**END OF PROGRAM*###*###*###*###**