*I appreciate data collaboration of Graham Siddorn in the Inldand Revenue and supervision by Professor John Whalley *in process of construction of this model. $title multisecotral general equilibrium tax model of the uk economy Jan99 $include ptax.gms SET HH Households and labor categories / H1 Household 1 / FD final demand /Cons GGFC GDFCF Stocks Exports/; ALIAS (HH,lc); TABLE IOF(K,KK) domestic intermediate demand (Input-output flows 1995) Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Agric 2096 0 14 27 7 5 12132 435 0 4 564 48 15 0 148 0 Extra 0 2439 0 4697 3 0 0 0 3622 0 0 0 0 0 0 0 Minin 20 0 353 218 846 26 45 130 1897 401 105 17 8 0 57 0 Chemi 1433 10 37 3899 433 546 571 1484 466 737 1299 1254 913 0 3204 19 Metal 110 162 192 1225 7249 6320 1831 5197 50 7074 503 389 5 0 84 0 Engin 0 576 317 682 1254 5705 528 2432 634 788 848 1808 1018 0 1567 36 Foodd 2797 52 25 356 82 120 6382 350 64 51 6589 650 1058 0 1796 4 othma 583 80 134 1781 1839 3005 2816 16404 474 4242 6702 4139 8242 0 3340 283 Power 279 0 160 1330 1596 1189 931 1980 12273 272 1201 857 1184 0 705 23 Const 172 0 122 109 32 56 0 31 0 21085 603 151 1985 0 146 3929 Distr 1005 200 206 1479 2489 4115 1647 3724 355 1371 4164 2470 2276 0 790 0 Trans 245 704 335 1232 2047 1415 1583 3614 183 887 14871 15642 17082 0 3175 198 Finan 1949 671 471 4070 2781 6194 4205 9177 1884 10483 22425 12387 50836 0 13435 15221 Pubad 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Educa 378 1 41 520 253 581 496 2618 179 242 1001 1369 4031 0 7756 67 House 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; TABLE IOFM(K,KK) imports for intermediate demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Agric 462 0 0 2 0 0 2342 394 0 0 546 9 0 0 0 0 Extra 0 133 0 1532 0 0 0 0 1613 0 0 0 0 0 0 0 Minin 0 0 68 359 540 31 4 50 312 540 0 0 0 0 0 0 Chemi 802 11 142 7931 1028 1274 844 7476 382 196 165 609 22 0 299 0 Metal 26 180 57 222 5249 2251 378 1745 0 1690 64 0 0 0 0 0 Engin 45 161 61 13 286 11980 22 2177 855 770 46 791 78 0 119 0 Foodd 291 0 0 275 0 0 4641 36 0 0 936 53 0 0 0 0 othma 0 0 79 300 478 369 565 18399 12 1900 1206 641 60 0 357 0 Power 0 0 0 3 4 1 2 3 432 0 0 0 0 0 0 0 Const 0 0 0 0 0 0 0 0 0 44 0 0 0 0 0 0 Distr 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Trans 0 504 11 0 5 0 4 0 0 2 530 2720 375 0 60 0 Finan 4 1 8 0 20 50 22 0 4 10 35 33 3369 0 886 19 Pubad 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Educa 0 0 0 1 3 8 2 55 2 0 3 38 45 0 1238 0 House 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Table asset(j,K) categories of capital asset in the year 1995 Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Build 15672 50 1125 11284 13381 15646 13528 24558 54403 3955 76826 50835 107812 49959 91925 0 pmlon 0 2968 0 6703 2621 744 918 6088 42115 283 6381 21945 968 1778 0 0 pmsho 2993 20032 1867 17351 18766 18647 13721 34374 2399 2549 23430 13894 31251 7519 10204 0 vehic 1122 283 71 490 699 1062 662 1568 501 1715 6448 15425 18478 1055 946 0 dwell 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 709731 *source:Inland Revenue ; TABLE ZZ(*,K) MISCELLANEOUS PARAMETERS AND INITIAL DATA Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House XD 24208 17704 5493 52108 49493 73649 57114 125992 41719 84404 154987 98540 211047 63843 113957 53269 Tariff 34 6 5 136 101 214 171 405 48 66 51 26 2 0 9 0 VAT 0 0 0 0 0 0 0 0 0 0 0 218 3259 0 1181 0 dtlv 211 2 103 1175 344 176 460 331 1378 130 1275 2026 896 0 344 36 Othtxsb -265 -25 -10 -50 -53 -46 -1454 -212 -10 -34 -443 -404 -409 0 -186 -6 Lb 7143 1409 1822 10151 15790 18529 9691 36483 5492 29947 61877 35191 70149 60316 69067 0 ka 4388 10428 738 8432 4786 9536 6250 11074 9118 1505 27820 15406 44549 3527 4381 33440 Kstock 19788 23333 3063 35827 35466 36099 28829 66588 99419 8502 113086 102099 158508 60311 103075 709731 Intdm 3755 3278 1905 21182 11863 17403 6232 24365 446 44 0 4211 4463 0 1395 0 INTSD 15495 10762 4124 16304 30392 18192 20377 54064 23981 28420 26289 63216 156189 0 19535 0 INTM 1630 989 425 10639 7613 15965 8827 30336 3612 5151 3532 4895 3949 0 2960 19 INTD 11067 4895 2410 21626 20912 29276 33168 47576 22081 47638 60876 41182 88652 0 36201 19781 TMFD 1517 0 2035 3495 222 32513 9198 33357 0 0 3518 4378 1328 416 1704 566 TFIND 8713 6942 1369 35804 19101 55457 36737 71928 17738 55983 128698 35324 54859 63843 94422 53269 Exports 1942 6942 983 28663 10230 50923 10270 39858 62 0 13701 12194 12545 0 4504 0 rexpt 46 0 2003 165 0 164 19 98 0 0 0 0 0 0 0 0 p0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ; Table DF(*, k) domestic sales to final demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Cons 6730 0 339 3764 346 0 25904 18082 16353 3521 111181 19715 25373 0 43653 53269 GGFC 42 0 47 3116 588 1589 411 3872 1323 4414 1229 2637 8458 63843 46265 0 GDFCF 0 0 0 0 7158 2613 0 8933 0 47764 2586 779 8483 0 0 0 Stocks 0 0 0 261 779 332 153 1185 0 285 0 0 0 0 0 0 Exports 1942 6942 983 28663 10230 50923 10270 39858 62 0 13701 12194 12545 0 4504 0 expsub -192 0 0 -25 -3 -9 0 -9 0 0 0 -267 0 0 -48 -5 ; Table MF(*, k) imports to final demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Cons 1471 0 29 2259 0 6220 8812 24075 0 0 3518 4036 0 0 1035 566 GGFC 0 0 3 873 0 3123 348 2893 0 0 0 342 1328 416 669 0 GDFCF 0 0 0 0 3 22859 0 5312 0 0 0 0 0 0 0 0 Stocks 0 0 0 199 220 148 18 979 0 0 0 0 0 0 0 0 Exports 46 0 2003 165 0 164 19 98 0 0 0 0 0 0 0 0 ; Table VATTN(k,kk) value added tax on intermediate demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Agric 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Extra 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Minin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Chemi 0 0 0 0 0 0 0 0 0 0 0 10 61 0 247 0 Metal 0 0 0 0 0 0 0 0 0 0 0 3 1 0 0 0 Engin 0 0 0 0 0 0 0 0 0 0 0 8 35 0 281 0 Foodd 0 0 0 0 0 0 0 0 0 0 0 4 14 0 34 0 othma 0 0 0 0 0 0 0 0 0 0 0 22 454 0 144 0 Power 0 0 0 0 0 0 0 0 0 0 0 13 85 0 94 0 Const 0 0 0 0 0 0 0 0 0 0 0 3 223 0 4 0 Distr 0 0 0 0 0 0 0 0 0 0 0 32 206 0 16 0 Trans 0 0 0 0 0 0 0 0 0 0 0 89 957 0 138 0 Finan 0 0 0 0 0 0 0 0 0 0 0 33 1197 0 181 0 Pubad 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Educa 0 0 0 0 0 0 0 0 0 0 0 3 26 0 41 0 House 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Table VATT(*, k) value added tax on final demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Cons 83 0 20 2177 60 973 4272 6201 973 492 14636 1667 0 0 1701 0 GGFC 1 0 8 209 103 793 13 741 177 753 97 272 599 0 148 0 GDFCF 0 0 0 0 273 1358 0 895 0 1179 0 2 23 0 0 0 Stocks 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exports 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Table tarrif(k,kk) tariff on intermediate demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Agric 19 0 0 0 0 0 95 16 0 0 22 0 0 0 0 0 Extra 0 2 0 20 0 0 0 0 21 0 0 0 0 0 0 0 Minin 0 0 1 5 7 0 0 1 4 7 0 0 0 0 0 0 Chemi 11 0 2 100 13 16 11 95 5 2 2 7 0 0 3 0 Metal 0 2 1 3 71 30 5 24 0 22 1 0 0 0 0 0 Engin 1 2 1 0 4 162 0 30 12 10 1 10 1 0 1 0 Foodd 3 0 0 3 0 0 52 0 0 0 10 1 0 0 0 0 othma 0 0 1 4 6 4 7 239 0 24 15 8 1 0 4 0 Power 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 Const 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Distr 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Trans 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Finan 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Pubad 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Educa 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 House 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Table tariff(*,k) tariff on final demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Cons 55 0 0 27 0 80 91 294 0 0 0 0 0 0 0 0 GGFC 0 0 0 11 0 41 4 36 0 0 0 0 0 0 0 0 GDFCF 0 0 0 0 0 313 0 69 0 0 0 0 0 0 0 0 Stocks 0 0 0 3 3 2 0 13 0 0 0 0 0 0 0 0 Exports 2 0 25 2 0 2 0 1 0 0 0 0 0 0 0 0 rexpsub 2 0 25 2 0 2 0 1 0 0 0 0 0 0 0 0 ; Table duties(*,kk) duties and levies in intermediate demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Agric 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Extra 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Minin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Chemi 190 0 94 1103 276 120 188 232 892 104 964 1909 640 0 237 11 Metal 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Engin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Foodd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 othma 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Power 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Const 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Distr 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Trans 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Finan 7 0 1 6 7 8 5 15 5 10 49 41 153 0 18 24 Pubad 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Educa 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 House 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Table dutychitd(*,k) duties and levies in chemical and food Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House tobacco 1 0 0 0 0 0 2 0 0 4 152 26 29 0 22 0 alcohol 2 1 0 18 3 2 196 4 0 1 61 14 23 0 39 0 sugar 0 0 0 1 0 0 38 0 0 0 3 1 1 0 2 0 fosfuel 10 0 7 43 53 42 29 75 435 10 43 33 47 0 24 1 gas 0 0 0 4 6 4 3 5 47 0 3 2 3 0 3 0 ; Table dutyf(*,*) duties and levies on final consumption Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Cons 0 0 0 7727 0 0 12254 0 500 0 0 351 286 0 1595 0 GGFC 0 0 0 386 0 0 2 0 46 0 0 0 0 0 0 0 GDFCF 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Stocks 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Exports 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Table dutychfd(*,fd) levies and duties in chemical and food Cons GGFC GDFCF Stocks Exports tobacco 7136 0 0 0 0 alcohol 5110 1 0 0 0 sugar 8 1 0 0 0 fosfuel 425 41 0 0 0 gas 75 5 0 0 0 ; Table subsidy(*,k) Subsidies and other taxes on persons Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Agric -252 0 -1 -3 -1 -1 -1411 -85 0 0 -111 -6 -1 0 -14 0 Extra 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Minin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Chemi -2 0 0 -12 -2 -2 -2 -9 -2 -1 -2 -4 -2 0 -3 0 Metal 0 0 0 0 -3 -2 -1 -2 0 -2 0 0 0 0 0 0 Engin 0 0 0 0 0 -3 0 -1 0 0 0 0 0 0 0 0 Foodd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 othma 0 0 0 -1 -1 -1 -1 -7 0 -1 -2 -1 -2 0 -1 0 Power 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Const 0 0 0 0 0 0 0 0 0 -7 0 0 -1 0 0 -1 Distr 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Trans -6 -25 -7 -28 -44 -31 -34 -79 -6 -20 -317 -378 -359 0 -67 -4 Finan 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Pubad 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Educa -4 0 0 -6 -3 -6 -5 -29 -2 -3 -11 -15 -44 0 -96 -1 House 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 0 ; Table subsidyf(*,k) Subsidies and other taxes on final demand Agric Extra Minin Chemi Metal Engin Foodd othma Power Const Distr Trans Finan Pubad Educa House Cons -799 0 0 -14 0 -1 0 -9 0 -1 0 -496 0 0 -469 -1060 GGFC -4 0 0 -4 0 -1 0 -2 0 -1 0 -64 0 0 -499 -2 GDFCF 0 0 0 0 -2 -5 0 -3 0 -15 0 -19 0 0 0 0 Stocks 5 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 Exports -192 0 0 -25 -3 -9 0 -9 0 0 0 -267 0 0 -48 -5 ; *Check for data parameter chk, chkk, chintd, chinm; chk = sum(k, zz("lb",k)); chkk = sum(k, zz("ka",k)); chintd(k) = sum(kk, iof(k,kk)); chinm(k) = sum(kk, iofm(k,kk)); display chk, chkk, chintd,chinm; Table income(*,hh) Sources of Income to the households h1 wage 433059 intr 195376 ; parameter subsum; subsum(k) =sum(kk, subsidy(kk,k)); display subsum; Parameter vtintd value added tax in intermediate inputs vatcd(k) value added tax in consumption vatkd(k) value added tax in investment vatgd(k) value added tax in public cons vtint value added tax rate in intermediate inputs vatc(k) value added tax rate in consumption vatk(k) value added tax rate in investment vatg(k) value added tax rate in public cons vtint0 base year value added tax rate on int inputs vatc0 base year value added tax rate on consumption vatk0 base year value added tax rate on investment vatg0 base year value added tax rate on gov consumption dlintd duties and levies in intermediate inputs dlcd duties and levies in consumption dlkd duties and leveis in investment dlgd duties and leveis rate in government consumption dlint duties and levies rate in intermediate inputs dlc duties and levies rate in consumption dlg duties and leveis rate in government consumption dlk dlint0 base year levies and duties on int inputs dlc0 base year levies and duties on consumption dlk0 base year levies and duties on investment dlg0 base year levies and duties on gov consumption tarcd tariff in final consumption tarkd tariff in investment targd tariff in government consumption tarintd tariff on intermediate input tarc tariff in final consumption tark tariff in investment targ tariff in government consumption tarrexd tarc0 base year tariff on consumption targ0 base year tariff on gov consumption tark0 base year tariff on investment tarint tariff on intermediate input tarint0 base year tariff on intermediate input otxsbd other taxes and subsidies otxsb other taxes and subsidy rates otxsb0 other taxes and subsidies in the base expsrt export subsidy rate expsrt0 intdm import for intermediate inputs subintd subsidy in intermediate inputs subfdc subsidy in consumption subfdg subsidy in government consumption subfdk subsidy in investment subfde subsidy in exorts subint subsidy in intermediate inputs subfc subsidy in consumption subfg subsidy in government consumption subfk subsidy in investment subfe subsidy in exorts subint0 subsidy in intermediate inputs subfc0 subsidy in consumption subfg0 subsidy in government consumption subfk0 subsidy in investment subfe0 subsidy in exorts sumtar total tariff revenue sumvat total vat revenue sumdl total duties and levies sumsub total subsidies ; parameter dutyfsfuel, dutygas, dutytobac, dutyalcohl, dutysugar, sumk; * value added tax revenue vtintd(k,kk) = vattn(k,kk); vatcd(k) = vatt("cons",k); vatgd(k) = vatt("GGFC",k); vatkd(k) = vatt("GDFCF",k); sumvat =sum(k, vatcd(k)+vatgd(k)+vatkd(k))+sum((k,kk),vtintd(k,kk)); sumk(kk) = vatcd(kk)+vatgd(kk)+vatkd(kk)+sum(k,vtintd(kk,k)); display sumk; *dlcd(kk)+dlgd(kk)+ sum(k,dlintd(kk,k)); * revenue from duties and levies dutyfsfuel(k) =dutychitd("fosfuel",k); dutygas(k) =dutychitd("gas",k); dutytobac(k) =dutychitd("tobacco",k); dutyalcohl(k) =dutychitd("alcohol",k); dutysugar(k) =dutychitd("sugar",k); dlintd(k,kk) = duties(k,kk); dlintd("power",k)= dutyfsfuel(k)+dutygas(k); dlintd("foodd",k) = dutytobac(k)+dutyalcohl(k)+dutysugar(k); dlcd(k) = dutyf("cons",k); dlgd(k) = dutyf("GGFC",k); dlcd("power") = dutychfd("fosfuel","cons")+dutychfd("gas","cons"); dlcd("foodd") = dutychfd("tobacco","cons")+dutychfd("alcohol","cons")+dutychfd("sugar","cons"); dlgd("power") = dutychfd("fosfuel","ggfc")+dutychfd("gas","ggfc"); dlgd("foodd") = dutychfd("tobacco","ggfc")+dutychfd("alcohol","ggfc")+dutychfd("sugar","ggfc"); sumdl = sum(k, dlcd(k)+dlgd(k))+ sum((k,kk),dlintd(kk,k)); *revenue from tariffs tarintd(k,kk) = tarrif(k,kk); tarcd(k) = tariff("cons",k); targd(k) = tariff("GGFC",k); tarkd(k) = tariff("GDFCF",k)+tariff("stocks",k); tarrexd(k) = tariff("rexpsub",k); sumtar = sum(k, tarkd(k)+targd(k)+tarcd(k)+tarrexd(k))+sum((k,kk),tarintd(k,kk)); subintd(k,kk) =subsidy(k,kk); subfdc(k) =subsidyf("cons",k); subfdg(k) =subsidyf("GGFC",k); subfdk(k) =subsidyf("GDFCF",k)+subsidyf("stocks",k); subfde(k) =subsidyf("exports",k); *revenue from other taxes and personal subsidies display tarintd,tarcd,targd,tarkd,vtintd,vatcd,vatgd,vatkd,dlintd, dlcd,dlgd,sumtar,sumvat, sumdl,sumk; display vtintd,vatcd,vatgd,vatkd, subintd, subfdc,subfdg,subfdk,subfde; Parameter tid0 Total investment id0(k) domestic suplly of investment id0m(k) foreign supply of investment stock(k) change in stocks -domesti stockm(k) change in stock - import G0(k) government consumption -domestic gm0(k) government consumption -import cc0(k) consuption demand by households -domestic ccm0(k) consumption by households -imports m0(k) total imports dd0(k) total domestic demands cch0(hh,k) household demand for domestic goods cchm0(hh,k) household demand for imported goods expt(k) exports rexp(k) imports re-exported expe(hh,k) export earning to households expem(hh,k) re-export earning to households ; parameter c0(hh) consumption of goods and leisure cap0(j,k) capital stock type asset j for sector k d0(hh,k) households' final demand -domestic d0m(hh,k) households' final demand -imports grev government revenue hit(hh) labour income tax hit0(hh) base year labour income tax rate incbal(*) budget balance check intr(j,hh) gross capital income to households iof(kk,k) domestic intermediate demand kt0(k) aggregate capital income from sector k k0(j,k) capital income from asset j in sector k kj0(j) total of type j assets in the base year l0(k) labour income from sector K leisure(hh) leisure demand (value net of income tax) mcf marginal cost of public funds mkt(*) market cleance check for the base year nettrn(hh) net income transfer to households netwage(hh) wage income (net of income tax) wages(hh) wage income (gross of income tax) p0(k) consumer prices (gross of vat) pindex price index for marginal calculations prf(kk) zero profit condition rk0(j,k) base year return to capital (gross of tax) tk(j,k) capital tax rate by assets per sector: P-tax rates tk0(j,k) base year capital tax rate y0(k) sectoral output (gross of tax) gsize government size; * Extract some data: * capital tax rates from Ptax: tk(j,k) = trafo(j,k); tk("dwell",k) = 0; tk("dwell","house") = trafo("dwell","house"); cap0(j,k) = asset(j,k); kt0(k) = zz("ka",k); ** Split value added from capital by value of assets in the base year 1995 k0(j,k) = zz("ka",k)*(cap0(j,k)/sum(jj,cap0(jj,K))); ** allocation of capital income among assets accounting for different depreciation rates ** Asset with lower depreciation rate live longer and therefore, given less weight while ** decomposing value added from capital into different assets. k0(j,k) = zz("ka",k)*(pafo(j,k)+dep(j,k))*(cap0(j,k)/sum(jj,(pafo(j,k)+dep(j,k))*cap0(jj,K))); kt0(k) = sum(j,k0(j,k)-tk(j,k)*k0(j,k)); kj0(j) =sum(k,k0(j,k)); k0(j,k) = k0(j,k)-tk(j,k)*k0(j,k); L0(k) = zz("lb",k); parameter ptaxr(k); ptaxr(k) = sum(j,tk(j,k)*(k0(j,k)/(1-tk(j,k)))); display kt0, l0, ptaxr, k0; *the patax rate in capital stock would increase gross of tax output *the elements of final demand are retrieved below y0(k) = zz("xd",k); id0(k) = DF("GDFCF", k); id0m(k) = MF("GDFCF", k); stock(k) = DF("stocks", k); stockm(k) = MF("stocks", k); g0(k) = DF("GGFC", k); gm0(k) = MF("GGFC", k); cc0(k) = DF("cons", k); ccm0(k) = MF("cons", k); expt(k) = DF("exports",k); rexp(k) = MF("exports",k); expe(hh,k) = (1/card(hh))*expt(k); expem(hh,k) = (1/card(hh))*rexp(k); alias (kk,kkk), (kkk,kkkk); *total imports m0(k) = sum(kk, iofm(K,kk))+id0m(k)+ ccm0(k)+gm0(k)+stockm(k); intdm(k) =zz("intdm",k); cch0(hh,k) = cc0(k); cchm0(hh,k) = ccm0(k); *total final demand for domestic and imported products d0(hh,k) = y0(k)- sum(kk,iof(k,Kk))-ZZ("exports",k); d0m(hh,k) = m0(k)- sum(kk,iofm(k,Kk))-ZZ("rexpt",k); display k0,kt0, l0, cap0, d0, d0m; *gross of capital tax price of assets in the benchmark rk0(j,k) = 1/(1-tk(j,k)); display tk, rk0; *gross of tax wage and gross of tax captal income for households wages(hh) = sum(k,l0(k)); intr(j,hh) = sum(k, k0(j,k)/(1-tk(j,k))); display l0, wages, intr; parameters p0c, p0k, p0g; * compute tariff rates on intermediate and final demands tarint(k,kk)$iofm(k,kk) = (tarintd(k,kk)/iofm(k,kk)$iofm(k,kk)); tarc(k)$ccm0(k) = tarcd(k)/ccm0(k); targ(k)$gm0(k) = targd(k)/gm0(k); tark(k)$(id0m(k)+stockm(k)) = tarkd(k)/(id0m(k)+stockm(k)); tarint0(k,kk)$iofm(k,kk) = tarint(k,kk); tarc0(k) = tarc(k); targ0(k) = targ(k); tark0(k) = tark(k); *subsidy rates subint(k,kk)$(iof(k,kk)) = subintd(k,kk)/(iof(k,kk)); subfc(k)$(cc0(k)) = subfdc(k)/(cc0(k)); subfg(k)$g0(k) = subfdg(k)/(g0(k)); subfk(k)$(id0(k)+stock(k)) = subfdk(k)/(id0(k)+stock(k)); subfe(k)$expt(k) = subfde(k)/(expt(k)); subint0(k,kk) = subint(k,kk); subfc0(k) = subfc(k); subfg0(k) = subfg(k); subfk0(k) = subfk(k); subfe0(k) = subfe(k); *Impose duties and levies on intermediate and final consumption,investment and goverment consumption dlint(k,kk)$(iof(k,kk)+iofm(k,kk)) = dlintd(k,kk)/(iof(k,kk)*(1+subint(k,KK))+iofm(k,KK)*(1+tarint(k,KK))); dlc(k)$(cc0(k)+ccm0(k)) = dlcd(k)/(cc0(k)*(1+subfc(k))+ccm0(k)*(1+tarc(k))); dlg(k)$(g0(k)+gm0(k)) = dlgd(k)/(g0(k)*(1+subfg(k))+gm0(k)*(1+targ(k))); dlk(k) = 0; dlint0(k,kk) = dlint(k,kk); dlc0(k) = dlc(k); dlg0(k) = dlg(k); *Impose VAT on intermediate and final consumption,investment and goverment consumption vtint(k,kk)$(iof(k,kk)+iofm(k,kk)) = vtintd(k,kk)/((iof(k,kk)*(1+subint(k,KK))+iofm(k,KK)*(1+tarint(k,KK)))*(1+dlint(k,kk))); vatc(k)$(cc0(k)+ccm0(k)) = vatcd(k)/((cc0(k)*(1+subfc(k))+ccm0(k)*(1+tarc(k)))*(1+dlc(k))); vatg(k)$(g0(k)+gm0(k)) = vatgd(k)/((g0(k)*(1+subfg(k))+gm0(k)*(1+targ(k)))*(1+dlg(k))); vatk(k)$(id0(k)+stock(k)+id0m(k)+stockm(k)) = vatkd(k)/(((id0(k)+stock(k))*(1+subfk(k))+(id0m(k)+stockm(k))*(1+tark(k)))*(1+dlk(k))); vtint0(k,kk) = vtint(k,kk); vatc0(k) = vatc(k); vatg0(k) = vatg(k); vatk0(k) = vatk(k); expsrt(k)$expt(k) = df("expsub",k)/expt(k); expsrt0(k) =expsrt(k); display tarint,tarc,targ,tark, vtint,vatc, vatg,vatk,dlint,dlc,dlg, tk; display tarintd,tarcd,targd,tarkd,vtintd,vatcd,vatgd,vatkd,dlintd, dlcd,dlgd,sumtar,sumvat, sumdl; * Impose a marginal income tax on labour income according to data: hit(hh) = 0.38; netwage(hh) = (1-hit(hh)) * wages(hh); * Assume that 3/4 as much time is spent on leisure and * home production for all households: leisure(hh) =(3/4) * netwage(hh); Parameter orev revenue from other taxes and subsidies in production trev revenue from tariff drev revenue from duties and levies vrev vat revenue lrev revenue from labour income tax krev revenue from capital income tax ; parameter vrev1, vrev2, vrev3, vrev4; parameter orev1, orev2, orev3, orev4, orev5; orev = sum((k,kk), subint(k,KK)*(iof(k,kk)))+sum((hh,k),(cch0(hh,k))*(subfc(k))) +sum(k,(id0(k))*(subfk(k))) +sum(k,(g0(k))*subfg(k)) +sum(k,subfe(k)*expt(k)); orev1(k) =sum(kk, subint(k,KK)*(iof(k,kk))) ; orev2(k) = sum(hh,(cch0(hh,k))*(subfc(k))); orev3(k) =(id0(k)+stock(k))*(subfk(k)) ; orev4(k) = (g0(k))*subfg(k); orev5(k) = subfe(k)*expt(k); orev = sum(k,orev1(k)+orev2(k)+orev3(k)+orev4(k)+orev5(k)); display orev1, orev2, orev3, orev4, orev5; trev = sum((k,kk), tarint(k,KK)*iofm(k,KK))+sum(k,ccm0(k)*(tarc0(k))) +sum(k,(id0m(k)+stockm(k))*(tark0(k))) +sum(k,gm0(k)*targ0(k)) +sum(k,tarrexd(k)); * tarint(k,kk)$iofm(k,kk) = (tarintd(k,kk)/iofm(k,kk)$iofm(k,kk)); * tarc(k)$ccm0(k) = tarcd(k)/ccm0(k); * targ(k)$gm0(k) = targd(k)/gm0(k); * tark(k)$(id0m(k)+stockm(k)) = tarkd(k)/(id0m(k)+stockm(k)); drev = sum((k,kk),dlint(k,kk)*((iof(k,kk)*(1+subint(k,KK))+iofm(k,KK)*(1+tarint(k,KK))))) +sum(k, dlc(k)*((cc0(k)*(1+subfc(k))+ccm0(k)*(1+tarc(k))))) +sum(k,dlg(k)*((g0(k)*(1+subfg(k))+gm0(k)*(1+targ(k))))) +sum(k,dlk(k)*((id0(k)*(1+subfk(k))+id0m(k)*(1+tark(k))))); vrev1(k)= sum(kk, vtint0(k,kk)*((iof(k,kk)*(1+subint(k,KK))+iofm(k,KK)*(1+tarint(k,KK)))*(1+dlint(k,kk)))); vrev2(k)= vatc(k)*((cc0(k)*(1+subfc(k))+ccm0(k)*(1+tarc(k)))*(1+dlc(k))); vrev3(k)=vatk(k)*(((id0(k)+stock(k))*(1+subfk(k))+(id0m(k)+stockm(k)) *(1+tark(k)))*(1+dlk(k))); vrev4(k)= vatg(k)*((g0(k)*(1+subfg(k))+gm0(k)*(1+targ(k)))*(1+dlg(k))); vrev = sum(k, vrev1(k)+vrev2(k)+vrev3(k)+vrev4(k)); lrev = sum(hh, hit(hh)*wages(hh)); krev = sum((j,k),tk(j,k)*(k0(j,k)/(1-tk(j,k)))); grev = orev+trev+drev+vrev+lrev+krev; display orev,trev,drev,vrev,lrev,krev, grev; display vrev1, vrev2, vrev3, vrev4; parameter gdc(hh,k) consumption of domestic goods gross of taxes gmc(hh,k) consumption of imported goods gross of taxes gid0 total investment gross of taxes ; *total domestic demand gdc(hh,k) = cc0(k)*(1+subfc(k))*(1+dlc(k))*(1+vatc(k)); gmc(hh,k) = ccm0(k)*(1+tarc(k))*(1+dlc(k))*(1+vatc(k)); dd0(k) = sum(kk, iof(kk,k))+id0(k)+ cc0(k)+g0(k)+stock(k); *total investment gid0 =sum(k,(id0(k)+stock(k))*(1+subfk(k))*(1+vatk(k))) +sum(k,(id0m(k)+stockm(k))*(1+tark(k))*(1+vatk(k))); display gdc,gmc,gid0; * The value of aggregate (extended) consumption: * c0(hh) = sum(k, cch0(hh,k)+ cchm0(hh,k)) + leisure(hh); c0(hh) = sum(k, gdc(hh,k)+ gmc(hh,k)) + leisure(hh); *check the trade balance condition parameter tbal, labtax,gsav, gsavh, vatrev; tbal = sum(k,m0(k)+rexp(k))-sum(k, expt(k)+rexp(k)+tariff("rexpsub",k)+df("expsub",k)); display tbal; * Government tax revenue: k0(j,k) = zz("ka",k)*(pafo(j,k)+dep(j,k))*(cap0(j,k)/sum(jj,(pafo(j,k)+dep(j,k))*cap0(jj,K))); kt0(k) = sum(j,k0(j,k)); kt0(k) = zz("ka",k); k0(j,k) = k0(j,k)-tk(j,k)*k0(j,k); * Zero profit: prf(k) = y0(k) - sum(kk, iof(kk,k)) - sum(kk, iofm(kk,k))- l0(k) - sum(j, k0(j,k)/(1-tk(j,k)))-sum(kk,tarintd(kk,k)) -sum(kk,vtintd(kk,k))-sum(kk,dlintd(kk,k))-sum(kk,subintd(kk,k)); parameter iofd, iomd, iotar,iovt,iodl; iofd(k)= sum(kk, iof(kk,k)); iomd(k)= sum(kk, iofm(kk,k)) ; iotar(k)= sum(kk,tarintd(kk,k)) ; iovt(k)= sum(kk,vtintd(kk,k)) ; iodl(k)= sum(kk,dlintd(kk,k)) ; display k0,kt0,prf; *,y0,iofd, iomd, iotar,iovt,iodl; * Market clearance: mkt(k) = y0(k) - sum(kk,iof(k,kk)) - cc0(k)-g0(k)-id0(k)-stock(k)-expt(k); mkt("l") = sum(hh, wages(hh)) - sum(k, l0(k)); mkt("k") = sum((j,k), k0(j,k)/(1-tk(j,k))) - sum((j,hh),intr(j,hh)); display mkt, prf; * Assuming that the data satisfy zero profit and market * clearance, use net transfers to balance income accounts: parameter tvald total value added ciof composite gross intermediate input ; tvald(hh) = (sum(j,intr(j,hh)))+wages(hh); ciof(kk,k) = (iof(kk,k)*(1+subint(kk,k))+iofm(kk,k)*(1+tarint(kk,k)))*(1+dlint(kk,k))*(1+vtint(kk,k)); *+sum(k,prot(k)+tar(k)) display tvald; parameter gbal government balance grinv gross investment pub total public consumption netintr(hh) netinterest income saving household savigns incadj(hh) income adjustment term ; *elasticities of the model parameter ntrnrt; pub =sum(k,(g0(k)*(1+subfg(k))*(1+dlg(k))*(1+vatg(k))))+sum(k,gm0(k)*(1+targ(k))*(1+dlg(k))*(1+vatg(k))); gbal = grev -pub; grinv(hh)= 1/card(hh)*gid0; nettrn(hh) = sum(j,intr(j,hh))+(netwage(hh)+leisure(hh))-c0(hh)-sum((j,k),tk(j,k)*(k0(j,k)/(1-tk(j,k)))); labtax(hh) =hit(hh)*wages(hh); saving(hh) = nettrn(hh)+gbal; incadj(hh) =grinv(hh) -saving(hh); ntrnrt(hh) = nettrn(hh)/(sum(j,intr(j,hh))+(netwage(hh)+leisure(hh))); display grev, pub, gbal,saving,grinv, nettrn, incadj,ntrnrt; hit0(hh) = hit(hh); tk0(j,k) = tk(j,k); gsize =1; TABLE elast(K,*) elasticities in central case SIGMAV SIGMAK SIGMAC ETRAN Agric 1.214 1.214 1.214 1.214 Extra 1.654 1.654 1.654 1.654 Minin 1.500 1.500 1.500 1.500 Chemi 1.654 1.654 1.654 1.654 Metal 1.612 1.612 1.612 1.612 Engin 1.500 1.500 1.500 1.500 Foodd 1.000 1.000 1.000 1.000 othma 0.900 0.900 0.900 0.900 Power 1.500 1.500 1.500 1.500 Const 1.000 1.000 1.000 1.000 Distr 1.600 1.600 1.600 1.600 Trans 1.600 1.600 1.600 1.600 Finan 1.600 1.600 1.600 1.600 Pubad 1.600 1.600 1.600 1.600 Educa 1.600 1.600 1.600 1.600 House 1.000 1.000 1.000 1.000 ; Parameters etran transformation elsticity sigmav subt. elasticity -labour and composite capital sigmak substitution elasticity among assets sigmac subt elasticity in consumption sigmau sub elasticity- consumption and leisure sigmal labour supply elasticity etran0, sigmav0, sigmak0, sigmac0, sigmau0,sigmal0; sigmav(k) = elast(k,"sigmav"); sigmak(k) = elast(k,"sigmak"); sigmac(k) = elast(k,"sigmac"); sigmau(hh) = 1.5; sigmal(hh) = 1.5; etran(k) = elast(k,"etran"); etran0(k) = etran(k); sigmav0(k) = sigmav(k); sigmak0(k) = sigmak(k); sigmac0(k) = sigmac(k); sigmau0(hh) = sigmau(hh); sigmal0(hh) = sigmal(hh); sigmav(k) = 1/1.5*sigmav0(k); sigmak(k) = 1/1.5*sigmak0(k); sigmac(k) = 1/1.5*sigmac0(k); sigmau(hh) = .5; sigmal(hh) = .5; etran(k) = 2.5*etran0(k); *reference prices parameter pint0 reference price for domestic intermediate input pmint0 reference price for imported intermediate input pdc0 reference price for domestic consumption goods pmc0 reference price for imported consumption goods pdk0 reference price for domestic investment goods pmk0 reference price for inported investment goods pdg0 reference price for government consumption goods pmg0 reference price for government consumption for imported goods ; parameter vatdc composite tax on consumption of domestic goods vatmc composite tax on consumption of imported goods vatdk composite tax on investment of domesitc goods vatmk composite tax on investment of imported goods vatdg composite tax on public consumption of domestic goods vatmg composite tax on public consumption of imported goods vatdc0 composite tax on consumption of domestic goods vatmc0 composite tax on consumption of imported goods vatdk0 composite tax on investment of domestic goods vatmk0 composite tax on investment of imported goods vatdg0 composite tax on public consumption of domestic goods vatmg0 composite tax on consumption of imported goods alldint composite tax on domestic intermediate goods allmint composite tax on imported intermediate goods alldint0 composite tax on domestic intermediate goods allmint0 composite tax on imported intermediate goods ; parameter crevfc,crevfk,crevfg; vatdc(k) = (1+subfc(k))*(1+dlc(k))*(1+vatc(k))-1; vatmc(k) = (1+tarc(k))*(1+dlc(k))*(1+vatc(k))-1; vatdk(k)= (1+subfk(k))*(1+dlk(k))*(1+vatk(k))-1; vatmk(k)= (1+tark(k))*(1+dlk(k))*(1+vatk(k))-1; vatdg(k)= (1+subfg(k))*(1+dlg(k))*(1+vatg(k))-1; vatmg(k)= (1+targ(k))*(1+dlg(k))*(1+vatg(k))-1; crevfc = sum(k, (vatdc(k)*cc0(k))+vatmc(k)*ccm0(k)); crevfk = sum(k, (vatdk(k)*(id0(k)+stock(k)))+(vatmk(k)*(id0m(k)+stockm(k)))); crevfg = sum(k, (vatdg(k)*g0(k))+vatmg(k)*gm0(k)); display crevfc, crevfk,crevfg; alldint(k,Kk) = (1+vtint(k,kk))*(1+dlint(k,kk))*(1+subint(k,kk))-1; allmint(k,Kk) = (1+tarint(k,kk))*(1+dlint(k,kk))*(1+vtint(k,kk))-1; alldint0(k,kk) = alldint(k,Kk); allmint0(k,kk) = allmint(k,Kk); vatdc0(k)= vatdc(k); vatmc0(k)= vatmc(k); vatdk0(k)= vatdk(k); vatmk0(k)= vatmk(k); vatdg0(k)= vatdg(k); vatmg0(k)= vatmg(k); Pint0(k,kk) =(1+alldint0(k,kk)); pmint0(k,kk) = (1+allmint0(k,kk)); pdc0(k) =(1+vatdc0(k)); pmc0(k) =(1+vatmc0(k)); pdk0(k) =(1+vatdk0(k)); pmk0(k) =(1+vatmk0(k)); pdg0(k) =(1+vatdg0(k)); pmg0(k) =(1+vatmg0(k)); display pint0, pmint0,pdc0,pmc0,pdk0,pmk0,pdg0,pmg0; $ONTEXT $MODEL:UK $ECHOP:.TRUE *$FUNLOG:.TRUE *$DATECH:.TRUE $sectors: y(k) ! production ls(hh) ! labor supply c(hh) ! consumpion IM(K)$(m0(k)) ! imports inv ! investment go ! public good production x(k)$expt(k) ! export u(hh) ! Utility intd(k,kk)$(iof(k,kk)+iofm(k,kk)) !composite intermediate input mint(k,kk)$(iofm(k,kk)) !imported intermediate input dint(k,kk)$(iof(k,kk)) !domestic intermediate input imf(k)$(ccm0(k)+gm0(k)+id0m(k)+stockm(k)) !imports for final demand $commodities: pd(k) ! domestic supply price PM(K)$m0(k) ! import price pfx ! foreign price in terms of dom price px(k)$expt(k) ! export price rk(j) ! capital rental rate pl ! wage rate ple(hh) ! net of tax wage pc(hh) ! unit expenditure cost households pint(k,kk)$(iof(k,kk)+iofm(k,kk)) ! price of composite intermediate input Pmint(k,kk)$(iofm(k,kk)) ! price of imported intermediate input Pdint(k,kk)$(iof(k,kk)) ! price of domestic intermediate input pmc(k)$ccm0(k) ! consumption price of imports pmk(k)$(id0m(k)+stockm(k)) ! investment price of imports pmg(k)$gm0(k) ! public consumption price of imports pu(hh) ! cost of leisure plus composite good pinv ! price of investment goods pg ! price of public consumption $consumers: ra(hh) ! income of private households govt ! revenue account invest ! financing investment $AUXILIARY: TAU_Tk ! capital tax replacement multiplier TAU_Tc ! consumption tax multiplier TAU_Tg ! public consumption tax multiplier TAU_VTk ! investment tax multiplier TAU_IT ! Labor income tax replacement multiplier TAU_InT(k) ! Labor income tax replacement multiplier tau_ls ! lump sum replacement tax $prod:y(k) s:0 t:etran(k) va:sigmav(k) L(va):sigmak(k) o:pd(k) q:(y0(k)-expt(k)) o:px(k)$expt(k) q:(expt(k)) i:pint(kk,k)$(iof(kk,k)+iofm(kK,k)) q:ciof(kk,k) i:pl q:l0(k) va: i:rk(j) q:(k0(j,k)) a:govt N:tau_tk M:(tk(j,k)/(1-tk(j,k))) p:rk0(j,k) L: $prod:intd(k,kk)$(iof(k,kk)+iofm(k,kk)) o:pint(k,kk)$(iof(k,kk)+iofm(k,kk)) q:ciof(k,kk) i:pdint(k,kk)$(iof(k,kk)) q:iof(k,kk) a:govt N:tau_int(k) M:alldint(k,kk) P:Pint0(k,kk) i:pmint(k,kk)$(iofm(k,kk)) q:(iofm(k,kk)) a:govt N:tau_int(k) M:allmint(k,KK) P: Pmint0(k,kk) $prod:Dint(k,kk)$(iof(k,kk)) o:pdint(k,kk)$(iof(k,kk)) q:iof(k,kk) i:pd(k) q:iof(k,kk) $prod:mint(k,kk)$(iofm(k,kk)) o:pmint(k,kk)$(iofm(k,kk)) q:(iofm(k,kk)) i:pm(k)$m0(k) q:iofm(k,kk) $prod:x(k)$expt(k) o:pfx q:(expt(k)+df("expsub",k)) i:px(k)$expt(k) q:(expt(k)) a:govt T:expsrt(k) P:(1+expsrt0(k)) $prod:im(k)$m0(k) o:pm(k)$m0(k) q:(m0(k)) i:pfx q:m0(k) $prod:imf(k)$(ccm0(k)+gm0(k)+id0m(k)+stockm(k)) o:pmc(k)$ccm0(k) q:(ccm0(k)) o:pmk(k)$(id0m(k)) q:(id0m(k)) o:pmk(k)$(stockm(k)) q:(stockm(k)) o:pmg(k)$gm0(k) q:(gm0(k)) i:pm(k)$(m0(k)) q:(ccm0(k)+gm0(k)+id0m(k)+stockm(k)) $prod:u(hh) a:sigmau(hh) o:pu(hh) q:c0(hh) i:pc(hh) q:(sum(k, gdc(hh,k)+gmc(hh,k))) a: i:ple(hh) q:leisure(hh) a: $prod:c(hh) a:sigmac(hh) b:sigmau(hh) o:pc(hh) q:(sum(k, gdc(hh,k)+gmc(hh,k))) i:pd(k) q:(cch0(hh,k)) a:govt N:tau_tc M:vatdc(k) a: P:pdc0(k) i:pmc(k)$ccm0(k) q:(cchm0(hh,k)) a:govt N:tau_tc M:vatmc(k) a: P:pmc0(k) $prod:inv o:pinv q:gid0 i:pd(k) q:(id0(k)+stock(k)) a:govt N:tau_vtk M:vatdk(k) P:pdk0(k) i:pmk(k)$(id0m(k)+stockm(k)) q:(id0m(k)+stockm(k)) a:govt N:tau_vtk M:vatmk(k) P:pmk0(k) $prod:go s:2 o:pg q:pub i:pd(k) q:g0(k) a:govt N:tau_tg M:vatdg(k) P:pdg0(k) i:pmg(k)$gm0(k) q:gm0(k) a:govt N:tau_tg M:vatmg(k) P:pmg0(k) $prod:ls(hh) d:sigmal(hh) o:pl q:(wages(hh)) a:govt N:tau_it M:hit(hh) P:(1-hit0(hh)) i:ple(hh) q:(netwage(hh)) d: $demand:ra(hh) d:pu(hh) q:c0(hh) e:ple(hh) q:(leisure(hh)+netwage(hh)) e:rk(j) q:(sum(k,k0(j,k))) e:pu(hh) q:(nettrn(hh)) R:tau_ls e:pfx q:tbal $demand:govt d:pg q:(pub) e:pg q:(grev) e:pu(hh) q:(-gbal) $demand:invest d:pinv q:(gid0) e:pu(hh) q:saving(hh) * e:pd(k) q:(df("expsub",k)) $report: V:Y1(k) O:Pd(k) PROD:Y(k) V:x1(k) O:Pfx PROD:x(k) V:m1(k) O:Pm(k) PROD:im(k) V:C1(HH) O:Pc(hh) PROD:C(HH) V:tint(kk,k)$(iof(kk,k)+iofm(kK,k)) o:pint(kk,k) PROD:intd(kk,k) V:L1(k) I:PL PROD:Y(k) V:K1(j,k) I:RK(j) PROD:Y(k) V:LS1(HH) i:PLe(hh) PROD:LS(HH) V:U1(HH) O:PU(hh) PROD:U(HH) V:go1 O:pg prod:GO V:inv1 O:pinv prod:inv V:LE(HH) I:PLE(HH) PROD:U(HH) V:W1(hh) D:PU(HH) DEMAND:RA(HH) V:W(HH) W:RA(HH) $CONSTRAINT:TAU_Tk gsize =E= go; $CONSTRAINT:TAU_IT go =E= Gsize; $CONSTRAINT:TAU_tc go =E= Gsize; $CONSTRAINT:TAU_int(k) go =E= Gsize; $CONSTRAINT:TAU_vtk go =E= Gsize; $CONSTRAINT:TAU_tg go =E= Gsize; $CONSTRAINT:TAU_ls go =E= Gsize; $offtext $sysinclude mpsgeset uk TAU_Tk.l =1; TAU_Tc.L =1; TAU_Tg.L =1; TAU_VTk.L =1; TAU_InT.L(k) =1; TAU_IT.L =1; TAU_ls.L =1; pfx.fx =1; option decimals =4; uk.workspace =15; option mcp =path; uk.iterlim =0; $include uk.gen solve uk using mcp; parameter reva government revenue meb marginal excess burden of taxes va(k) value added net of tax betak(k,J) share of asset j in capital income alpha(hh) share of composite consumption alphal(Hh) share of leisure sumalphc total of consumption share alphac consumption share deaggregated VAS share in value added lifetk capital income tax rate in new life assumptions tbalk cvgdp_ ; parameter welfare change in utility of households capital change in capital stock by sector and assets output change in output by sector employ change in sectoral employment export change in exports Import change in imports intrd change in intermediate input use consm change in level of consumption labsup change in labour supply ch_leis change in leisure ktmult capital income tax multiplier vtmult consumption tax multiplier htmult labour tax income multiplier prmult production tax multiplier trmult tariff rate multiplier baserev revenue in the base case newrev revenue in the new case ktax new capitaltax rate leiper percentage change in leisure lsper percentage change in labour supply emplper percentage change in employment emplpr percentage change in employment outper percentage change in output capper percentage change in assets by sector basewage baseyear wage newwage wage in new solution leiprice price of leisure mprice domestic price of imported commodity xprice domestic price of exports basew cup composite utility price ccp composite consumption price govc ; parameter captax new tax rate on capital income constax new tax rate on consumption congtax new tax rate on consumption conitax new tax rate on consumption prodtax new tax rate on production ntarif new tariff rate labtaxn new tax rate on labour income invch change in investment goch government size revindx revenue index revindx1 revenue index ubase base utility ibase base household income gobase base government consumption gibase base government income invbase base inverstor resources invibase investors baseyear income xbase mbase xvolume mvolume cbal cbalbase EV Hicksian moneymetric EV for households CV Hicksian moneymetric CV for households EVg Hicksian moneymetric EV for government CVg Hicksian moneymetric CV for government EVk Hicksian moneymetric EV for investors CVk Hicksian moneymetric CV for investors EVT Total Hicksian moneymetric EV CVT Total Hicksian moneymetric EV evgdp Hicksian moneymetric EV as % of 1995 UK GDP cvgdp Hicksian moneymetric CV as % of 1995 UK GDP capinflow inflow(+) or outflow(-) of capital asstallow0 inflow of assets by sector asstinfln inflow of assets by sector kstokk welfr chekk % of error in allocation of assets swelf0 Aggregate social welfare in the base case swelf1 New aggregate social welfare swelf2 change in aggregate social welfare meb marginal excess burden of taxes evgdp_ stbal lselas(hh) ; Option decimals =5; reva = govt.L; va(k) = PL.L*L1.L(k) +sum(j, RK.L(j)*K1.L(j,k)); betak(k,J) = (rk.L(j)*K1.L(J,K))/va(k); vas(k, "cap") =sum(j, betak(k,J)); vas(k, "lab") =(PL.L*L1.L(k))/va(k) ; vas(k, "va") =PL.L*L1.L(k) +sum(j, RK.L(j)*K1.L(j,k)); alpha(hh) =(pc.l(hh)*c1.l(Hh))/(sum(k,gdc(hh,k)+gmc(hh,k))+leisure(hh)); alphac(k,hh) =(gdc(hh,k)+gmc(hh,k))/SUM(KK,(gdc(hh,kk)+gmc(hh,kk))); sumalphc = sum((k,hh), alphac(k,hh)); alphaL(Hh) = 1-alpha(hh); alphac(k, "govt") = ((g0(k)*(1+vatg(k)+dlg(k)+subfg(k)))+gm0(k)*((1+targ(k)+vatg(k)+dlg(k)+subfg(k))))/pub; alphac(k,"invest")= ((id0(k)*(1+vatk(k)+subfk(k))) +(id0m(k)*(1+tark(k)+vatk(k)+subfk(k))) +(stock(k)+stockm(k)) )/gid0; baserev = grev; basew = pl.l; ubase(hh) = u1.l(hh); ibase(hh) = ra.l(hh); gobase = go1.l; gibase = govt.l; invbase = inv1.l; invibase = invest.l; xbase(k) =x1.l(k); mbase(k) =m1.l(k); cbalbase = sum(k,xbase(k) -mbase(k)); display va,betak,vas,alpha,alphal,alphac, sumalphc; display ubase, ibase, gobase, gibase, invbase, invibase; uk.iterlim =100000; $exit *uniform tax case ** central elasticities etran(k)= etran0(k); sigmav(k)= 1/2*sigmav0(k); sigmak(k)= 1/2*sigmak0(k); sigmac(k)= sigmac0(k); sigmau(hh)= 0.5*sigmau0(hh); sigmal(hh)= 0.5*sigmal0(hh); TAU_Tk.l =1; TAU_Tc.fx =1; TAU_Tg.fx =1; TAU_VTk.fx =1; TAU_InT.fx(k) =1; TAU_IT.fx =1; TAU_ls.fx =1; TAU_Tk.lo =-inf; TAU_Tk.up =inf; tk(j,k) = 0.3; $include uk.gen solve uk using mcp; $include out.gms $include ev.gms display "central",sigmav, sigmak, etran,sigmac, sigmau,sigmal,tk0,captax, vatc0, constax, vatg0, congtax,vatk0, conitax, hit0,labtaxn,tarint0; display welfare, output,capital, employ, intrd,export, import,consm,ch_leis, pub, baserev, newrev, leiper, lsper,emplpr, outper, capper,chekk,basewage, newwage, leiprice,mprice,xprice; display "central",ev,cv,evg,evg,evk,cvk,evt,cvt,evgdp_,cvgdp,kstokk,capinflow; display "central",lsper,emplpr, outper, capper, tk0; display "central", xbase, mbase,cbalbase, xvolume, mvolume, cbal; $exit TAU_Tk.l =1; TAU_Tc.fx =1; TAU_Tg.fx =1; TAU_VTk.fx =1; TAU_InT.fx(k) =1; TAU_IT.fx =1; asstallow0(j,k) =k1.l(j,k)-k0(j,k); *fix the rental rate to base year values $ontext rk.fx(j) =1; * TAU_tk.up = inf; tk(j,k) =0.3; $include uk.gen solve uk using mcp; tbal = sum(k, px.l(k)*x1.l(k)-pm.l(k)*m1.l(k))+sum(j,sum(k,k1.l(j,k)-k0(j,k))); $include uk.gen solve uk using mcp; $include out.gms $include ev.gms asstinfln(j,k)$k0(j,k) =(((k1.l(j,k)-k0(j,k))-asstallow0(j,k)))/cap0(j,k); display tbal,capinflow, asstallow0,asstinfln; $offtext etran(k)= 2*etran0(k); sigmav(k)= 1/2*sigmav0(k); sigmak(k)= 1/2*sigmak0(k); sigmac(k)= sigmac0(k); sigmau(hh)= .5*sigmau0(hh); sigmal(hh)= .5*sigmal0(hh); *household income taxes TAU_Tk.fx =1; TAU_tk.lo =-inf; TAU_tk.up = inf; *TAU_it.lo =-inf; *TAU_it.up = inf; TAU_ls.lo =-inf; TAU_ls.up = inf; hit(hh) = 0.2; $include uk.gen solve uk using mcp; $include out.gms $include ev.gms display "hit",sigmav, sigmak, etran,sigmac, sigmau,sigmal,tk0,captax, vatc0, constax, vatg0, congtax,vatk0, conitax, hit0,labtaxn,tarint0; display "hit", welfare, output,capital, employ, intrd,export, import,consm,ch_leis, pub, baserev, newrev, leiper, lsper,emplpr, outper, capper,chekk,basewage, newwage, leiprice,mprice,xprice; display "hit",ev,cv,evg,evg,evk,cvk,evt,cvt,evgdp_,cvgdp,kstokk,capinflow; display "hit",lsper,emplpr, outper, capper, capinflow, capital; display "hit", xbase, mbase,cbalbase, xvolume, mvolume, cbal; display tarint0,tarc0,targ0,tark0,vtint0,vatc0,vatg0,vatk0,dlint0, dlc0,dlg0,hit0,tk0; $exit $include ptaxl.gms lifetk(j,k) =trafo(j,k); tk(j,k) =lifetk(j,k); $include uk.gen solve uk using mcp; $include out.gms $include ev.gms captax(j,k,"life") =TAU_Tk.L*tk(j,k); display "life",sigmav, sigmak, etran,sigmac, sigmau,sigmal,tk0,captax, vatc0, constax, vatg0, congtax,vatk0, conitax, hit0,labtaxn,tarint0; display "life",lsper,emplpr, outper, capper; display "life",tk0, lifetk; display "life", welfare, output,capital, employ, intrd,export, import,consm,ch_leis, pub, baserev, newrev, leiper, lsper,emplpr, outper, capper,chekk,basewage, newwage, leiprice,mprice,xprice; display "life",ev,cv,evg,evg,evk,cvk,evt,cvt,evgdp_,cvgdp,kstokk,capinflow; display vatdc0, vatmc0, vatdk0 ,vatmk0, vatdg0, vatmg0,alldint0, allmint0;