Josefina Martinez
Department of Economics
University of Colorado
$TITLE Model M1_7S: Closed 2x2 Economy with an Unprofitable Activity $ontext Production Sectors Consumers Markets | X Y W | CONS ------------------------------------------------------ PX | 100 -100 | PY | 100 -100 | PW | 200 | -200 PL | -40 -60 | 100 PK | -60 -40 | 100 ------------------------------------------------------ Activity Z is unprofitable at initial equilibrium prices. It is therefore not operated, and we cannot infer its technical properties from the benchmark social accounting data. In situations like this, we must use other information such as engineering cost estimates to specify the unobserved technology. Here, we will assume that Z is very similar to sector X but roughly 10% less efficient. (Can you guess how this will affect the excess burden of a tax on sector X?) $offtext * Declare GAMS parameters which we will use in model: SCALAR TX Ad-valorem TAX rate for X sector inputs /0/; $ONTEXT $MODEL:M1_7S $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y W ! Activity level for sector W (Hicksian welfare index) Z ! Alternative activity for producing X. $COMMODITIES: PX ! Price index for commodity X PY ! Price index for commodity Y PL ! Price index for primary factor L PK ! Price index for primary factor K PW ! Price index for welfare (expenditure function) $CONSUMERS: CONS ! Income level for consumer CONS $PROD:X s:1 O:PX Q:100 I:PL Q: 40 A:CONS T:TX I:PK Q: 60 A:CONS T:TX $PROD:Y s:1 O:PY Q:100 I:PL Q:60 I:PK Q:40 * Note that at the benchmark (when all prices equal unity), the * cost of Z inputs equals 1.1 and the value of outputs equals 1.0. * An economic equilibrium prevails provided that this sector is * idle: $PROD:Z s:1 O:PX Q: 1.00 I:PL Q: 0.44 I:PK Q: 0.66 $PROD:W s:1 O:PW Q:200 I:PX Q:100 I:PY Q:100 $DEMAND:CONS D:PW Q:200 E:PL Q:100 E:PK Q:100 $OFFTEXT $SYSINCLUDE mpsgeset M1_7S * Check the benchmark calibration --- after setting the activity * level for Z equal to 0: Z.L = 0; M1_7S.ITERLIM = 0; $INCLUDE M1_7S.GEN SOLVE M1_7S USINCP MCP; M1_7S.ITERLIM = 2000; * Lets levy a high TAX on sector X and see what happens: TX = 1.00; $INCLUDE M1_7S.GEN SOLVE M1_7S USINCP MCP; *----------------------------------------------------------------------- * EXERCISE (1): Plot the Laffer curve for TX in this model. * Compare your results with the curve from a model in which * sector Z does not exist. * Omit activity Z: Z.FX=0; * Plot Laffer Curve (relationship between TAX rate and TAX revenue): SET SC Scenarios /SC1*SC4/; PARAMETER TXVALUE(SC) Value of TX by scenario /SC1 0.1, SC2 0.2, SC3 0.5, SC4 1.0/ TAX_REV(SC,*) TAX revenue by scenario; LOOP(SC, * Install a TAX rate for the current scenario: TX = TXVALUE(SC); $INCLUDE M1_7S.GEN SOLVE M1_7S USING MCP; * Extract solution value of TAX revenue. Since taxes are * accrued to the consumer, Gov revenue is the difference * between total income and factor incomes: TAX_REV(SC, "NO_Z") = CONS.L - PL.L*100 - PK.L*100; ); * Include activity Z in the model: Z.LO = 0; Z.UP = +INF; LOOP(SC, * Install a TAX rate for the current scenario: TX = TXVALUE(SC); $INCLUDE M1_7S.GEN SOLVE M1_7S USING MCP; * Extract solution value of TAX revenue: TAX_REV(SC, "Z") = CONS.L - PL.L*100 - PK.L*100; ); DISPLAY TAX_REV; *---------------------------------------------------------------------------- * EXERCISE (2). Compare results with a third model in which * sectoral capital stocks are differentiated (replace PK by PKX * and PKY). Do the same comparison plotting welfare cost versus TX. $ONTEXT $MODEL:SSPECIF $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y W ! Activity level for sector W (Hicksian welfare index) Z ! Alternative activity for producing X. $COMMODITIES: PX ! Price index for commodity X PY ! Price index for commodity Y PL ! Price index for primary factor L PKX ! Price index for primary factor K used in sector X PKY ! Price index for primary factor K used in sector Y PW ! Price index for welfare (expenditure function) $CONSUMERS: CONS ! Income level for consumer CONS $PROD:X s:1 O:PX Q:100 I:PL Q: 40 A:CONS T:TX I:PKX Q: 60 A:CONS T:TX $PROD:Y s:1 O:PY Q:100 I:PL Q:60 I:PKY Q:40 $PROD:Z s:1 O:PX Q: 1 I:PL Q: 0.44 I:PKX Q: 0.66 $PROD:W s:1 O:PW Q:200 I:PX Q:100 I:PY Q:100 $DEMAND:CONS D:PW Q:200 E:PL Q:100 E:PKX Q:60 E:PKY Q:40 $OFFTEXT $SYSINCLUDE mpsgeset SSPECIF * Check the benchmark calibration --- after setting the activity * level for Z equal to 0: TX = 0; Z.L = 0; SSPECIF.ITERLIM = 0; $INCLUDE SSPECIF.GEN SOLVE SSPECIF USINCP MCP; SSPECIF.ITERLIM = 2000; * Lets levy a high TAX on sector X and see what happens: TX = 1.00; $INCLUDE SSPECIF.GEN SOLVE SSPECIF USINCP MCP; *----------------------------------------------------------------------- * Omit from the model activity Z: Z.FX=0; * Plot Laffer Curve: LOOP(SC, * Install a TAX rate for the current scenario: TX = TXVALUE(SC); $INCLUDE SSPECIF.GEN SOLVE SSPECIF USING MCP; * Extract solution value of TAX revenue: TAX_REV(SC, "SSNO_Z") = CONS.L - PL.L*100 - PKX.L*60 - PKY.L*40; ); * Include activity Z in the model: Z.LO = 0; Z.UP = +INF; LOOP(SC, * Install a TAX rate for the current scenario: TX = TXVALUE(SC); $INCLUDE SSPECIF.GEN SOLVE SSPECIF USING MCP; * Extract solution value of TAX revenue: TAX_REV(SC, "SS_Z") = CONS.L - PL.L*100 - PKX.L*60 - PKY.L*40; ); DISPLAY TAX_REV;The solution listing appears as follows:
S O L V E S U M M A R Y MODEL M1_7S Default price normalization using income for CONS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR W . 1.000 +INF . ---- VAR Z . . +INF 0.100 ---- VAR PX . 1.000 +INF . ---- VAR PY . 1.000 +INF . ---- VAR PL . 1.000 +INF . ---- VAR PK . 1.000 +INF . ---- VAR PW . 1.000 +INF . ---- VAR CONS . 200.000 +INF . X Activity level for sector X Y Activity level for sector Y W Activity level for sector W (Hicksian welfare index) Z Alternative activity for producing X. PX Price index for commodity X PY Price index for commodity Y PL Price index for primary factor L PK Price index for primary factor K PW Price index for welfare (expenditure function) CONS Income level for consumer CONSCounterfactual model: 100% tax on X sector inputs
S O L V E S U M M A R Y MODEL M1_7S Default price normalization using income for CONS LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 135.000 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.650 +INF . ---- VAR PY . 1.500 +INF . ---- VAR PL . 1.500 +INF . ---- VAR PK . 1.500 +INF . ---- VAR PW . 1.573 +INF . ---- VAR CONS . 300.000 +INF .EXERCISE (1). Plot the Laffer curve for TX -- Sector Z does not exist.
TX = 0.10
L O O P S SC SC1 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.954 +INF . ---- VAR Y . 1.046 +INF . ---- VAR W . 0.999 +INF . ---- VAR Z . . . EPS ---- VAR PX . 1.572 +INF . ---- VAR PY . 1.434 +INF . ---- VAR PL . 1.445 +INF . ---- VAR PK . 1.418 +INF . ---- VAR PW . 1.502 +INF . ---- VAR CONS . 300.000 +INF .TX = 0.20
L O O P S SC SC2 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.913 +INF . ---- VAR Y . 1.087 +INF . ---- VAR W . 0.996 +INF . ---- VAR Z . . . EPS ---- VAR PX . 1.718 +INF . ---- VAR PY . 1.442 +INF . ---- VAR PL . 1.464 +INF . ---- VAR PK . 1.411 +INF . ---- VAR PW . 1.574 +INF . ---- VAR CONS . 313.636 +INF .TX = 0.50
L O O P S SC SC3 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.807 +INF . ---- VAR Y . 1.191 +INF . ---- VAR W . 0.981 +INF . ---- VAR Z . . . EPS ---- VAR PX . 2.186 +INF . ---- VAR PY . 1.481 +INF . ---- VAR PL . 1.529 +INF . ---- VAR PK . 1.411 +INF . ---- VAR PW . 1.799 +INF . ---- VAR CONS . 352.841 +INF .TX = 1.00
L O O P S SC SC4 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.677 +INF . ---- VAR Y . 1.319 +INF . ---- VAR W . 0.945 +INF . ---- VAR Z . . . EPS ---- VAR PX . 3.040 +INF . ---- VAR PY . 1.561 +INF . ---- VAR PL . 1.647 +INF . ---- VAR PK . 1.441 +INF . ---- VAR PW . 2.178 +INF . ---- VAR CONS . 411.648 +INF .EXERCISE (1). Plot the Laffer curve for TX -- Sector Z exists.
TX = 0.10
L O O P S SC SC1 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.954 +INF . ---- VAR Y . 1.046 +INF . ---- VAR W . 0.999 +INF . ---- VAR Z . . +INF -4.44E-16 ---- VAR PX . 1.672 +INF . ---- VAR PY . 1.525 +INF . ---- VAR PL . 1.537 +INF . ---- VAR PK . 1.508 +INF . ---- VAR PW . 1.597 +INF . ---- VAR CONS . 319.027 +INF .TX = 0.20
L O O P S SC SC2 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- EQU DUMMY01 . 434.977 . . DUMMY01 Artificial equation for model: M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 16.676 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.834 +INF . ---- VAR PY . 1.668 +INF . ---- VAR PL . 1.668 +INF . ---- VAR PK . 1.668 +INF . ---- VAR PW . 1.749 +INF . ---- VAR CONS . 333.528 +INF .TX = 0.50
L O O P S SC SC3 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 66.706 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.834 +INF . ---- VAR PY . 1.668 +INF . ---- VAR PL . 1.668 +INF . ---- VAR PK . 1.668 +INF . ---- VAR PW . 1.749 +INF . ---- VAR CONS . 333.528 +INF .TX = 1.00
L O O P S SC SC4 MODEL M1_7S LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 150.088 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.834 +INF . ---- VAR PY . 1.668 +INF . ---- VAR PL . 1.668 +INF . ---- VAR PK . 1.668 +INF . ---- VAR PW . 1.749 +INF . ---- VAR CONS . 333.528 +INF . E x e c u t i o n ---- 783 PARAMETER TAX_REV TAX revenue by scenario NO_Z Z SC1 13.636 14.501 SC2 26.136 1.139819E-6 SC3 58.807 SC4 102.912EXERCISE (2). Sectoral capital stocks are differentiated
S O L V E S U M M A R Y MODEL SSPECIF Default price normalization using income for CONS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR W . 1.000 +INF . ---- VAR Z . . +INF 0.100 ---- VAR PX . 1.000 +INF . ---- VAR PY . 1.000 +INF . ---- VAR PL . 1.000 +INF . ---- VAR PW . 1.000 +INF . ---- VAR CONS . 200.000 +INF . ---- VAR PKX . 1.000 +INF . ---- VAR PKY . 1.000 +INF .Counterfactual model: 100% tax on X sector inputs
S O L V E S U M M A R Y MODEL SSPECIF Default price normalization using income for CONS LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 135.000 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.650 +INF . ---- VAR PY . 1.500 +INF . ---- VAR PL . 1.500 +INF . ---- VAR PW . 1.573 +INF . ---- VAR CONS . 300.000 +INF . ---- VAR PKX . 1.500 +INF . ---- VAR PKY . 1.500 +INF .Plot Laffer curve -- Sector Z does not exist
TX = 0.10
L O O P S SC SC1 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.977 +INF . ---- VAR Y . 1.022 +INF . ---- VAR W . 0.999 +INF . ---- VAR Z . . . EPS ---- VAR PX . 1.535 +INF . ---- VAR PY . 1.467 +INF . ---- VAR PL . 1.445 +INF . ---- VAR PW . 1.501 +INF . ---- VAR CONS . 300.000 +INF . ---- VAR PKX . 1.364 +INF . ---- VAR PKY . 1.500 +INF .TX = 0.20
L O O P S SC SC2 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.956 +INF . ---- VAR Y . 1.042 +INF . ---- VAR W . 0.998 +INF . ---- VAR Z . . . EPS ---- VAR PX . 1.641 +INF . ---- VAR PY . 1.505 +INF . ---- VAR PL . 1.464 +INF . ---- VAR PW . 1.571 +INF . ---- VAR CONS . 313.636 +INF . ---- VAR PKX . 1.307 +INF . ---- VAR PKY . 1.568 +INF .TX = 0.50
L O O P S SC SC3 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.900 +INF . ---- VAR Y . 1.090 +INF . ---- VAR W . 0.991 +INF . ---- VAR Z . . . EPS ---- VAR PX . 1.959 +INF . ---- VAR PY . 1.619 +INF . ---- VAR PL . 1.529 +INF . ---- VAR PW . 1.781 +INF . ---- VAR CONS . 352.841 +INF . ---- VAR PKX . 1.176 +INF . ---- VAR PKY . 1.764 +INF .TX = 1.00
L O O P S SC SC4 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.829 +INF . ---- VAR Y . 1.143 +INF . ---- VAR W . 0.973 +INF . ---- VAR Z . . . EPS ---- VAR PX . 2.484 +INF . ---- VAR PY . 1.800 +INF . ---- VAR PL . 1.647 +INF . ---- VAR PW . 2.115 +INF . ---- VAR CONS . 411.648 +INF . ---- VAR PKX . 1.029 +INF . ---- VAR PKY . 2.058 +INF .Plot Laffer curve -- Sector Z exists
TX = 0.10
L O O P S SC SC1 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.977 +INF . ---- VAR Y . 1.022 +INF . ---- VAR W . 0.999 +INF . ---- VAR Z . . +INF 4.441E-16 ---- VAR PX . 1.633 +INF . ---- VAR PY . 1.560 +INF . ---- VAR PL . 1.537 +INF . ---- VAR PW . 1.596 +INF . ---- VAR CONS . 319.027 +INF . ---- VAR PKX . 1.450 +INF . ---- VAR PKY . 1.595 +INF .TX = 0.20
L O O P S SC SC2 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 16.676 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.834 +INF . ---- VAR PY . 1.668 +INF . ---- VAR PL . 1.668 +INF . ---- VAR PW . 1.749 +INF . ---- VAR CONS . 333.528 +INF . ---- VAR PKX . 1.668 +INF . ---- VAR PKY . 1.668 +INF .TX = 0.50
L O O P S SC SC3 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 66.706 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.834 +INF . ---- VAR PY . 1.668 +INF . ---- VAR PL . 1.668 +INF . ---- VAR PW . 1.749 +INF . ---- VAR CONS . 333.528 +INF . ---- VAR PKX . 1.668 +INF . ---- VAR PKY . 1.668 +INF .TX = 1.00
L O O P S SC SC4 MODEL SSPECIF LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 150.088 ---- VAR Y . 1.000 +INF . ---- VAR W . 0.953 +INF . ---- VAR Z . 90.909 +INF . ---- VAR PX . 1.834 +INF . ---- VAR PY . 1.668 +INF . ---- VAR PL . 1.668 +INF . ---- VAR PW . 1.749 +INF . ---- VAR CONS . 333.528 +INF . ---- VAR PKX . 1.668 +INF . ---- VAR PKY . 1.668 +INF . E x e c u t i o n ---- 1551 PARAMETER TAX_REV TAX revenue by scenario NO_Z Z SSNO_Z SS_Z SC1 13.636 14.501 13.636 14.501 SC2 26.136 1.139819E-6 26.136 2.065635E-6 SC3 58.807 58.807 -1.4211E-14 SC4 102.912 102.912 -1.4211E-14