Josefina Martinez
Department of Economics
University of Colorado
$TITLE Model M1_4S: Close 2x2 economy with labor-leisure choice $ontext In this model, the consumer is endowed with 200 units of time. In the benchmark equilibrium, 100 units of time are provided to the market and 100 units are "purchased" by the consumer. This formulation provides an elastic labor supply. Production Sectors Consumers Markets | X Y W | CONS ------------------------------------------------------ PX | 100 -100 | PY | 100 -100 | PW | 300 | -300 PL | -40 -60 -100 | 200 PK | -60 -40 | 100 ------------------------------------------------------ $offtext * GAMS parameters which we will use in model specification: SCALAR TX Ad-valorem tax rate for X sector inputs /0/, ESUBL Elasticity of substitution for leisure vs. consumption /0.5/; $ONTEXT $MODEL: M1_4S $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y W ! Activity level for sector W (Hicksian welfare index) $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 $PROD:W s:ESUBL a:1 O:PW Q:300 I:PX Q:100 a: I:PY Q:100 a: I:PL Q:100 $DEMAND:CONS D:PW Q:300 E:PL Q:200 E:PK Q:100 $OFFTEXT $SYSINCLUDE mpsgeset M1_4S * Replicate the benchmark: M1_4S.ITERLIM = 0; $INCLUDE M1_4S.GEN SOLVE M1_4S USING MCP; M1_4S.ITERLIM = 2000; * Solve a counterfactual: 100% tax on X: TX = 1; $INCLUDE M1_4S.GEN SOLVE M1_4S USING MCP; *---------------------------------------------------------------------- * EXERCISE (1). Derive an analytic expression for the elasticity * of labor supply as a function of ESUBL and the benchmark value * shares. Determine values of ESUBL consistent with labor supply * elasticities equal to -0.10, 0, 0.10 and 0.20. * Use alternative formulation with "Labor Supply" as a sector: $TITLE Model M1_4AS: Closed 2x2 economy with labor-leisure (alt. formulation) $ontext Activity T transforms leisure into labor supply: Production Sectors Consumers Markets | A B W T | CONS --------------------------------------------------------- PX | 80 20 -100 | PY | 20 80 -100 | PW | 300 | -300 PLS | -40 -60 100 | PL | -100 -100 | 200 PK | -60 -40 | 100 --------------------------------------------------------- $offtext * GAMS parameters which we will use in model specification. * (TX and ESUBL were declared in the previous model): SCALAR LS0 Reference labor supply /100/; $ONTEXT $MODEL:M1_4AS $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y T ! Labor supply $COMMODITIES: PX ! Price index for commodity X PY ! Price index for commodity Y PL ! Price index for leisure PLS ! Price index for labor supply (factor L input) PK ! Price index for primary factor K $CONSUMERS: CONS ! Income level for consumer CONS $PROD:X s:1 O:PX Q:100 I:PLS Q:40 A:CONS T:TX I:PK Q:60 A:CONS T:TX $PROD:Y s:1 O:PY Q:100 I:PLS Q:60 I:PK Q:40 $PROD:T O:PLS I:PL $DEMAND:CONS s:ESUBL con:1 D:PX Q:100 con: D:PY Q:100 con: D:PL Q:100 E:PL Q:200 E:PK Q:100 * Recover a Hicksian welfare index (to be used in exercise 2): $REPORT: V:WELF W:CONS $OFFTEXT $SYSINCLUDE mpsgeset M1_4AS * Replicate the benchmark (initialize value of labor supply): T.L = LS0; TX = 0; M1_4AS.ITERLIM = 0; $INCLUDE M1_4AS.GEN SOLVE M1_4AS USING MCP; *------------------------------------------------------------------------- * Analytical expression of labor supply elasticity: $ontext The algebraic derivation of the uncompensated labor supply elasticity from a nested CES utility function (like the specified in the block $DEMAND:CONS), gives the following formulae: ETA = (LEIS/LSUP) * {ESUBL - (ESUBL - 1)*Shl - LEND*PL/M} Where: ETA = Uncompensated labor supply elasticity LEIS = Demand for leisure LS0 = Supply of labor ESUBL= Compensated labor supply elasticity Shl = Value share of leisure in consumption LEND = Labor endowment PL = Price of labor M = Total income of consumer Solving for ESUBL: ESUBL = {(LSUP/LEIS)*ETA + LEND*PL/M - Shl} / (1 - Shl) To CHECK THE LABOR SUPPLY ELASTICITY (ELS), we follow the procedure presented in the paper "CES functions: Some Hints and Formulae", pp. 19 in www.gams.com/solvers/mpsge: "Compute induced changes in labor supply using the labor market marginal', PL.M. This marginal returns the net excess supply of labor at the given prices. We started from a balanced benchmark, with no change in labor demand (with iteration limit equal to zero). Hence, PL.M returns the magnitude of the change in labor supply. We multiply by the benchmark wage (1) and divide by the benchmark labor supply (LS0) to produce a finite difference approximation of the elasticity." The ELS can be written as: ELS = PL.M / (PL.L - 1) * (1 / LS0) $offtext * Introduce a change in the price of labor: PL.L = 1.001; * Compute the compensated labor supply elasticity. At * benchmark PL = 1, LEIS = 100, LEND = 200, M = 300. Hence we * can write the compensated labor supply elasticity as: * ESUBL = (ETA + (2/3) - (1/3)) / (2/3) SET SC Scenarios /SC1* SC4/; PARAMETER ESVAL(SC) Values of ESUBL by scenario ETA(SC) Uncompensated labor supply elasticity by scenario /SC1 -0.10, SC2 0, SC3 0.10, SC4 0.20/ ELS(SC) Calibrated labor supply elasticity; LOOP(SC, * Install a tax rate for the current scenario: ESVAL(SC) = (ETA(SC) + (2/3) - (1/3)) / (2/3); ESUBL = ESVAL(SC); $INCLUDE M1_4AS.GEN SOLVE M1_4AS USING MCP; * Check the labor supply elasticity: ELS(SC) = PL.M / (PL.L - 1) * (1/LS0); ); OPTION DECIMALS = 2; DISPLAY ESVAL, ELS; M1_4AS.ITERLIM = 2000; *------------------------------------------------------------------------ * EXERCISE (2): Plot excess burden versus the price elasticity * of labor supply over the range -0.10 to 0.20. * Note that in a model where tax revenues are accrued to the * consumer, the excess burden of taxation is the change in the * Hicksian welfare index * Tax on sector X inputs: TX = 1; * Compute excess burden: PARAMETER EX_BURDEN(SC) % excess burden by scenario; LOOP(SC, * Install a ESUBL for the current scenario: ESVAL(SC) = ETA(SC)*(3/2) + (1/2); ESUBL = ESVAL(SC); $INCLUDE M1_4AS.GEN SOLVE M1_4AS USING MCP; * Compute excess burden (the negative of welfare index change): EX_BURDEN(SC) = (WELF.L - 1) * 100; ); DISPLAY ESVAL, ETA, EX_BURDEN;The solution listing appears as follows:
S O L V E S U M M A R Y MODEL M1_4S 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 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 . 300.000 +INF . X Activity level for sector X Y Activity level for sector Y W Activity level for sector W (Hicksian welfare index) 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_4S Default price normalization using income for CONS LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.664 +INF . ---- VAR Y . 1.280 +INF . ---- VAR W . 0.960 +INF . ---- VAR PX . 2.092 +INF . ---- VAR PY . 1.085 +INF . ---- VAR PL . 1.167 +INF . ---- VAR PK . 0.972 +INF . ---- VAR PW . 1.388 +INF . ---- VAR CONS . 400.000 +INF .ALTERNATIVE FORMULATION: Activity "T" transforms leisure into labor supply.
S O L V E S U M M A R Y MODEL M1_4AS Default price normalization using income for CONS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR PX . 1.000 +INF . ---- VAR PY . 1.000 +INF . ---- VAR PL . 1.000 +INF . ---- VAR PK . 1.000 +INF . ---- VAR CONS . 300.000 +INF . ---- VAR T . 100.000 +INF . ---- VAR PLS . 1.000 +INF . ---- VAR WELF . 1.000 +INF .EXERCISE (1). Determine values of ESUBL for a given value of ETA
L O O P S SC SC1 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR PX . 1.000 +INF -0.045 ---- VAR PY . 1.000 +INF -0.045 ---- VAR PL . 1.001 +INF -0.010 ---- VAR PK . 1.000 +INF . ---- VAR CONS . 300.200 +INF . ---- VAR T . 100.000 +INF 0.001 ---- VAR PLS . 1.000 +INF . ---- VAR WELF . 1.000 +INF . L O O P S SC SC2 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR PX . 1.000 +INF -0.050 ---- VAR PY . 1.000 +INF -0.050 ---- VAR PL . 1.001 +INF -8.324E-6 ---- VAR PK . 1.000 +INF . ---- VAR CONS . 300.200 +INF . ---- VAR T . 100.000 +INF 0.001 ---- VAR PLS . 1.000 +INF . ---- VAR WELF . 1.000 +INF . L O O P S SC SC3 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR PX . 1.000 +INF -0.055 ---- VAR PY . 1.000 +INF -0.055 ---- VAR PL . 1.001 +INF 0.010 ---- VAR PK . 1.000 +INF . ---- VAR CONS . 300.200 +INF . ---- VAR T . 100.000 +INF 0.001 ---- VAR PLS . 1.000 +INF . ---- VAR WELF . 1.000 +INF . L O O P S SC SC4 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR PX . 1.000 +INF -0.060 ---- VAR PY . 1.000 +INF -0.060 ---- VAR PL . 1.001 +INF 0.020 ---- VAR PK . 1.000 +INF . ---- VAR CONS . 300.200 +INF . ---- VAR T . 100.000 +INF 0.001 ---- VAR PLS . 1.000 +INF . ---- VAR WELF . 1.000 +INF . E x e c u t i o n ---- 973 PARAMETER ESVAL Values of ESUBL by scenario SC1 0.35, SC2 0.50, SC3 0.65, SC4 0.80 ---- 973 PARAMETER ELS Calibrated labor supply elasticity SC1 -0.10, SC2 -8.32362E-5, SC3 0.10, SC4 0.20EXERCISE (2). Plot Excess burden:
L O O P S SC SC1 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.670 +INF . ---- VAR Y . 1.299 +INF . ---- VAR PX . 2.102 +INF . ---- VAR PY . 1.085 +INF . ---- VAR PL . 1.156 +INF . ---- VAR PK . 0.986 +INF . ---- VAR CONS . 400.200 +INF . ---- VAR T . 97.531 +INF . ---- VAR PLS . 1.156 +INF . ---- VAR WELF . 0.961 +INF . L O O P S SC SC2 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.664 +INF . ---- VAR Y . 1.280 +INF . ---- VAR PX . 2.093 +INF . ---- VAR PY . 1.085 +INF . ---- VAR PL . 1.167 +INF . ---- VAR PK . 0.973 +INF . ---- VAR CONS . 400.200 +INF . ---- VAR T . 95.231 +INF . ---- VAR PLS . 1.167 +INF . ---- VAR WELF . 0.960 +INF . L O O P S SC SC3 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.658 +INF . ---- VAR Y . 1.263 +INF . ---- VAR PX . 2.084 +INF . ---- VAR PY . 1.085 +INF . ---- VAR PL . 1.178 +INF . ---- VAR PK . 0.960 +INF . ---- VAR CONS . 400.200 +INF . ---- VAR T . 93.127 +INF . ---- VAR PLS . 1.178 +INF . ---- VAR WELF . 0.960 +INF . L O O P S SC SC4 MODEL M1_4AS LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.653 +INF . ---- VAR Y . 1.248 +INF . ---- VAR PX . 2.076 +INF . ---- VAR PY . 1.086 +INF . ---- VAR PL . 1.188 +INF . ---- VAR PK . 0.948 +INF . ---- VAR CONS . 400.200 +INF . ---- VAR T . 91.203 +INF . ---- VAR PLS . 1.188 +INF . ---- VAR WELF . 0.960 +INF . E x e c u t i o n ---- 1119 PARAMETER ESVAL Values of ESUBL by scenario SC1 0.35, SC2 0.50, SC3 0.65, SC4 0.80 ---- 1119 PARAMETER ETA Uncompensated labor supply elasticity by scenario SC1 -0.10, SC3 0.10, SC4 0.20 ---- 1119 PARAMETER EX_BURDEN % excess burden by scenario SC1 -3.90, SC2 -3.95, SC3 -4.00, SC4 -4.05