$ontext This is section 6.2 - factor endowment model with endogenous policy. I assume trade from start and N is richer than S (greater endowments). I increase N endowments in capital and decrease endowment in labor while keeping real income fixed (to original case) This uses the CRRA utility (n=1 case). Two countries (N and S) identical in every respect except for endowments. 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. We observe that as N's K/L ratio increases with real income fixed - tax decreases and intensity decreases in N - N initially imports then becomes exporter of dirty good - N polln increases and utility decreases - S polln decreases and utility first decreases then increases - global polln gradually decreases $offtext option limcol=0,limrow=0; $offlisting 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.6 /, gamma convexity / 2 /, s_l south labor endowment / 1 /, s_k south capitalendowment / 1 /, xprice price of good x / 1 /, yprice price of good y / 1 /, n_k north capital endowment / 1.5 /, n_l north labor endowment / 1.5 /; * 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, l labor endowment, k capital endowment, bigR real income in north; * 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_bigR real income in south; 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, zsdef demand for polln condition, bigrdef definition of real income in north; * 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, s_zsdef demand for pollution condition, s_bigrdef definition of real income in south; 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(bigR)-zs*gamma; bigrdef.. (px**omega)*bigR =e= i*(omega**omega)*(1-omega)**(1-omega); xddef.. px*xd =e= omega*i; yddef.. py*yd =e= (1-omega)*i; mddef.. md =e= i * gamma; zsdef.. tau =e= md; * 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*e =e= zx; * 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_bigR)-s_zs*gamma; s_bigrdef.. (px**omega)*s_bigR =e= s_i*(omega**omega)*(1-omega)**(1-omega); s_xddef.. px*s_xd =e= omega*s_i; s_yddef.. py*s_yd =e= (1-omega)*s_i; s_zsdef.. s_tau =e= s_md; s_mddef.. s_md =e= s_i * gamma; * 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_e =e= s_zx; * 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; theta.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_theta.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;l.l=1; * non-binding lower bounds (to prevent divide by zero errors) s_tau.lo=.0001; tau.lo=.0001; xd.lo=.0001; yd.lo=.0001; s_xd.lo=.0001; s_yd.lo=.0001; xs.lo=.001; s_xs.lo=.001; ys.lo=.001; s_ys.lo=.001; bigR.lo=.0001; s_bigR.lo=.0001; * numeraire good py.fx=yprice; * upper bound on theta and intensity(e) theta.up=1; s_theta.up=1; model permit /all/; * fix N endowment for first run to find bigR k.fx=n_k; l.fx=n_l; * we are not really maximizing since we have a * set of equality constraints solve permit using nlp maximizing u; * unfix N endowment of labor so can adjust * fix bigR in N to value from 1st run and then adjust K/L l.lo=.0001; l.up=10000; bigR.fx=bigR.l; set index /1*10/; PARAMETER REPORT(INDEX,*); loop(index, * increment norths endowment in capital k.fx = n_k + .05*(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") = e.l + eps; report(index, "bigR") = bigR.l + eps; report(index, "n_K") = k.l + EPS; report(index, "n_L") = l.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_e.l + eps; report(index, "s_bigR") = s_bigR.l + eps; report(index, "global z") = zx.l + s_zx.l + eps; ); display report;