$OFFSYMLIST OFFSYMXREF OFFUPPER $TITLE TWO SECTOR OPEN ECONOMY GENERAL EQUILIBRIUM MODEL * * *In This Model we check the workings of the Samuelson-Stolper Theorem * * The model introduces basic elements of a 2*2 general equilibrium *model of a productive economy which engages into trade at the *fixed world terms of trade. There are two goods and two types of *individuals in the economy, workers and the capitalists. *Capitalists own the stock of capital and workers are endowed with *(as the famous dictum goes) nothing but their labor. * * In this version of the model capital stocks are sector specific *However the economy adjusts to profit rate diferentials *between the sectors. In the long run capital moves from *the low profit sector to the higher profit sector until the *profit rate differential is eliminated. * * For further documentation of the model equations refer to: * YELDAN, E. (1991) "Trade Theory in a Dynamic Open Economy * with Sluggish Physical Capital" METU STUDIES IN DEVELOPMENT * 18(3): 283-505. * *##*##*##*##*##*##*##THE GAMS PROGRAM*##*##*##*##*##*##*##** * *##SET DEFINITIONS SET HH INDIVIDUALS /WHH WORKER HOUSEHOLD KHH CAPITALIST HOUSEHOLD / I GOODS / A AGRICULTURAL GOOD N INDUSTRIAL GOOD / TP TIME PERIODS /0*50/ T(TP) CURRENT TIME PERIOD ; *##PARAMETER DEFINITIONS PARAMETER AD(I) SHIFT PARAMETER IN PROD FUNC ALFA(I) CES FUNCTION SHARE PARAMETER CLES(I,HH) SECTORAL CONSUMPTION DEMAND BY HOUSEHOLDS PW(I) WORLD PRICES RHO(I) PRODUCTION EXPONENTIAL PARAMETER SIGP(I) PRODUCTION FUNCTION ELASTICITY OF SUBSTITUTION *DUMMIES TO HOLD INITIAL DATA IG0(HH) HOUSEHOLD WEIGHTS IN THE SOCIAL WELFARE FUNCTION K0(I) CAPITAL DEMAND IN SECTOR I KSTAR(HH) HOUSEHOLD CAPITAL ENDOWMENT LD0(I) SECTORAL LABOR DEMANDS LSTAR(HH) HOUSEHOLD LABOR ENDOWMENT P0(I) DOMESTIC PRICES QS0(I) COMMODITY SUPPLIES RP0(I) SECTORAL PROFITS RK0(I) SECTORAL PROFIT RATE V0(HH) HOUSEHOLD INDIRECT UTILITIES WL0(I) SECTORAL WAGES Y0(HH) HOUSEHOLD INCOME ; SCALAR W0 NOMINAL WAGE RATE QX0 EXPORTS QM0 IMPORTS ER0 EXCHANGE RATE /1.0/ ; *TABLES TO DISPLAY RESULTS PARAMETER HOUSE(*,HH,TP) HOUSEHOLD RESULTS PRODUCT(*,I,TP) PRODUCT MARKET RESULTS SCALRES(*,TP) SCALAR RESULTS RK(I) PROFIT RATE AT PERIOD T QDT(I,HH,TP) HOUSEHOLD DEMAND TABLE ; *##INITIAL DATA FROM SAM TABLE TABLE MATBAL(*,I) MATERIAL BALANCES A N PW 1 1 WL0 0.98600675 1.90298535 QS0 2.20599375 5.72100625 LD0 3.41297837 6.58702163 SIGP 0.8 0.4 ; TABLE HHINC(*,HH) HOUSEHOLD PARAMETERS WHH KHH Y0 2.88899210 5.03800790 LSTAR 10.0 IG0 1.0 1.0 ; TABLE QD0(I,HH) HOUSEHOLD CONSUMPTION WHH KHH A 2.16699407 2.51900395 N 0.72199803 2.51900395 ; *##MODEL CALIBRATION PW(I) = MATBAL("PW",I); P0(I) = ER0*PW(I); LD0(I) = MATBAL("LD0",I) ; *K0(I) = MATBAL("K0",I) ; QS0(I) = MATBAL("QS0",I) ; WL0(I) = MATBAL("WL0",I) ; LSTAR(HH) = HHINC("LSTAR",HH) ; *KSTAR(HH) = HHINC("KSTAR",HH) ; *FIRST CALCULATE THE WAGE RATE W0 = SUM(I, WL0(I) ) / SUM(HH, LSTAR(HH)) ; *WE CALCULATE SECTORAL PROFITS BY DEDUCTING THE WAGE PAYMENTS *FROM SECTORAL VALUE ADDED USING EULER'S LAW (OBSERVE THAT THE *PRODUCTION FUNCTION IS CRTS). RP0(I) = P0(I)*QS0(I) - WL0(I) ; *THEN WE CALCULATE THE PROFIT RATE K0(I) = RP0(I) ; RK0(I) = RP0(I)/K0(I) ; *##CALIBRATE THE PRODUCTION FUNCTION: CES(K,L) SIGP(I) = MATBAL("SIGP",I); RHO(I) = (1/SIGP(I))-1; ALFA(I) = (K0(I)/LD0(I))**(-1-RHO(I))*(W0/RK0(I)) ; ALFA(I) = 1/(1+ALFA(I)) ; AD(I) = QS0(I) / ((ALFA(I)*K0(I)**(-RHO(I)) + (1-ALFA(I))*LD0(I) **(-RHO(I)))**(-1/RHO(I))) ; DISPLAY AD, ALFA, RHO; *##CALCULATE HOUSEHOLD CONSUMPTION PARAMETERS Y0(HH) = HHINC("Y0",HH) ; CLES(I,HH) = P0(I)*QD0(I,HH) / Y0(HH) ; DISPLAY CLES ; *##(INDIRECT) UTILITY LEVELS IG0(HH) = HHINC("IG0",HH); V0(HH) = PROD(I, QD0(I,HH)**CLES(I,HH) ) ; *##EXPORTS AND IMPORTS QX0 = QS0("N") - SUM(HH, QD0("N",HH)) ; QM0 = SUM(HH, QD0("A",HH)) - QS0("A") ; *##VARIABLE DEFINITIONS POSITIVE VARIABLE PINDEX PRICE INDEX ER NOMINAL EXCHANGE RATE (CONVERSION FACTOR) P(I) DOMESTIC PRICES RP(I) SECTORAL PROFITS QS(I) REAL OUTPUT SUPPLIES LD(I) SECTORAL LABOR DEMANDS K(I) SECTORAL CAPITAL DEMANDS W NOMINAL WAGE RATE Y(HH) HOUSEHOLD INCOME V(HH) INDIRECT HOUSEHOLD UTILITY IG(HH) HOUSEHOLD WEIGHTS ON THE SOCIAL WELFARE FUNCTION QD(I,HH) REAL HOUSEHOLD DEMAND ; VARIABLE OMEGA SOCIAL WELFARE FUNCTION VALUE QX REAL EXPORTS (EXCESS SUPPLY) QM REAL IMPORTS (EXCESS DEMAND) ; *##VARIABLE INITIALIZATIONS P.L(I) = P0(I); PINDEX.L= SUM(I, 0.5*P.L(I)) ; QS.L(I) = QS0(I) ; K.L(I) = K0(I) ; LD.L(I) = LD0(I) ; Y.L(HH) = Y0(HH) ; QD.L(I,HH) = QD0(I,HH); V.L(HH) = V0(HH); IG.L(HH) = IG0(HH) ; ER.L = ER0; W.L = W0; QX.L = QX0; QM.L = QM0 ; OMEGA.L = SUM(HH, IG.L(HH)*V.L(HH) ) ; *##DISPLAY SAM VALUES (This will check our calibration method as well) *SOLUTION VALUES AT TIME 0 T(TP) = NO; T("0") = YES ; RK(I) = (P.L(I)*QS.L(I)-W.L*LD.L(I)) / K.L(I) ; SCALRES("WAGERATE",T) = W.L ; SCALRES("EXPORTS",T) = QX.L; SCALRES("IMPORTS",T) = QM.L; SCALRES("SOCWELFARE",T) = OMEGA.L; SCALRES("RELATIVEPR",T) = P.L("A")/P.L("N") ; SCALRES("EXCRATE",T) = ER.L ; PRODUCT("DOMPRICE",I,T) = P.L(I); PRODUCT("WRLDPRICE",I,T)= PW(I) ; PRODUCT("LABDEMAND",I,T) = LD.L(I); PRODUCT("CAPITAL",I,T) = K.L(I); PRODUCT("OUTPUT",I,T) = QS.L(I); PRODUCT("KLRATIO",I,T) = K.L(I)/LD.L(I) ; PRODUCT("PROFITS",I,T) = P.L(I)*QS.L(I)-W.L*LD.L(I) ; PRODUCT("PROFITRATE",I,T) = RK(I); HOUSE("INCOME",HH,T) = Y.L(HH); HOUSE("UTILITY",HH,T) = V.L(HH); HOUSE("WLFREWGHTS",HH,T) = IG.L(HH) ; QDT(I,HH,T) = QD.L(I,HH); *##EQUATION DEFINITIONS EQUATION INDEX PRICE NORMALIZATION RULE PRICE DOMESTIC PRICES PRODUCTION SUPPLY OF GOODS LABOR DEMAND FOR LABOR LMEQL LABOR MARKET EQUILIBRIUM WINC WORKER HOUSEHOLD INCOME KINC CAPITALIST HOUSEHOLD INCOME UTILW WORKER-HOUSEHOLD INDIRECT UTILITY FUNCTION UTILK CAPITALIST-HOUSEHOLD INDIRECT UTILITY FUNCTION DEMANDA HOUSEHOLD DEMAND FOR A GOOD DEMANDN HOUSEHOLD DEMAND FOR N GOOD EXPORT EXCESS SUPPLY IMPORT EXCESS DEMAND * TRDBAL TRADE BALANCE (omitted!!!, by way of Walras'Law) OBJ OBJECTIVE FUNCTION (TOTAL SOCIAL WELFARE) ; *##EQUATION SPECIFICATIONS INDEX.. SUM(I, P(I)*0.5) =E= PINDEX; PRICE(I).. P(I) =E= PW(I)*ER ; PRODUCTION(I).. QS(I) =E= AD(I) * ( ALFA(I)*K(I)**(-RHO(I)) + (1-ALFA(I))*LD(I)**(-RHO(I)) )**(-1/RHO(I)) ; LABOR(I).. LD(I) =E= ( (P(I)/W)*(1-ALFA(I))*AD(I)**(-RHO(I)) ) **SIGP(I)*QS(I) ; LMEQL.. SUM(I, LD(I) ) =E= SUM(HH, LSTAR(HH)) ; WINC.. Y("WHH") =E= SUM(I, W*LD(I)); KINC.. Y("KHH") =E= SUM(I, P(I)*QS(I)-W*LD(I) ) ; UTILW.. V("WHH") =E= PROD(I, QD(I,"WHH")**CLES(I,"WHH")) ; UTILK.. V("KHH") =E= PROD(I, QD(I,"KHH")**CLES(I,"KHH")) ; DEMANDA(HH).. P("A")*QD("A",HH) =E= CLES("A",HH)*Y(HH) ; DEMANDN(HH).. P("N")*QD("N",HH) =E= CLES("N",HH)*Y(HH) ; EXPORT.. QX =E= QS("N") - SUM(HH, QD("N",HH) ) ; IMPORT.. QM =E= SUM(HH, QD("A",HH) ) - QS("A") ; *TRDBAL.. PW("N")*QX =E= PW("A")*QM ; OBJ.. OMEGA =E= SUM(HH,IG(HH)*V(HH) ) ; *##VARIABLE BOUNDS TO IMPROVE SOLUTION ALGORITHM W.LO = 0.001; P.LO(I) = 0.001; *##MODEL RESTRICTIONS *CAPITAL IS SECTOR SPECIFIC K.FX(I) = K.L(I) ; *HOUSEHOLDS HAVE NO CONTROL OVER SOCIAL WELFARE WEIGHTS IG.FX(HH) = IG.L(HH) ; *##PRICE NORMALIZATION *CHOOSE ONE OF THE FOLLOWING AS NUMERAIRE * PINDEX.FX = PINDEX.L; ER.FX = ER.L ; * P.FX("N")= P.L("N") ; *##MODEL DEFINITION MODEL GENEQM OPEN ECONOMY GENERAL EQUILIBRIUM MODEL /ALL/ ; OPTIONS 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 AT TIME 1 T(TP) = NO; T("1") = YES ; RK(I) = (P.L(I)*QS.L(I)-W.L*LD.L(I)) / K.L(I) ; SCALRES("WAGERATE",T) = W.L ; SCALRES("EXPORTS",T) = QX.L; SCALRES("IMPORTS",T) = QM.L; SCALRES("SOCWELFARE",T) = OMEGA.L; SCALRES("RELATIVEPR",T) = P.L("A")/P.L("N") ; SCALRES("EXCRATE",T) = ER.L ; PRODUCT("DOMPRICE",I,T) = P.L(I); PRODUCT("WRLDPRICE",I,T)= PW(I) ; PRODUCT("LABDEMAND",I,T) = LD.L(I); PRODUCT("CAPITAL",I,T) = K.L(I); PRODUCT("OUTPUT",I,T) = QS.L(I); PRODUCT("KLRATIO",I,T) = K.L(I)/LD.L(I) ; PRODUCT("PROFITS",I,T) = P.L(I)*QS.L(I)-W.L*LD.L(I) ; PRODUCT("PROFITRATE",I,T) = RK(I); HOUSE("INCOME",HH,T) = Y.L(HH); HOUSE("UTILITY",HH,T) = V.L(HH); HOUSE("WLFREWGHTS",HH,T) = IG.L(HH) ; QDT(I,HH,T) = QD.L(I,HH); *##CONTINUE WITH ADJUSTMENTS ON CAPITAL STOCKS SCALAR DK CAPITAL ADJUSTMENT FROM K("N") TO K("A") ED ELASTICITY OF CAPITAL ADJUSTMENT /5.00/ ; SET TT(TP) TIME PERIODS FOR DYNAMICS /2*50/ ; *##EXPERIMENT: ILLUSTRATE SAMUELSON-STOLPER THEOREM PW("A") = 1.01*PW("A") ; *Begin Loop LOOP (TT, SOLVE GENEQM MAXIMIZING OMEGA USING NLP; T(TP) = NO; T(TT) = YES ; RK(I) = (P.L(I)*QS.L(I)-W.L*LD.L(I)) / K.L(I) ; DK = ED*(1 - RK("N")/RK("A")) * K.L("N") ; SCALRES("WAGERATE",T) = W.L ; SCALRES("EXPORTS",T) = QX.L; SCALRES("IMPORTS",T) = QM.L; SCALRES("SOCWELFARE",T) = OMEGA.L; SCALRES("RELATIVEPR",T) = P.L("A")/P.L("N") ; SCALRES("EXCRATE",T) = ER.L ; PRODUCT("DOMPRICE",I,T) = P.L(I); PRODUCT("WRLDPRICE",I,T)= PW(I) ; PRODUCT("LABDEMAND",I,T) = LD.L(I); PRODUCT("CAPITAL",I,T) = K.L(I); PRODUCT("OUTPUT",I,T) = QS.L(I); PRODUCT("KLRATIO",I,T) = K.L(I)/LD.L(I) ; PRODUCT("PROFITS",I,T) = P.L(I)*QS.L(I)-W.L*LD.L(I) ; PRODUCT("PROFITRATE",I,T) = RK(I); HOUSE("INCOME",HH,T) = Y.L(HH); HOUSE("UTILITY",HH,T) = V.L(HH); HOUSE("WLFREWGHTS",HH,T) = IG.L(HH) ; QDT(I,HH,T) = QD.L(I,HH); DISPLAY $(ABS(RK("N")-RK("A")) LT 0.0005) SCALRES, PRODUCT, HOUSE, QDT ; ABORT $(ABS(RK("N")-RK("A")) LT 0.0005) "RENTAL RATES ARE EQUALIZED WITHIN TOLERANCE" ; *ADJUST CAPITAL STOCKS IN RESPONSE TO RENTAL RATE DIFFERENTIALS K.FX("A") = K.L("A") + DK; K.FX("N") = K.L("N") - DK; *#End of LOOP ); DISPLAY SCALRES, PRODUCT, HOUSE, QDT ; *##*##*##**END OF PROGRAM*##*##*##*##**