$TITLE: M7-2.GMS: Monopoly with fixed costs $ONTEXT Production Sectors Consumers Markets | C FC Y W | CONS ENTR -------------------------------------------------------------- PX | 100 -100 | PY | 100 -100 | PFC | 20 | -20 PW | 200 | -200 PL | -80 -20 -100 | 200 MK | -20 | 20 $OFFTEXT PARAMETERS SIGMA SIGMA: elasticity of substitution among varieties FC parameter setting the level of fixed costs ENDOWL endowment of MKT_Lor INCOMEM monopoly profit share (markup revenues - fixed costs) INCOMEC income share of the "the people" or MKT_Lor income MODELSTAT statistic indicating model solved: 0 = solved; SIGMA = 9; FC = 20; ENDOWL = 200; POSITIVE VARIABLES X Activity level for X (output per firm) Y Activity level of Y output W Activity level for welfare PX Price of an individual X variety PY Price of Y PW Price index for utility (consumer price index) PL Price of MKT_Lor CONS Income of the representative consumer SHAREX Share of X in consumption (value share) MARKUP Markup; EQUATIONS PRICEX MR = MC in X (associated with X output per firm) PRICEY Zero profit condition for Y (PY = MC) PRICEW Zero profit condition for W (PW = MC of utility) MKT_X Supply-demand balance for X (individual variety) MKT_Y Supply-demand balance for Y MKT_W Supply-demand balance for utility W (welfare) MKT_L Supply-demand balance for MKT_Lor INCOME National income SHX Share of X in expenditure MK Markup equation; PRICEX.. 80*PL =G= 100*PX*(1-MARKUP); PRICEY.. 100*PL =G= 100*PY; PRICEW.. (PX**(1-SIGMA) + PY**(1-SIGMA))**(1/(1-SIGMA)) =G= PW; MKT_X.. X*100 =G= PX**(-SIGMA)*(PW**(SIGMA-1))*CONS; MKT_Y.. Y*100 =G= PY**(-SIGMA)*(PW**(SIGMA-1))*CONS; MKT_W.. 200*W =G= CONS/PW; MKT_L.. ENDOWL =E= Y*100 + X*80 + FC; INCOME.. CONS =E= PL*ENDOWL + (100*PX*X*MARKUP - PL*FC); SHX.. SHAREX =E= 100*PX*X / (100*PX*X + 100*PY*Y) ; MK.. MARKUP =E= 1/(SIGMA - (SIGMA-1)*SHAREX); MODEL MONOPOLY /PRICEX.X, PRICEY.Y, PRICEW.W, MKT_X.PX, MKT_Y.PY, MKT_W.PW, MKT_L.PL, INCOME.CONS, SHX.SHAREX, MK.MARKUP/; OPTION MCP=PATH; * set benchmark values: X.L = 1; Y.L = 1; W.L = 1; PX.L = 1; PY.L = 1; PL.L = 1; PW.L = 1; CONS.L = 200; SHAREX.L = 0.5; MARKUP.L = 0.20; * choose the price of good Y as numeraire PY.FX = 1; * check for calibration and starting-value errors MONOPOLY.ITERLIM = 0; SOLVE MONOPOLY USING MCP; MONOPOLY.ITERLIM = 1000; SOLVE MONOPOLY USING MCP; MODELSTAT = MONOPOLY.MODELSTAT - 1.; DISPLAY MODELSTAT; INCOMEM = (MARKUP.L*PX.L*X.L*100 - PL.L*FC)/CONS.L; INCOMEC = (PL.L*ENDOWL)/CONS.L; DISPLAY INCOMEM, INCOMEC; * Counterfactual: contract the size of the economy ENDOWL = 100; SOLVE MONOPOLY USING MCP; INCOMEM = (MARKUP.L*PX.L*X.L*100 - PL.L*FC)/CONS.L; INCOMEC = (PL.L*ENDOWL)/CONS.L; DISPLAY INCOMEM, INCOMEC; * Counterfactual: expand the size of the economy ENDOWL = 400; SOLVE MONOPOLY USING MCP; INCOMEM = (MARKUP.L*PX.L*X.L*100 - PL.L*FC)/CONS.L; INCOMEC = (PL.L*ENDOWL)/CONS.L; DISPLAY INCOMEM, INCOMEC;