$ontext This is the first case in section 5.6 of the text (Institutional Differences) where we start with no policy in both N and S and autarky and then let a marginal change in policy in N (decrease in polln intensity) lead to trade. Two countries (N and S) identical in every respect. Here I have basically replicated the single country model of earlier sections of the book allowing each country to have its own variables but sharing model parameters. There is a single world price of each good (px,py), each country produces both goods and total world demand equals total world supply. As N's pollution intensity decreases from 1 we see: - world price of dirty good rises - total world production of dirty good decreases - S imports clean good and exports dirty good - pollution drops in N and rises in S - welfare rises in N and drops in S $offtext option limcol=0,limrow=0; parameter * These hold for both N and S beta labor share in f / 0.3 /, sigma labor share in y / 0.7 /, alpha polln share in x / 0.2 /, omega income share of x / 0.5 /, gamma convexity / 2 /, l labor endowment / 1 /, k capitalendowment / 1 /, s_l labor endowment / 1 /, s_k capitalendowment / 1 /, xprice price of good x / 1 /, yprice price of good y / 1 /; * these variables pertain to North positive variables xs prodn of dirty good x, zx demand for pollution, kx capital used in dirty good (x) prodn, lx labor used in dirty good (x) prodn, theta fraction of dirty good (x) prodn allocated to abatement, ys prodn of clean good y, ky capital used in clean good (y) prodn, ly labor used in clean good (y) prodn, tau price of pollution permit, xd dirty good (x) demand, yd clean good (y) demand, zs supply of pollution (permits), r capital rent, w labor wage, i income, e pollution intensity north, px price of dirty good (x), py price of clean good (y), tau north polln permit cost, ebar fixed polln intensity in N; * these variables pertain to South positive variables s_xs south prodn of dirty good x, s_zx south demand for pollution, s_zs south supply of pollution (from utility), s_kx south capital used in dirty good (x) prodn, s_lx south labor used in dirty good (x) prodn, s_theta south fraction of dirty good (x) prodn allocated to abatement, s_ys south prodn of clean good y, s_ky south capital used in clean good (y) prodn, s_ly south labor used in clean good (y) prodn, s_tau south price of pollution permit, s_xd south dirty good (x) demand, s_yd south clean good (y) demand, s_r south capital rent, s_w south labor wage, s_i south income, s_e south pollution intensity, s_tau south permit cost, s_ebar fixed polln intensity in S; variables u north utility function, md north marginal damage, s_u south utility function, s_md south marginal damage; * equations for north economy equations xsdef dirty good (x) production, kxdef demand for capital in dirty good (x) prodn, lxdef demand for labor in dirty good (x) prodn, thetadef definition of theta, ysdef clean good (y) production kydef demand for capital in clean good (y) prodn, lydef demand for labor in clean good (y) prodn, udef utility function, xddef derived demand for dirty good (x), yddef derived demand for clean good (y), rdef capital market clearing condition, wdef labor market clearing condition idef total income clearing condition, zxdef fixed pollution production condition, taudef demand for polln in dirty good prodn, mddef definition of marginal damage, zxdef2 supply of z equals demand; * equations for south economy equations s_xsdef dirty good (x) production, s_kxdef demand for capital in dirty good (x) prodn, s_lxdef demand for labor in dirty good (x) prodn, s_thetadef definition of theta, s_ysdef clean good (y) production s_kydef demand for capital in clean good (y) prodn, s_lydef demand for labor in clean good (y) prodn, s_udef utility function, s_xddef derived demand for dirty good (x), s_yddef derived demand for clean good (y), s_rdef capital market clearing condition, s_wdef labor market clearing condition s_idef total income clearing condition, s_zxdef fixed pollution production condition, s_taudef demand for pollution in dirty good prodn, s_mddef definition of marginal damage, s_zxdef2 supply of z equals demand; equations xdemand equilibrium in dirty good, ydemand equilibrium in clean good; * north supply side equations xsdef.. xs =e= (zx**alpha) * (lx**(beta*(1-alpha))) * (kx**((1-beta)*(1-alpha))); taudef.. tau*zx =e= alpha*px*xs; kxdef.. r*kx =e= px*(1-alpha)*(1-beta)*xs; lxdef.. w*lx =e= px*(1-alpha)*beta*xs; ysdef.. ys =e= (ky**(1-sigma)) * (ly**(sigma)); kydef.. r*ky =e= (1-sigma)*py*ys; lydef.. w*ly =e= sigma*py*ys; * north demand side equations udef.. u =e= log(xd)*omega + log(yd)*(1-omega) - (zs**gamma)/gamma; xddef.. px*xd =e= omega*i; yddef.. py*yd =e= (1-omega)*i; * north clearing conditions rdef.. k =e= kx + ky; wdef.. l =e= lx + ly; zxdef2.. zx =e= zs; idef.. i =e= w*l + r*k + tau*zx; * north variable definitions thetadef.. theta =e= 1 - ((alpha*px/tau)**((alpha/(1-alpha)))); zxdef.. xs*ebar =e= zx; mddef.. md =e= i * (zs**(gamma-1)); * south supply side equations s_xsdef.. s_xs =e= (s_zx**alpha) * (s_lx**(beta*(1-alpha))) * (s_kx**((1-beta)*(1-alpha))); s_taudef.. s_tau*s_zx =e= alpha*px*s_xs; s_kxdef.. s_r*s_kx =e= px*(1-alpha)*(1-beta)*s_xs; s_lxdef.. s_w*s_lx =e= px*(1-alpha)*beta*s_xs; s_ysdef.. s_ys =e= (s_ky**(1-sigma)) * (s_ly**(sigma)); s_kydef.. s_r*s_ky =e= (1-sigma)*py*s_ys; s_lydef.. s_w*s_ly =e= sigma*py*s_ys; * south demand side equations s_udef.. s_u =e= log(s_xd)*omega + log(s_yd)*(1-omega) - (s_zs**gamma)/gamma; s_xddef.. px*s_xd =e= omega*s_i; s_yddef.. py*s_yd =e= (1-omega)*s_i; * south clearing conditions s_rdef.. s_k =e= s_kx + s_ky; s_wdef.. s_l =e= s_lx + s_ly; s_zxdef2.. s_zs =e= s_zx; s_idef.. s_i =e= s_w*s_l + s_r*s_k + s_tau*s_zx; * south variable definitions s_thetadef.. s_theta =e= 1 - ((alpha*px/s_tau)**((alpha/(1-alpha)))); s_zxdef.. s_xs*s_ebar =e= s_zx; s_mddef.. s_md =e= s_i * (s_zs**(gamma-1)); * clearing of world supply and demand xdemand.. xd + s_xd =e= xs + s_xs; ydemand.. yd + s_yd =e= ys + s_ys; * start with some reasonable values xs.l=1; zx.l=1; kx.l=1; lx.l=1; ys.l=1; ky.l=1; ly.l=1; tau.l=1; u.l=1; xd.l=1; yd.l=1; r.l=1; w.l=1; i.l=3; s_xs.l=1; s_zx.l=1; s_kx.l=1; s_lx.l=1; s_ys.l=1; s_ky.l=1; s_ly.l=1; s_tau.l=1; s_u.l=1; s_xd.l=1; s_yd.l=1; s_r.l=1; s_w.l=1; s_i.l=3; px.l=1; * non-binding lower bounds (to prevent divide by zero errors) xd.lo=.0001; yd.lo=.0001; s_xd.lo=.0001; s_yd.lo=.0001; * numeraire good py.fx=yprice; ebar.fx=1; s_ebar.fx=1; * upper bound on theta theta.up=1; s_theta.up=1; model permit /all/; * we are not really maximizing since we have a * set of equality constraints solve permit using nlp maximizing u; set index /1*10/; PARAMETER REPORT(INDEX,*); loop(index, * tighten pollution policy in N ebar.fx = 1.0 - .02*(ord(index)-1); * we are not really maximizing since we have a * set of equality constraints SOLVE PERMIT USING nlp maximizing u; REPORT(INDEX, "X Price") = PX.l + EPS; REPORT(INDEX, "Xd") = XD.L+EPS; REPORT(INDEX, "Xs") = XS.L + EPS; REPORT(INDEX, "Yd") = YD.L+EPS; REPORT(INDEX, "Ys") = YS.L+EPS; REPORT(INDEX, "Util") = U.L + EPS; REPORT(INDEX, "Tau") = TAU.L + EPS; REPORT(INDEX, "Polln") = ZX.L + EPS; REPORT(INDEX, "MD") = md.l + EPS; report(index, "e") = ebar.l + eps; REPORT(INDEX, "s_Xd") = s_XD.L+EPS; REPORT(INDEX, "s_Xs") = s_XS.L + EPS; REPORT(INDEX, "s_Yd") = s_YD.L+EPS; REPORT(INDEX, "s_Ys") = s_YS.L+EPS; REPORT(INDEX, "s_Util") = s_U.L + EPS; REPORT(INDEX, "s_Tau") = s_TAU.L + EPS; REPORT(INDEX, "s_Polln") = s_ZX.L + EPS; REPORT(INDEX, "s_MD") = s_md.l + EPS; report(index, "s_e") = s_ebar.l + eps; report(index, "global Polln") = zx.l + s_zx.l + eps; ); display report;