$title MCF model in Africa file results * Specify the full directory path for your output file /'C:\Users\USER\Documents\MCF 2010 copy of 2009 files\MCF Model 2009/results.txt'/; scalar * The base case results are produced using experiment 1. You can run the sensitivity * tests by increasing "maxexp". experiment /1/, maxexp number of last experiment to be conducted /1/; ******************************************************* * The following section sets out the model structure. * * Knowledge of GAMS MPSGE is assumed. * ******************************************************* $ontext $model:inform $sectors: i ! output of informal domestic good f ! output of formal domestic good e ! output of export good x ! exports m ! imports z ! investment as input ils ! informal labour supply (input leisure) fls ! formal labour supply (input leisure) ks ! formal capital supply (input informal capital) $commodities: pi !market price of good i pf !market price of good f pil !informal wage pfl !formal wage pls !consumer value of leisure pik !price of capital pfk !price of formal capital pe !price of export good pm !price of import good fe !foreign exchange pinv !investment as output pz !investment as input $consumers: ra !representative agent $prod:ils o:pil q:lprod i:pls q:1 $prod:fls o:pfl q:lprod i:pls q:1 $prod:ks o:pfk q:1 i:pik q:1 $prod:i s:sigUi a:sigU t:1 o:pi q:xi a:ra t:ti o:pinv q:invi i:pz q:zi i:pil q:ili a:ra t:tili a: i:pik q:iki a:ra t:tiki a: $prod:f s:sigDi a:sigD b:sigDk c:sigDl t:1 o:pf q:xf a:ra t:tf o:pinv q:invf i:pz q:zf a: i:pil q:ilf a:ra t:tilf c: i:pfl q:flf p:plf a:ra t:tlf c: i:pik q:ikf a:ra t:tikf b: i:pfk q:fkf p:pkf a:ra t:tkf b: $prod:e s:sigEi a:sigE b:sigEk c:sigEl o:pe q:xe i:pz q:ze a: i:pil q:ile a:ra t:tile c: i:pfl q:fle p:ple a:ra t:tle c: i:pik q:ike a:ra t:tike b: i:pfk q:fke p:pke a:ra t:tke b: $prod:x o:fe q:exports i:pe q:xe a:ra t:te $prod:m o:pm q:xm i:fe q:xm a:ra t:tm $prod:z s:sigI o:pz q:xz i:pinv q:invDom i:pm q:invmq p:pcm $demand:ra s:1 a:sigC e:pls q:time e:pik q:cap e:fe q:aid d:pls q:(time-lab) p:pcl d:pi q:xi p:pci a: d:pf q:xf p:pcf a: d:pm q:conmq p:pcm a: $report: v:ilsil i:pls prod:ils v:ilsfl i:pls prod:fls v:iikfk i:pik prod:ks v:iili i:pil prod:i v:iilf i:pil prod:f v:iile i:pil prod:e v:iiki i:pik prod:i v:iikf i:pik prod:f v:iike i:pik prod:e v:iflf i:pfl prod:f v:ifle i:pfl prod:e v:ifkf i:pfk prod:f v:ifke i:pfk prod:e v:iex i:pe prod:x v:ifm i:fe prod:m v:inv d:pinv demand:ra v:welfare w:ra $offtext $sysinclude mpsgeset inform set countries / "Benin " "Botswana " "Burk_Faso " "Burundi " "Cameroon " "Cape_Verde" "CAR " "Chad " "Cote_dIv " "DRCongo " "Congo_R " "Eq_Guinea " "Eritrea " "Ethiopia " "Gabon " "Gambia " "Ghana " "Guinea " "G_Bissau " "Kenya " "Madagascar" "Malawi " "Mali " "Mauritania" "Mozambique" "Namibia " "Niger " "Nigeria " "Rwanda " "Senegal " "S_Africa " "Sudan " "Swaziland " "Tanzania " "Togo " "Uganda " "Zambia " "Zimbabwe " /; set sub_ctry(countries) / "Benin " "Botswana " "Burk_Faso " "Burundi " "Cameroon " "Cape_Verde" "CAR " "Chad " "Cote_dIv " "DRCongo " "Congo_R " "Eq_Guinea " "Eritrea " "Ethiopia " "Gabon " "Gambia " "Ghana " "Guinea " "G_Bissau " "Kenya " "Madagascar" "Malawi " "Mali " "Mauritania" "Mozambique" "Namibia " "Niger " "Nigeria " "Rwanda " "Senegal " "S_Africa " "Sudan " "Swaziland " "Tanzania " "Togo " "Uganda " "Zambia " "Zimbabwe " /; table data(*,countries) Country specific data "Benin " "Botswana " "Burk_Faso " "Burundi " "Cameroon" "Cape_Verde" "CAR " "Chad " "Cote_dIv " "DRCongo " "Congo_R " "Eq_Guinea " "Eritrea " "Ethiopia " "Gabon " "Gambia " "Ghana " "Guinea " "G_Bissau " "Kenya " "Madagascar" "Malawi " "Mali " "Mauritania" "Mozambique" "Namibia " "Niger " "Nigeria " "Rwanda " "Senegal " "S_Africa " "Sudan " "Swaziland" "Tanzania " "Togo " "Uganda " "Zambia " "Zimbabwe " Dyear 2006 2005 2003 2005 2005 2005 2006 2005 2001 2005 2004 2006 2001 2007 2003 2007 2004 2004 2005 2002 2004 2002 2004 2002 2004 2005 2003 2004 2003 2003 2005 1999 2007 2003 2006 2001 2003 2001 De 11.33 49.77 8.86 11.40 23.46 16.89 13.88 54.86 40.59 34.05 84.35 86.76 2.49 12.79 54.19 54.01 37.03 21.05 37.65 26.01 31.67 25.31 24.63 39.96 30.03 52.23 15.75 49.74 8.30 28.49 21.50 8.11 76.85 17.80 40.46 15.68 24.70 14.84 Dm 22.65 35.09 21.73 45.30 28.76 50.89 21.66 21.03 32.87 45.72 57.32 33.10 55.51 32.23 30.05 69.93 57.69 25.36 55.09 31.45 48.00 43.75 32.00 52.59 39.33 52.53 16.33 41.51 27.60 41.45 25.94 15.13 87.18 26.70 60.06 18.56 45.91 25.73 Di 18.13 34.78 16.98 10.77 18.08 37.88 8.85 20.16 9.72 13.87 24.24 32.48 19.93 24.95 26.38 25.03 27.89 11.37 14.57 13.39 27.45 9.90 20.70 26.81 20.07 26.05 25.80 23.86 18.40 23.42 18.20 16.70 16.24 18.60 13.00 16.55 25.58 5.58 Drd 3.20 2.56 3.25 6.02 6.92 4.70 2.83 0.57 2.92 2.04 0.73 0.16 3.82 1.71 3.11 1.39 3.17 2.66 0.87 5.15 1.91 2.75 3.42 3.39 2.52 3.12 1.86 0.99 2.97 4.05 6.09 1.11 0.83 2.65 1.59 3.45 4.27 4.04 Dre 0.05 0.00 0.00 0.01 0.00 0.00 0.45 0.05 2.50 0.27 0.00 0.10 0.00 0.00 0.83 0.00 1.17 0.01 1.27 0.00 0.00 0.00 0.25 0.00 0.10 0.00 0.99 0.00 0.00 0.00 0.00 0.07 0.16 0.00 0.00 0.01 0.00 0.00 Drm 8.31 8.40 4.21 5.96 4.72 8.69 2.22 1.46 5.28 4.43 4.85 0.52 5.26 5.42 4.87 12.40 7.51 3.46 6.41 5.82 6.80 6.50 8.11 6.51 3.13 13.70 4.50 3.94 5.03 8.98 4.31 3.03 28.41 4.65 9.61 7.32 5.13 3.67 Drk 2.05 2.43 1.46 2.92 1.68 3.79 0.99 0.78 1.47 0.79 1.79 8.61 4.99 1.35 1.80 2.99 2.93 0.75 1.24 3.49 0.85 2.30 1.23 2.11 0.82 3.77 1.11 7.34 1.93 1.50 5.95 0.90 2.66 0.84 1.74 1.51 1.20 2.47 Drl 1.43 1.84 1.03 1.36 1.27 2.86 0.67 1.12 2.30 0.72 1.35 0.69 1.76 1.07 1.68 2.24 2.75 0.57 0.84 2.63 0.75 3.40 1.53 2.45 1.76 6.52 0.73 1.84 1.82 2.70 8.25 0.12 5.13 1.73 0.19 1.14 6.66 7.49 Dtd 0.18 0.10 0.18 0.17 0.18 0.15 0.19 0.18 0.18 0.13 0.18 0.15 0.12 0.15 0.18 0.15 0.13 0.18 0.15 0.18 0.20 0.18 0.18 0.14 0.17 0.15 0.19 0.05 0.18 0.18 0.14 0.10 0.14 0.20 0.18 0.17 0.18 0.15 Dtk 0.38 0.25 0.20 0.35 0.35 0.20 0.30 0.40 0.35 0.40 0.38 0.35 0.30 0.30 0.35 0.35 0.28 0.35 0.39 0.30 0.30 0.30 0.35 0.25 0.32 0.35 0.35 0.30 0.35 0.33 0.30 0.40 0.30 0.30 0.37 0.30 0.35 0.30 Dtl 0.33 0.20 0.20 0.35 0.30 0.275 0.35 0.40 0.40 0.20 0.30 0.25 0.25 0.25 0.25 0.20 0.28 0.23 0.10 0.20 0.15 0.32 0.28 0.26 0.25 0.35 0.32 0.20 0.30 0.28 0.35 0.25 0.26 0.25 0.22 0.20 0.25 0.35 GDPcap 324 4382 241 100 678 1343 223 274 599 89 1046 7470 181 146 4235 320 272 397 134 403 229 129 276 413 295 2133 167 409 239 471 3429 350 1401 299 240 244 333 564 ; scalar exports as a proportion of GDP at market prices , imports as a proportion of GDP at market prices , invest investment % of GDP at market prices, liratio labour-output ratio in informal good /0.51858/, lfratio labour-output ratio in formal good /0.4328/, leratio labour-output ratio in export good /0.36856/, taxd tax rev domestic good % GDP , taxe tax rev exports % GDP , taxm tax rev imports % GDP , taxk tax rev capital % GDP , taxl tax rev labour % GDP , taxrd marginal tax rate domestic good , taxrk marginal tax rate capital , taxrl marginal tax rate labour , year year for the data , VAT boolean = 1 if country has a VAT , GDP GDP per capita ; scalar time endowment of time , lprod labour productivity /1/, p number of decimal places in basic report /6/, corruptk proportion of capital tax paid in bribes /0/, corruptf proportion of formal good tax paid in bribes /0/, labelast uncompensated elasticity labour supply /0.05/; scalar sigC, sigDi, sigD, sigDk, sigDl, sigEi, sigE, sigEk, sigEl, sigUi, sigU, sigI; scalar count controls looping over different tax shocks /1/, maxcount used for loop control; scalar xi domestic informal good, xf domestic formal good, xe export good output, xm import good, xz investment as input good, ili informal labour used in informal good, ilf informal labour used in formal good, ile informal labour used in export good, iki informal capital used in informal good, ikf informal capital used in formal good, ike informal capital used in export good, flf formal labour used in formal good, fle formal labour used in export good, fkf formal capital used in formal good, fke formal capital used in export good, ti output tax on informal good, tf output tax on formal good, te output tax on exports, tm input tax on imports, tlf input tax rate on labour in formal good, tle input tax rate on labour in export good, tkf input tax rate on capital in formal good, tke input tax rate on capital in export good, tiki tax on informal capital (bribes not going to revenue) /0/, tikf tax on informal capital in formal sector /0/, tike tax on informal capital in export sector /0/, tili tax on informal labor in informal sector /0/, tilf tax on informal labor in formal sector /0/, tile tax on informal labor in export sector /0/, capi informal capital, capf formal capital, cap total capital available, labi informal labour supply, labf formal labour supply, lab total labour supply, aid endowment of foreign exchange, pcl consumer price of labour, pci consumer price of informal good, pcf consumer price of formal good, pcm consumer price of import good, pcv consumer price of investment, pkf taxed price of capital in formal good, pke taxed price of capital in exports, plf taxed price of labour in formal good, ple taxed price of labour in export good, invi investment in informal good, invf investment in formal good, inve investment in export good, rkf revenue from capital in formal good, rke revenue from capital in export good, rlf revenue from labour in formal good, rle revenue from labour in export good; scalar y0 initial income; * The following variables are used to record revenue, input and output levels scalar revi0 tax revenue from informal good, revf0 tax revenue from formal good, reve0 tax revenue from export good, revm0 tax revenue from import good, revk0 tax revenue from capital, revl0 tax revenue from labour, rev0 total tax revenue, i0 output of informal, f0 output of formal, e0 output of exports, m0 output of imports, inv0 initital level of investment, ili0 informal labour used in informal good, ilf0 informal labour used in formal good, ile0 informal labour used in export good, iki0 informal capital used in informal good, ikf0 informal capital used in formal good, ike0 informal capital used in export good, flf0 formal labour used in formal good, fle0 formal labour used in export good, fkf0 formal capital used in formal good, fke0 formal capital used in export good, w0 initial welfare measure, leis0, revi1 tax revenue from informal good, revf1 tax revenue from formal good, reve1 tax revenue from export good, revm1 tax revenue from import good, revk1 tax revenue from capital, revik1 tax revenue from informal capital, revl1 tax revenue from labour, revil1 tax revenue from informal labour, rev1 total tax revenue, leis1; scalar consumption, Mc, Mi, nonimports, invDom, invm, conm, invmq, conmq, zi, ze, zf; scalar zFE, formalsales, formalfactors, formalfactorcost, availablefunds, informalfactors, formalratio, xiratio; scalar w1,i1,f1,e1,m1,inv1,iki1,ikf1,ike1,ili1,ilf1,ile1,labi1,lab1, fkf1,fke1,flf1,fle1,labf1, iklfe; scalar q used for number of decimal places in report; scalar negDR used as a flag to indicate negative revenue shock; scalar pm1, pm0, elastimp; scalar u1,DW,DR, MCFf /999/, MCFi /999/, MCFik /999/, MCFikf /999/, MCFil /999/, MCFilf /999/, MCFe /999/, MCFm /999/, MCFkf /999/, MCFke /999/, MCFlf /999/, MCFle /999/, MCFk /999/, MCFl /999/, MCF /999/, MCFkk /999/, MCFav /999/; * Now start processing the model q=p+6; while ((experiment <= maxexp), sigC=1; sigDi=1; sigD=1; sigDk=1; sigDl=1; sigEi=1; sigE=1; sigEk=1; sigEl=1; sigU=1; sigUi=1; sigI=1; labelast=0; if ((experiment = 2), sigD=0.5; sigE=0.5; sigU=0.5); if ((experiment = 3), sigDk=0.5; sigDl=0.5; sigEk=0.5; sigEl=0.5); if ((experiment = 4), sigD=0.5; sigE=0.5; sigU=0.5; sigDk=0.5; sigDl=0.5; sigEk=0.5; sigEl=0.5); if ((experiment = 5), sigDl=0.5; sigEl=0.5); if ((experiment = 6), sigC=0.5); if ((experiment = 7), sigI=0.5); if ((experiment = 8), sigI=0.5; sigC=0.5); if ((experiment = 9), sigC=0.5; sigD=0.5; sigE=0.5; sigU=0.5); if ((experiment = 10),sigI=0.5; sigC=0.5; sigD=0.5; sigE=0.5; sigU=0.5); if ((experiment = 11), sigD=2; sigE=2; sigU=2); if ((experiment = 12), sigDk=2; sigDl=2; sigEk=2; sigEl=2); if ((experiment = 13), sigD=2; sigE=2; sigU=2; sigDk=2; sigDl=2; sigEk=2; sigEl=2); if ((experiment = 14), sigDl=2; sigEl=2); if ((experiment = 15), sigC=2); if ((experiment = 16), sigI=2); if ((experiment = 17), sigI=2; sigC=2); if ((experiment = 18), sigC=2; sigD=2; sigE=2; sigU=2); if ((experiment = 19), sigI=2; sigC=2; sigD=2; sigE=2; sigU=2); * SigI=sigC=1.3674, with other values =1 gives elasticity of imports = 1 if ((experiment = 20), sigI=1.3674; sigC=1.3674; sigD=1; sigE=1; sigU=1; sigDk=1; sigDl=1; sigEk=1; sigEl=1); * SigI=sigC=1.3745, with other values =0.5 gives elasticity of imports = 1 if ((experiment = 21), sigI=1.3745; sigC=1.3745; sigD=0.5; sigE=0.5; sigU=0.5; sigDk=0.5; sigDl=0.5; sigEk=0.5; sigEl=0.5); if ((experiment = 22),labelast=0.05); if ((experiment = 23),labelast=1); put results; put /'Experiment = ', experiment:q:p/; put results; put 'Country ',' ':(q+3),'D':q,'M':q,'E':q,'L':q,'K':11,'All':q,'U':q,'Ki':10,'KiFE':10,'Li':11,'LiFE':8 /; loop(sub_ctry, exports = data("De",sub_ctry); imports = data("Dm",sub_ctry); invest = data("Di",sub_ctry); taxd = data("Drd",sub_ctry); taxe = data("Dre",sub_ctry); taxm = data("Drm",sub_ctry); taxk = data("Drk",sub_ctry); taxl = data("Drl",sub_ctry); taxrd = data("Dtd",sub_ctry); taxrk = data("Dtk",sub_ctry); taxrl = data("Dtl",sub_ctry); year = data("Dyear",sub_ctry); GDP = data("GDPcap",sub_ctry); VAT=1; * The following section calibrates the initial values of the model, * based on the entered parameters. consumption = 100 - invest - (exports - imports); Mc = imports * consumption / (consumption + invest); Mi = imports * invest / (consumption + invest); xf = taxd/taxrd; nonimports = consumption - Mc; xi = nonimports - xf - taxd; xe = exports - taxe; xm = imports - taxm; aid = xm - exports; invDom=invest - Mi; invi=invDom*xi/(xi+xf); invf=invDom*xf/(xi+xf); pcm = imports/xm; conm=imports*consumption/(consumption+invest); invm=imports*invest/(consumption+invest); conmq=conm/pcm; invmq=invm/pcm; xz=invDom+invm; zi=xz*(xi+invi)/(xi+invi+xf+invf+xe); zFE=xz*(xf+invf+xe)/(xi+invi+xf+invf+xe); *the next four lines are intermediate calculations * giving the amount of tax revenue collected from * factors in the taxed sectors rkf=(xf+invf)/(xf+invf+xe)*taxk; rke=(xe)/(xf+invf+xe)*taxk; rlf=(xf+invf)/(xf+invf+xe)*taxl; rle=(xe)/(xf+invf+xe)*taxl; * Now compute the quantity of formal factors used in the taxed sectors fkf=rkf/taxrk; fke=rke/taxrk; flf=rlf/taxrl; fle=rle/taxrl; formalsales = xf + invf + xe - zFE; formalfactors = fkf + fke + flf + fle; formalfactorcost = formalfactors + taxk + taxl; availablefunds = formalsales - formalfactorcost; ikf = (availablefunds) * fkf/formalfactors; ike = (availablefunds) * fke/formalfactors; ilf = (availablefunds) * flf/formalfactors; ile = (availablefunds) * fle/formalfactors; zf = xf + invf - (ikf + fkf + ilf + flf + rkf + rlf); ze = xe - (ike + fke + ile + fle + rke + rle); ili=liratio*(xi+invi-zi); iki=(1-liratio)*(xi+invi-zi); informalfactors = ikf + ike + ilf + ile + ili + iki; iklfe = ikf + ike + ilf + ile; formalratio = formalfactorcost/formalsales; xiratio = xi/(xi+xf+taxd); capf= fke + fkf; capi= iki + ikf + ike; cap = fke + fkf + iki + ikf + ike; labf= fle + flf; labi= ili + ilf + ile; lab = fle + flf + ili + ilf + ile; time = (1+labelast)*lab; tf = taxd/(taxd+xf); te = taxe/xe; tm = taxm/xm; tkf = taxrk; tke = taxrk; tlf = taxrl; tle = taxrl; tiki=0; tikf=tiki; tike=tiki; ti= 0; pcl = 1; pci = 1; pcv = 1; pcf = (xf+taxd)/xf; pcm = imports/xm; pkf = 1+tkf; pke = 1+tke; plf = 1+tlf; ple = 1+tle; MCFf = 999; MCFi = 999; MCFik = 999; MCFikf = 999; MCFil = 999; MCFilf = 999; MCFe = 999; MCFm = 999; MCFkf = 999; MCFke = 999; MCFlf = 999; MCFle = 999; MCFk = 999; MCFl = 999; MCF = 999; MCFkk = 999; MCFav = 999; display sigUi, sigU, xi, ti, invi, zi, ili, tili, iki, tiki, sigDi, sigD, sigDk, sigDl, xf, tf, invf, zf, ilf, tilf, flf, plf, tlf, ikf, tikf, fkf, pkf, tkf, sigEi, sigE, sigEk, sigEl, xe, ze, ile, tile, fle, ple, tle, ike, tike, fke, pke, tke, exports, xe, te, xm, tm, xz, invDom, invmq, pcm, sigC; if ((experiment = 24),tlf = taxrl+0.05; tle=tlf); if ((experiment = 25),tlf = taxrl-0.05; tle=tlf); ****************************************************** * Fix the numeraire ****************************************************** fe.fx=1; ********************************************************************** * Measure benchmark levels and tax revenues * ********************************************************************** $include inform.gen solve inform using mcp; option w0:8; option w1:8; w0=welfare.l; y0=ra.l; display w0; leis0=time-lab; i0=i.l*xi; f0=f.l*xf; e0=e.l*xe; m0=m.l*xm; inv0=inv.l; iki0=iiki.l; ikf0=iikf.l; ike0=iike.l; ili0=iili.l; ilf0=iilf.l; ile0=iile.l; fkf0=ifkf.l; fke0=ifke.l; flf0=iflf.l; fle0=ifle.l; revi0 = ti*i.l*xi*pi.l; revf0 = tf*f.l*xf*pf.l; reve0 = te*e.l*xe; revm0 = tm*m.l*xm; revk0 = (tkf*ifkf.l + tke*ifke.l)*pfk.l; revl0 = (tlf*iflf.l + tle*ifle.l)*pfl.l; rev0 = revi0+ revf0 + reve0 + revm0 + revk0 + revl0; pm0=pm.l; **************************************************************************** * Now shock taxes. Record results in variables suffixed with 1 * * Record a change index in variables further suffixed with 'i' * * Calculate the MCF. * **************************************************************************** count=1; if ((experiment=1), maxcount=6 else maxcount=6); negDR=0; while ((count<=maxcount), *************************************************************************** * Shock the taxes * *************************************************************************** if ((count = 1), tf=tf+0.000001); if ((count = 2), te=te+0.000001); if ((count = 3), tm=tm+0.000001); if ((count = 4), tke=tke+0.000001; tkf=tkf+0.000001; tiki=0;tikf=tiki;tike=tiki); if ((count = 5), tle=tle+0.000001; tlf=tlf+0.000001); if ((count = 6), tf=tf+0.000001;tm=tm+0.000001;tke=tke+0.000001;tkf=tkf+0.000001; tle=tle+0.000001; tlf=tlf+0.000001; if ((te>0),te=te+0.000001)); if ((count = 7), ti=ti+0.000001); if ((count = 8), tiki=tiki+0.000001; tikf=tikf+0.000001; tike=tike+0.000001); if ((count = 9), tikf=tikf+0.000001; tike=tike+0.000001); if ((count = 10), tili=tili+0.000001; tilf=tilf+0.000001; tile=tile+0.000001); if ((count = 11), tilf=tilf+0.000001; tile=tile+0.000001); $include inform.gen solve inform using mcp; * measure the new levels of all inputs, outputs and revenues w1=welfare.l; display w0; display w1; i1=i.l*xi; f1=f.l*xf; e1=e.l*xe; m1=m.l*xm; inv1=inv.l; iki1=iiki.l; ikf1=iikf.l; ike1=iike.l; ili1=iili.l; ilf1=iilf.l; ile1=iile.l; fkf1=ifkf.l; fke1=ifke.l; flf1=iflf.l; fle1=ifle.l; labi1=ili1+ilf1+ile1; labf1=flf1+fle1; lab1=labi1+labf1; revi1 = ti*i.l*xi*pi.l; revf1 = tf*f.l*xf*pf.l; reve1 = te*e.l*xe; revm1 = tm*m.l*xm; revk1 = (tkf*ifkf.l + tke*ifke.l)*pfk.l; revl1 = (tlf*iflf.l + tle*ifle.l)*pfl.l; revik1= (tiki*iiki.l + tikf*iikf.l + tike*iike.l)*pik.l; revil1= (tili*iili.l + tilf*iilf.l + tile*iile.l)*pil.l; rev1 = revi1 + revf1 + reve1 + revm1 + revk1 + revl1 + revik1 + revil1; leis1=time-ils.l-fls.l; DR = rev1-rev0; * DR is subtracted from the welfare change in order to remove the * effect of public spending on DW. DW=(w1-w0)*(y0/w0)-DR; pm1 = pm.l; if ((count = 3), elastimp = -((m1-m0)/(pm1-pm0))* (pm0/m0) ); display m1,m0,pm1,pm0, elastimp; display DW, DR leis0, leis1, i0, i1, f0, f1, m0, m1, inv0, inv1; if ((DR<0),negDR=count+negDR); if ((count = 1), MCFf = -DW/DR; tf=tf-0.000001); if ((count = 2), MCFe = -DW/DR; te=te-0.000001); if ((count = 3), MCFm = -DW/DR; tm=tm-0.000001); if ((count = 4), MCFk = -DW/DR; tke=tke-0.000001; tkf=tkf-0.000001); if ((count = 5), MCFl = -DW/DR; tle=tle-0.000001; tlf=tlf-0.000001); if ((count = 6), MCF = -DW/DR; tf=tf-0.000001;tm=tm-0.000001;tke=tke-0.000001;tkf=tkf-0.000001; tle=tle-0.000001; tlf=tlf-0.000001; if((te>0),te=te-0.000001)); if ((count = 7), MCFi = -DW/DR; ti=ti-0.000001); if ((count = 8), MCFik= -DW/DR; tiki=tiki-0.000001;tikf=tikf-0.000001;tike=tike-0.000001); if ((count = 9), MCFikf= -DW/DR; tikf=tikf-0.000001;tike=tike-0.000001); if ((count = 10), MCFil= -DW/DR; tili=tili-0.000001;tilf=tilf-0.000001;tile=tile-0.000001); if ((count = 11), MCFilf= -DW/DR; tilf=tilf-0.000001;tile=tile-0.000001); count = count+1; * close the count loop that controls which tax shock is being administered ); MCFav = revf0/rev0*MCFf + reve0/rev0*MCFe + revm0/rev0*MCFm + revk0/rev0*MCFk + revl0/rev0*MCFl; put results; put sub_ctry.tl, ' '; put ' '; put results; put MCFf:q:p,MCFm:q:p,MCFe:q:p,MCFl:q:p,MCFk:q:p,MCF:q:p; if ((experiment=1), put MCFi:q:p,MCFik:q:p,MCFikf:q:p,MCFil:q:p,MCFilf:q:p); put negDR:5:0, elastimp:q:p, GDP:q, w0:q:p, rev0:q:p/; count=1; *close the country loop ); * close the experiment loop experiment=experiment+1; ); putclose results;