In this section the core static models are presented. The purpose of the models is largely to illustrate how the benchmark data in the GTAPinGAMS and GTAP-EG datasets are organized. Any application of the GTAP data to a specific policy question should involve the development of a model tailored to the issues. A modeller can change the model to suit his specific purpose because he has a full access to the code of the build routine and the model.
The core static model described in this paper does not have precisely the same structure as the GTAP model implemented in GEMPACK. There are several immediate differences between the standard GTAP model and the GTAPinGAMS model. First, the units of account are different by a factor of 10000. GTAP measures all transactions in millions of 1995$. GTAPinGAMS measure transactions in tens of billions of 1995$.
Second, there is a potentially important difference concerns the structure of final demand. In the GEMPACK model final demand is represented by a constant-difference-elasticity (CDE) demand system whereas in the GAMS model final demand is Cobb-Douglas. Given differences in functional forms, even if benchmark value shares and reference prices are identical the two models may produce somewhat different estimates of policy changes due to differences in income and substitution elasticities.
A third set of differences concerns the representation of investment demand and global capital markets. The standard GTAP model assumes that a ``global bank'' allocates international capital flows in response to changes in regional rates of return. The GTAPinGAMS model makes the simplest possible assumptions regarding investment demand, international capital flows and the time path of adjustment: all of these variables are exogenously fixed at base year levels. 10
In the next section, the GTAPinGAMS model in Mathiesen's format is presented. After describing the mathematics, the MPSGE formulation of the model is provided. This presentation includes a fair amount of explanatory text so that we hope it will be comprehensible to non-MPSGE programmers. Thereafter follows a description of the model as it may be expressed in GAMS algebra as an MCP model. 11
An Arrow-Debreu model concerns the interaction of consumers and producers in markets. Lars Mathiesen [1985] proposed a representation of this class of models in which two types of equations define an equilibrium: zero profit and market clearance. The corresponding variables defining an equilibrium are activity levels (for constant-returns-to-scale firms) and commodity prices.12
Commodity markets merge primary endowments of households with producer outputs. In equilibrium the aggregate supply of each good must be at least as great as total intermediate and final demand. Initial endowments are exogenous. Producer supplies and demands are defined by producer activity levels and relative prices. Final demands are determined by market prices.
Economists who have worked with conventional textbook equilibrium models can find Mathiesen's framework to be somewhat opaque because many quantity variables are not explicitly specified in the model. Variables such as final demand by consumers, factor demands by producers and commodity supplies by producers, are defined implicitly in Mathiesen's model. For example, given equilibrium prices for primary factors, consumer incomes can be computed, and given income and goods prices, consumers' demands can then be determined. The consumer demand functions are written down in order to define an equilibrium, but quantities demanded need not appear in the model as separate variables. The same is true of inputs or outputs from the production process: relative prices determine conditional demand, and conditional demand times the activity level represents market demand. Omitting decisions variables and suppressing definitional equations corresponding to intermediate and final demand provides significant computational advantages at the cost of a somewhat more complex model statement.
The core GTAPinGAMS model described here is a static, multi-regional model which tracks the production and distribution of goods in the global economy. In GTAP the world is divided into regions, and each region's final demand structure is portrayed by a representative agent who allocates expenditure across goods so as to maximize welfare, with fixed levels of investment and public output. Production incorporates intermediate inputs, and primary factors include skilled and unskilled labor, land, resources and physical capital. The dataset includes a full set of bilateral trade flows with associated transport costs, export taxes and tariffs.
In the following section, before writing down the equilibrium conditions per se, production technology and producer choices are described. Then the structure of private and public final demand are outlined. Finally, the zero profit and market clearance equations are written down.
It is a matter of personal taste in mathematics and computing, but we generally use one or two character identifiers in an algebraic exposition while employing GAMS parameters with as many as 10 characters. In order to avoid potential confusion due to differences in notation, Table gives a cross-reference of symbols used in the algebraic formulation in this paper to the GAMS parameters which define the benchmark value of these variables in the GTAPinGAMS dataset.
Symbol | GAMS Parameter |
tirY | ty(i,r) |
tirID | ti(j,i,r) |
tirF | tf(f,i,r) |
tisrX | tx(i,s,r) |
tisrM | tm(i,s,r) |
tirG | tg(i,r) |
tirC | tp(i,r) |
Yir ajir | vafm(j,i,r) |
FDfir | vfm(f,i,r) |
Mirs | vxmd(i,r,s) |
Tirs | vtwr(i,r,s) |
TDir | vst(i,r) |
DGir | vdgm(i,r), |
MGir | vigm(i,r) |
DCir | vdpm(i,r) |
MCir | vipm(i,r) |
Xir | vxm(i,r) |
Dir | vdm(i,r) |
DIir | vdfm(i,r) |
MIir | vifm(i,r) |
CDir | vpm(i,r) |
GDir | vgm(i,r) |
MIir | vm(ï",i,r) |
MGir | vm("g",i,r) |
MCir | vm("c",i,r) |
DIir | vm(ï",i,r) |
DGir | vm("g",i,r) |
DCir | vm("c",i,r) |
Br | B(r) |
tirs | vtwr(i,r,s)/vxmd(i,r,s) |
In the GTAP model there are two types of produced commodities, goods produced for domestic markets and goods produced for export. In the base GTAPinGAMS model these goods are assumed to be imperfect substitutes produced as joint products with a constant elasticity of transformation.13 Specifically, if Dir is domestic output and Xir is exports, then
|
where Yir is the activity level for good i in region r. Producers are competitive, implying that given a value of Yir, supplies to the domestic and export markets are given by:14
|
and
|
Inputs to production include primary factors and intermediate inputs. Intermediate demands are proportional to the level of activity, so the total intermediate demand for good i in region r is:
|
In the core model we assume that all intermediate input coefficients (aijr) are fixed, unresponsive to price.15
Following Armington [1969] intermediate demand is represented as a composite of imported and domestic goods as imperfect substitutes. Thus, we have:
|
in which DIir is domestic intermediate and MIir is imported intermediate demand.
A Cobb-Douglas production function relates activity level and factor inputs. Producers minimize unit cost given factor prices and applicable taxes. The factor demands solve:
|
taking Yir as given. Linear homogeneity of the production function implies that factor demands may be expressed as the product of an activity level and compensated demand function depending on factor prices and factor taxes:
|
Public sector output is assumed to represent a Cobb-Douglas aggregation of market commodities:
|
As is the case for intermediate demand, an Armington aggregation of domestic and imported inputs defines public sector demand:
|
Public sector output is exogenous, however the composition of public sector inputs responds to relative prices, gross of applicable tax, hence:
|
A representative agent determines final demand in each region. These consumers are endowed with primary factors, tax revenue, and an exogenously-specified net transfer from other regions. This income is allocated to investment, public demand and private demand. Investment and public output are exogenous while private demand is determined by utility maximizing behavior. The utility function is Cobb-Douglas:
|
As in the case of intermediate and public demand, an Armington aggregation of domestic and imported inputs defines each commodity, so
|
Aggregate final demand is then defined by regional expenditure and the unit price of aggregate of domestic and imported goods, gross of applicable tax:
|
Regional expenditure (Mr) includes factor income, net capital flows and tax revenue, net of the cost of investment and public expenditure.
There are three types of imports in the model: imports to intermediate demand (MIir), imports to public sector demand (MGir) and imports to final consumer demand (MCir). The maintained assumption is that while the aggregate import share may differ between these three functions, each of these shares have the same regional composition within the import aggregate. A CES aggregation across imports from different regions s forms the total import composite:
|
Two tax margins and a transportation cost apply on bilateral trade in the model. Real transport costs are proportional to trade:
|
and these inputs are defined by a Cobb-Douglas aggregate of international transport inputs supplied by different countries:
|
It is helpful to think of international transportation margins as transportation services which are provided by perfectly competitive producers from different regions with an Armginton aggregation across services from different countries and an elasticity of substitution equal to unity. The technology providing transportation services exhibits constant returns to scale, so we can specify a price pT representing the unit cost of transportation on all commodity trade flows.16
Bilateral trade flows are determined by cost-minimizing choice, given the fob export price from region r, pirX, the export tax rate, tirX, and the import tariff rate, tirM.17 We then may write the demand for bilateral imports as:
|
Consumer expenditure for a representative agent are the sum of factor earnings and tax revenue, net the cost of investment, public sector output and net capital outflows:
|
Capital flows in the base year are represented by Br in this expression, and in a counterfactual equilibrium these are held fixed and denominated in terms of the numeraire price index, the consumer price level in region n (USA).
Having defined technology, preferences and compensated demand functions, we now may turn to the market clearance conditions.
Domestic output equals demand for intermediate inputs to production, public sector use, final consumer demand plus domestic investment:18
|
in which airD,I, airD,G, and airD,C represent the compensated demands for domestic inputs by submarket, each of which are functions of pirD and pirM.
Aggregate supply of imports, defined by the Armington aggregation across imports from different regions must equal aggregate import demand for intermediate, public and private consumption:
|
in which airM,I, airM,G, and airM,C represent compensated demands for imported inputs by submarket, each functions of pirD and pirM.
Export supplies equals import demand across all trading partners plus demands for international transport:19
|
In the second equation airsM represents the unit demand for region r output per unit of region s aggregate imports.
The model includes supply-demand conditions for the Armington composite goods entering intermediate demand, public and private demand, as has already been specified above in the equations defining IDir, GDir and CDir.
Primary factor (labor, capital, land, resource) endowment equals primary factor demand:
|
Competitive producers operating constant-returns technology earn zero profit in equilibrium. For the GTAP producer, the value of output to the firm equals the value of sales in the domestic and export markets net of applicable indirect taxes. Costs of production include factor inputs (taxed at rate tF) and intermediate inputs (taxed at rate tID):
|
Zero profit conditions apply to trade activities as well as production. In equilibrium, the value of imports at the domestic cif price therefore equals the fob price gross of export tax, the transportation margin and the applicable tariff:
|
Armington aggregation functions transform domestic and imported goods into composite goods for intermediate demand, public sector demand and private demand. Zero profit for these activities provide the following equilibrium identities:
|
|
|
in which
|
is the unit cost function defined by the constant-elasticity-of-substitution aggregate of domestic and imported inputs.
Table contains variable declarations for the GTAPinGAMS model as implemented in MPSGE.20 The model includes sectors related to production by commodity and region (Y(i,r)); Armington aggregation across imports from different trading partners (M(i,r)); Armington aggregation between domestic and imported varieties by market segment (A(d,i,r) in which d refers to intermediate, public and private demand); public demand by region (G(r)); private demand by region (C(r)); and the provision of international transport margins (YT).
The production activities for public and private demand are associated with outputs which represent the marginal cost of public and private consumption, PG(r) and PC(r). For each commodity and region there are six different price indices. PD(i,r) represents the cost index for a unit of domestic output; PX(i,r) represents the cost index for exports; pm(i,r) represents the cost of a unit of imports (aggregated across all trading partners), and PA(d,i,r) represents the cost index of a unit of composite Armington supply by submarket. Primary factor prices are represented by PF(f,r), and the market price of a unit of international transport services is represented by PT.
The final class of variables in the MPSGE model are consumers, and in this model there is one representative consumer for each region. In a solution RA.L(r) returns the equilibrium expenditure on household consumption by region r.
$MODEL:GTAP $SECTORS: Y(i,r) ! Output A(d,i,r) ! Armington aggregation of domestic and imports M(i,r) ! Import aggregation C(r) ! Private consumption G(r) ! Public provision YT ! Transport $COMMODITIES: PG(r) ! Public provision PC(r) ! Private demand PD(i,r) ! Output price PX(i,r) ! Export price PM(i,r) ! Import price PA(d,i,r) ! Armington composite price PF(f,r) ! Factor price PT ! Transport services $CONSUMERS: RA(r) ! Representative agent
An MPSGE model is specified by a sequence of function ``blocks'', one for each production sector and consumer in the model. In this model there are six classes of production sectors. (See Table 10.) The first of these refers to production by commodity and region, Y(i,r). This production activity has a nested-CES cost function with a Leontief aggregation across intermediate inputs at the top level (see s:0) and unity within the value-added aggregate (va:1), and an elasticity of transformation across outputs equal to 2 (see T:2). There are inputs and outputs associated with the Y(i,r) production function. Outputs correspond to production for the domestic market, O:PD(i,r), and production for the export market, O:PX(i,r). The reference quantity entries for these coefficients are the benchmark values of domestic and export sales. A tax at an ad-valorem rate ty(i,r) is applied to both domestic and export sales.21
There are two types of inputs to the Y(i,r) production function, corresponding to goods and factors. Intermediate inputs are taken from the market for Armington aggregates into production. Substitution between factor inputs is created by assigning those inputs to the va: input aggregate.22
$PROD:Y(i,r) S:0 T:eta va:1 O:PD(i,r) Q:vdm(i,r) A:RA(r) T:ty(i,r) O:PX(i,r) Q:vxm(i,r) A:RA(r) T:ty(i,r) I:PA("i",j,r) Q:vafm(J,i,r) P:pi0(j,i,r) A:RA(r) T:ti(j,i,r) I:PF(f,r) Q:vfm(f,i,r) P:pf0(f,i,r) A:RA(r) T:tf(f,i,r) va: $REPORT: V:FD(f,i,r) I:PF(f,r) PROD:Y(i,r) V:YD(i,r) O:PD(i,r) PROD:Y(i,r) V:YX(i,r) O:PX(i,r) PROD:Y(i,r) $PROD:A(d,i,r) S:esubdm O:PA(d,i,r) Q:va(d,i,r) I:PD(i,r) Q:vd(d,i,r) I:PM(i,r) Q:vm(d,i,r) $PROD:M(i,r) S:esubmm s.TL:0 O:PM(i,r) Q:vim(i,r) I:PX(i,s) Q:vxmd(i,s,r) P:px0(i,s,r) s.TL: + A:RA(S) T:TX(i,s,r) A:RA(r) T:(tm(i,s,r)*(1+tx(i,s,r))) I:PT#(s) Q:vtwr(i,s,r) P:pt0(i,s,r) s.TL: + A:RA(r) T:tm(i,s,r) $PROD:G(r) S:1 O:PG(r) Q:vg(r) I:PA("g",i,r) Q:vgm(i,r) P:pg0(i,r) A:RA(r) T:tg(i,r) $PROD:C(r) S:1 O:PC(r) Q:vp(r) I:PA("c",i,r) Q:vpm(i,r) P:pc0(i,r) A:RA(r) T:tp(i,r) $PROD:YT S:1 O:PT Q:vt I:PX(i,r) Q:vst(i,r) $DEMAND:RA(r) E:PF(f,r) Q:evoa(f,r) E:PC(num) Q:vb(r) E:PD(cgd,r) Q:(-vi(r)) E:PG(r) Q:(-vg(r)) D:PC(r) Q:vp(r)
Taxes are levied on intermediate demand inputs at net rate ti and taxes apply to primary factor inputs at net rate tf. For example, the market value of primary factor services purchased by firms is vfm(f,i,r), but the total cost to firms equals vfm(f,i,r)*(1+tf(f,i,r)), of which vfm(f,i,r) is paid as wages or dividends to factor owners while vfm(f,i,r)*tf(f,i,r) is paid as a tax to RA(r).23
The Armington aggregation activity A(d,i,r) generates three functions for each commodity in each region. For simplicity, we have specified a domestic-import elasticity of substitution equal to 4 for all goods, commodities and Armington submarkets.
The import aggregation activity, M(i,r), is the most complex component of the model. First, it defines the aggregation of imports by trading partner. Second, it applies export taxes and import tariffs on all bilateral trades.24 Third, it applies transportation margins which are proportional to quantities traded. The output market PM(i,r) serves as an input to the Armington aggregation sectors. There are two types of inputs to the M(i,r) activity. The I:PX(i,s) input represents fob payments to producers in region s.
The I:PT#(s) input represents multiple inputs of transportation services, one for each element of set s. There are multiple inputs of transportation services into each imported good simply because every bilateral trade flow demands its own transportation services. Using a Leontief aggregate on each bilateral trade flow assures that transport costs and imports remain strictly proportional to the base year level, t(i,r,s) = vtwr(i,s,r)/vxmd(i,s,r).
The function declaration indicates a top-level substitution elasticity equal to esubmm (S:esubmm), and it also indicates a vector of second level input nests, each with an elasticity of substitution equal to zero (s.tl:0).25
Final consumption by consumers and producers in region r is characterized by production activities c(r) and g(r), respectively. The elasticity of substitution across goods in final demand is specified to be unity (S:1).
The yt production activity provides international transportation services as a Cobb-Douglas composite of goods provided in the domestic markets of each region.
The model statement concludes with a specification of endowments and preferences for each region's representative agent ($DEMAND:RA(r)). Each agent is endowed with primary factors and capital inflows. They are also ``endowed'' with a fixed negative quantities of the domestic cgd commodity and public sector outputs representing exogenously-specified demands for investment and public sector output. All remaining income is allocated to private consumption.
The closure adopted here in which investment and public demand are both exogenous is adopted for simplicity, and also because the welfare estimates from this closure seem to most closely match the infinite-horizon model (see Rutherford and Tarr [1998]). In the MPSGE model it is quite simple to adopt alternative assumptions regarding investment. For example, investment could be modeled by a constant marginal propensity to save as:
$DEMAND:RA(r) s:1 E:PF(f,r) Q:evoa(f,r) E:PC(num) Q:vb(r) E:PG(r) Q:(-vg(r)) D:PD(cgd,r) Q:vi(r) D:PC(r) Q:vp(r)
As stated above, the MPSGE formulation of an equilibrium model follows Mathiesen's modeling format in which intermediate demand and supply functions can be captured as functions of prices and activity levels. The computational advantage of this approach is that fewer variables are needed, and it is considerably less costly to solve the resulting smaller system of equations.26
parameter cd(i,r) Private demand gd(i,r) Public demand td(i,r) Transportation demand; cd(i,r) = vpm(i,r) * C.L(r) * PC.L(r) * pc0(i,r) / ( PA.L("c",i,r) * (1 + tp(i,r)) ); gd(i,r) = vgm(i,r) * G.L(r) * PG.L(r) * pg0(i,r) / ( PA.L("g",i,r) * (1 + tg(i,r)) ); td(i,r) = vst(i,r) * YT.L * PT.L / PX.L(i,r);
Intermediate demands and supplies from MPSGE models can be computed by the modeller using equilibrium prices and activity levels. For example, in this model it is quite simple to compute private, public and transportation demands from the solution of an MPSGE model, because all of these activities are Cobb-Douglas. (See Table 12.) It is, however, possible to extract equilibrium demands directly from the MPSGE function evaluation through use of the $REPORT: statement, listed in Table 11 immediately after the Yir production block. In this model three demand and supply quantity variables are declared, representing primary factor demand by sector, supply to the domestic market and supply to the export market. These values are returned in FD.L(f,i,r), YD.L(i,r), and YX.L(i,r) respectively.
Compactness of representation leaves fewer opportunities to make mistakes. For this reason alone we prefer to implement equilibrium models with MPSGE. We recognize, however, that the tabular MPSGE syntax can be impenetrable for many competent modellers, therefore, we conclude my discussion of the core GTAPinGAMS model by going through the implementation in GAMS algebra. We pose the model here as a mixed complementarity problem, but in this formulation all of the market clearance and zero profit conditions will hold with equality, so the model can be solved in GAMS as a nonlinear program (NLP) with a vacuous objective or a constrained nonlinear system (CNS).
In order to write out GTAP in algebraic form, it is helpful to introduce some additional benchmark data structures which simplify demand function algebra. The extra parameters include benchmark value shares for all of the nonlinear demand and supply functions in the model. (See Table .)
The variables used in the GAMS/MCP model are listed in Table , separated by blank lines into four subsets. The first set of variables are unit demand and supply functions, corresponding to the symbols from the algebraic formulation above. (See Table 9.) Demand and supply functions are represented implicitly in the MPSGE model, but for simplicity these are introduced as separate symbols in the algebraic model. The remaining three subsets of variables in the model correspond precisely to the sectors, commodities and consumers in the MPSGE model.
Table presents equations defining the unit demand and supply functions. Using benchmark quantities, prices and value shares, we use the calibrated share form to express demands as a function of input prices. In order to keep track of what is what, we are following Michael Saunders' suggestions for GAMS program style, listing variables and GAMS variables in upper case, parameters and sets in lower case. The three symbols in Table have not yet been defined. eta=2 represents the elasticity of transformation between production for the domestic and export markets, esubdm=4 is the domestic-import Armington elasticity of substitution, and esubmm=8 is the import-import Armington elasticity.
PARAMETER vad(i,r) Sectoral value-added, tau(i,r,s) Unit transport cost coefficient thetaf(f,i,r) Value added, thetad(i,r) Domestic output, thetag(i,r) Government demand, thetap(i,r) Private demand, thetat(i,r) Transport, thetam(d,i,r) Import value share, beta(i,s,r) Value share of bilateral imports, gamma(i,s,r) Goods share of unit import cost; vad(i,r) = sum(f, vfm(f,i,r)*pf0(f,i,r)); tau(i,r,s)$vxmd(i,r,s) = vtwr(i,r,s) / vxmd(i,r,s); thetam(d,i,r)$va(d,i,r) = vm(d,i,r) / va(d,i,r); thetaf(f,i,r)$vad(i,r) = pf0(f,i,r) * vfm(f,i,r) / vad(i,r); thetad(i,r)$vom(i,r) = vdm(i,r) / vom(i,r); thetag(i,r) = pg0(i,r) * vgm(i,r) / vg(r); thetap(i,r) = pc0(i,r) * vpm(i,r) / vp(r); thetat(i,r)$sum((j,s), vst(j,s)) = vst(i,r) / vt; beta(i,s,r)$vxmd(i,s,r) = (vxmd(i,s,r)*pmx0(i,s,r)+vtwr(i,s,r)*pmt0(i,s,r) ) / vim(i,r); gamma(i,s,r)$vxmd(i,s,r) = vxmd(i,s,r)*pmx0(i,s,r) / (vxmd(i,s,r)*pmx0(i,s,r) + vtwr(i,s,r)*pmt0(i,s,r) );
VARIABLES A_G(i,r) Public sector unit demand A_C(i,r) Private unit demand A_F(f,i,r) Factor unit demand A_X(i,r) Export unit supply A_D(i,r) Domestic unit supply A_M(i,r,s) Import unit demand C(r) Private consumption G(r) Public provision Y(i,r) Aggregate Output M(i,r) Import aggregation A(d,i,r) Armington aggregations YT Transport PC(r) Private demand PG(r) Public provision PD(i,r) Domestic Output price PX(i,r) Export price PM(i,r) Import price PA(d,i,r) Armington composite price PF(f,r) Factor price PT Transport services RA(r) Representative agent income;
DEF_G(i,r).. A_G(i,r) =E= vgm(i,r) * PROD(j, (PA("g",j,r)*(1+tg(j,r))/pg0(j,r))**thetag(j,r)) / ( PA("g",i,r)*(1+tg(i,r))/pg0(i,r) ); DEF_C(i,r).. A_C(i,r) =E= vpm(i,r) * PROD(j, (PA("c",j,r)*(1+tp(j,r))/pc0(j,r))**thetap(j,r)) / ( PA("c",i,r)*(1+tp(i,r))/pc0(i,r) ); DEF_F(f,i,r).. A_F(f,i,r) =E= vfm(f,i,r) * PROD(ff, (PF(ff,r)*(1+tf(ff,i,r))/pf0(ff,i,r) )**thetaf(ff,i,r)) / ( PF(f,r)*(1+tf(f,i,r)) / pf0(f,i,r) ); DEF_X(i,r).. A_X(i,r) =E= vxm(i,r) * (PX(i,r) / (thetad(i,r) * PD(i,r)**(1+eta) + (1-thetad(i,r)) * PX(i,r)**(1+eta))**(1/(1+eta)) )**eta; DEF_D(i,r).. A_D(i,r) =E= vdm(i,r) * (PD(i,r) / (thetad(i,r) * PD(i,r)**(1+eta) + (1-thetad(i,r)) * PX(i,r)**(1+eta))**(1/(1+eta)) )**eta; DEF_M(i,r,s).. A_M(i,r,s) =E= vxmd(i,r,s) * ( PM(i,s) / ( gamma(i,r,s) * PX(i,r)*(1+tx(i,r,s))*(1+tm(i,r,s))/pmx0(i,r,s) + (1-gamma(i,r,s)) * PT*(1+tm(i,r,s)) / pmt0(i,r,s) ) )**esubmm;
Having defined compensated demands, it is then straightforward to write down zero profit equations. For sector Yir this means that the cost of inputs to production (intermediate demand plus primary factors, gross of tax) must equal the value of outputs (domestic sales plus exports, net of tax).
* Production: PRF_Y(i,r).. SUM(j, vafm(j,i,r) * PA("i",j,r) * (1+ti(j,i,r)) ) + SUM(f, A_F(f,i,r) * PF(f,r) * (1 + tf(f,i,r)) ) =E= (1 - ty(i,r)) * (PD(i,r) * A_D(i,r) + PX(i,r) * A_X(i,r)); * Armington aggregation across imports from different countries: PRF_M(i,r).. SUM(s, (1 + tm(i,s,r)) * A_M(i,s,r) * (PX(i,s) * (1 + tx(i,s,r)) + PT * tau(i,s,r))) =E= PM(i,r) * vim(i,r) ; * Public output: PRF_G(r).. SUM(i, PA("g",i,r) * (1+tg(i,r)) * A_G(i,r)) =E= PG(r) * vg(r); * Private consumption: PRF_C(r).. SUM(i, PA("c",i,r) * (1+tp(i,r)) * A_C(i,r)) =E= PC(r) * vp(r); * Import-domestic aggregation by submarket: PRF_A(d,i,r).. ((1-thetam(d,i,r)) * PD(i,r)**(1-esubdm) + thetam(d,i,r) * PM(i,r)**(1-esubdm) )**(1/(1-esubdm)) =E= PA(d,i,r); * Inter-national transport services (Cobb-Douglas): PRF_YT.. PROD((i,r), PD(i,r)**thetat(i,r)) =E= PT;
The zero profit conditions for A(d,i,r), and YT are based on CES and Cobb-Douglas cost functions because the associated unit demand functions are not defined explicitly in the model.27 Market clearance equations are displayed in Table . The only tricky equation here is MKT_PA(d,i,r) in which we use three different subsets to equate submarket supply with intermediate, public and private demand. The subsets are declared:
set i_d(d)/i/, c_d(d) /c/, g_d(d) /g/;This notation permits us to define a different right-hand-side expression for each element of set d in the model definition.
* Exports: MKT_PX(i,r).. YX(i,r)*Y(I,R) =E= SUM(s, A_M(i,r,s)*M(i,s)) + VST(i,r)*YT*(PT/PX(i,r)); * Domestic supply: MKT_PD(i,r).. YD(i,r) * Y(I,R) =E= SUM(d, A(d,i,r) * vd(d,i,r) * ( PA(d,i,r)/PD(i,r) )**esubdm ) + vi(r)$cgd(i); * Imports: MKT_PM(i,r).. vim(i,r) * M(i,r) =E= SUM(d, A(d,i,r) * vm(d,i,r) * ( PA(d,i,r)/PM(i,r) )**esubdm ); * International transport: MKT_PT.. YT * vt =E= sum((i,r,s), A_M(i,r,s) * M(i,s) * tau(i,r,s)); * Armington supply: MKT_PA(d,i,r).. va(d,i,r) * A(d,i,r) =E= sum(j, vafm(i,j,r) * Y(j,r))$i_d(d) + (A_C(i,r) * C(r))$c_d(d) + ( A_G(i,r) * G(r))$g_d(d); * Government provision: MKT_PG(r).. G(r) =E= 1; * Factor market: MKT_PF(f,r).. evoa(f,r) =E= sum(i, A_F(f,i,r) * Y(i,r)); * Private demand: MKT_PC(r).. C(r) * vp(r) =E= RA(r) / PC(r) ;
The final equation for this model is an expression defining regional income as a function of factor prices, transfers, and tax revenue. The complexity in this equation concerns accounting for revenue from each of seven different tax instruments.28 Not to belabor the point, but the income expression in Table illustrates the usefulness of MPSGE for tax policy analysis.29
INC_RA(r).. RA(r) =E= sum(f, PF(f,r) * evoa(f,r)) + sum(num, PC(num) * vb(r)) - sum(cgd, PD(cgd,r) * vdm(cgd,r)) - PG(r) * vg(r) * Output tax: + sum(i, ty(i,r)*(PX(i,r)*A_X(i,r)+PD(i,r)*A_D(i,r))*Y(I,R) ) * Tax on intermediate demand: + sum((i,j), ti(j,i,r) * PA("i",j,r) * vafm(j,i,r) * Y(i,r) ) * Taxes on factor use: + sum( (i,f), tf(f,i,r) * PF(f,r) * A_F(f,i,r) * Y(i,r)) * Export tax: + sum((i,s), tx(i,r,s) * PX(i,r) * A_M(i,r,s) * M(i,s) ) * Import tariff applies to mechandise gross of export tax * and transport cost: + sum((i,s), tm(i,s,r) * A_M(i,s,r) * M(i,r) * ( PX(i,s) * (1+tx(i,s,r)) + PT * tau(i,s,r) ) ) * Taxes on government consumption: + sum(i, tg(i,r) * PA("g",i,r) * A_G(i,r) * G(r)) * Taxes on private consumption: + sum(i, tp(i,r) * PA("c",i,r) * A_C(i,r) * C(r));
In this section, an illustrative static model based on the GTAP-EG dataset is presented. We start with a description of the flows of goods and factors in the model. Then a general structure of the Arrow-Debreu model in Mathiesen format is discussed. We present basic blocks of the core model and their nesting structure as implemented in GAMS-MPSGE. MPSGE (Mathematical Programming System for General Equilibrium) is a compact and powerful programming language for economic modelling developed by Rutherford [1999] 30.
The simplified structure of the regional flows of goods and factors is presented in Figure 2. The world is divided into regions. Each region incorporates markets for electricity, E, and non-electric energy, N. Non-electric energy includes: oil, gas and coal. Crude oil may be produced domestically or imported, and it is then refined prior to delivery as an input to production and final demand. Electricity is not traded, and produced using coal, oil, gas or non-fossil inputs. Final energy products are supplied both as inputs to production and final demand.
Consumption in each region is associated with utility maximization by a representative agent subject to a budget constraint. The agent supplies primary factors (capital, K, labor, L, and energy resources, R) to non-energy and energy sectors. Factor income of each representative agent is then allocated to the purchase of energy (E and N), non-energy goods (C), and investment (I). Regions are connected with the global economy through trade in energy and non-energy goods. Energy trade involves primarily crude oil and coal which can be exported or imported in international markets.
The core model described here is a static, multi-regional model which tracks the production and distribution of goods in the global economy. The model is an Arrow-Debreu general economic equilibrium model concerning the interaction of consumers and producers in markets. Lars Mathiesen [1985] proposed a representation of this class of models in which two types of equations define an equilibrium: zero profit and market clearance. The corresponding variables defining an equilibrium are activity levels (for constant-returns-to-scale firms) and commodity prices.31
Commodity markets merge primary endowments of households with producer outputs. In equilibrium the aggregate supply of each good must be at least as great as total intermediate and final demand. Initial endowments are exogenous. Producer supplies and demands are defined by producer activity levels and relative prices. Final demands are determined by market prices.
Economists who have worked with conventional textbook equilibrium models can find Mathiesen's framework to be somewhat opaque because many quantity variables are not explicitly specified in the model. Variables such as final demand by consumers, factor demands by producers and commodity supplies by producers, are defined implicitly in Mathiesen's model. For example, given equilibrium prices for primary factors, consumer incomes can be computed, and given income and goods prices, consumers' demands can then be determined. The consumer demand functions are written down in order to define an equilibrium, but quantities demanded need not appear in the model as separate variables. The same is true of inputs or outputs from the production process: relative prices determine conditional demand, and conditional demand times the activity level represents market demand. Omitting decisions variables and suppressing definitional equations corresponding to intermediate and final demand provides significant computational advantages at the cost of a somewhat more complex model statement.
The flows represented in Figure 2 are implemented in the GTAP-EG model in the following way. In the model there are two types of produced commodities, fossil-fuel and non-fossil fuel commodities. The model assumes that goods produced in different regions are qualitatively distinct (Armington [1968]). This implies that trade in goods is represented as flows between pairs of countries rather than from individual countries and an integrated global market. Every bilateral trade flow requires its own transportation services. Primary factors in each region include labor, capital and fossil-fuel resources. Labor is mobile within domestic borders but cannot move between regions. Capital can be global or region-specific. Natural resources are sector-specific.
Now we turn to a formulation of the GTAP-EG model in MPSGE format. The MPSGE framework is based on nested constant elasticity of substitution utility functions and production functions. MPSGE uses a concept of representing these functions as separate ``blocks''. We describe the basic blocks only. Some exception operators are omitted here to make the code easier to read32. Appendix 5 contains listing of the GAMS-MPSGE code.
In the GTAP-EG model an economy in region r consists of three production blocks. The block y(i,r) is related to production, where fossil-fuel production has a different structure from other production sectors. We implicitly introduced a production block for Armington supply which represents an aggregation between domestic and import varieties and across imports from different trading partners. Armington aggregation is described by the block a(i,r). Armington supply is used then for private consumption and as an intermediate input to production. Private consumption is presented by the block c(r). Finally, a production block yt describes the provision of international transport services.
In order to represent consumption, another class of the MPSGE variables is introduced. In each region the representative agent (described by a consumption block ra(r)) depicts a collective decision process for allocating income to households and to a government. Both c(r) and ra(r) MPSGE blocks are needed because final consumption is taxed and taxes cannot be imposed on a demand block.
Regions may apply domestic carbon taxes. Carbon tax revenue is collected by the representative agent in each region. Within this model, the carbon tax policy is equivalent to an emission permit system where the permit price coincides with the carbon tax. There are also taxes on output ty, intermediate inputs ti, consumption tc, export tx, and import tm. Figure 3 depicts the structure of the GTAP-EG model.
An MPSGE model is specified by endogenous variable declarations and a sequence of function "blocks", one for each production sector and consumer in the model. A declaration of the GTAP-EG variables is presented below. Key words in the declaration as follows. $SECTORS: describes production activities that convert commodity inputs into commodity outputs. The variable associated with a sector is the activity level. $COMMODITIES are related to a good or factor. The variable associated with a commodity is its price, not its quantity. $CONSUMERS denote individuals who demand commodities, supply factors and receive tax and other revenues. The variable associated with a consumer is income from all sources.
$sectors: c(r) ! Private consumption y(i,r) ! Output a(i,r) ! Armington aggregation yt ! Transport $commodities: pc(r) ! Final demand py(i,r) ! Output price pa(i,r) ! Armington composite price pl(r) ! Wage rate pr(i,r) ! Energy resource rkr(r)$rsk ! Return to regional capital rkg$gk ! Return to global capital pt ! Transport services pcarb(r) ! Carbon permits -- non-tradable $consumers: ra(r) ! Representative agent
According to Figure 3 and the declarations above, the GTAP-EG model includes sectors related to production by commodity and region y(i,r); Armington aggregation between domestic and import varieties and across imports from different trading partners a(i,r); the provision of international transport services yt; and private demand by region c(r).
The production activity for private demand is associated with an output which represent the marginal cost of private consumption pc(r). For each commodity and region there are three different price indices: py(i,r) represents the cost index for a unit of output; pa(i,r) is the cost index of a unit of composite Armington supply; pr(i,r) represents the cost index for energy resource. Labor is mobile within a region and the wage rate is pl(r). Capital may be region-specific rkr(r) or global rkg. The market price of a unit of international transport services is represented by pt. Emission permit price is pcarb(r).
The final class of variables in the MPSGE model are the consumers, and in this model there is one representative consumer for each region. In equilibrium, ra(r) is a variable representing income of the consumer in the region r.
Fossil fuel production activities includes crude, gas, and coal. Production has the structure shown in Figure 4, where a value to the right of the arc represents an elasticity. Fossil fuel output (y(xe), where xe is one type of exhaustible energy: crude, gas, coal) is produced as an aggregate of a resource input (pr(xe)) and a non-resource input composite. The non-resource input for the production is a fixed - coefficient (Leontief) composite of labor (pl) and the Armington aggregation (pa(i)) of domestic and imported intermediate input from a production sector i. The elasticity of substitution between pa and pl equals to zero (id:0), which characterizes a Leontief composite. The elasticity of substitution (s:esub_es) between the resource input and a non-resource input composite depends on the value share of resource inputs in fossil fuel supply.
Production block for the fossil fuel production y(xe,r) (where xe is a set of exhaustible energy) has the following implementation in MPSGE. There are inputs (i: fields) and outputs (o: field) associated with a production block. Each of them has an associated reference quantity (q: field) and reference price (p: field). If a reference price is equal to zero, then the price field can be omitted. The nesting structure consists of two nests with top level elasticity equal to s:esub_es, and the elasticity between intermediate and labor inputs equals 0 (id:0).
Output taxes ty and intermediate input taxes ti are collected by a representative agent in region r. The field a: shows who collects a tax, and the field t: determines a tax rate. For example, taxes are levied on intermediate demand inputs at net rate ti. The market value of intermediate inputs purchased by firms is vafm(j,xe,r), but the total cost to firms equals vafm(j,xe,r)*(1+ti(j,xe,r)), of which vafm(j,xe,r) is paid to sellers of intermediate inputs vafm(j,xe,r)*ti(j,xe,r) is paid as a tax to ra(r).
* Fossil fuel production activity (crude, gas and coal): $prod:y(xe,r)$vom(xe,r) s:(esub_es(xe,r)) id:0 o:py(xe,r) q:vom(xe,r) a:ra(r) t:ty(xe,r) i:pa(j,r) q:vafm(j,xe,r) p:pai0(j,xe,r) a:ra(r) t:ti(j,xe,r) id: i:pl(r) q:ld0(xe,r) id: i:pr(xe,r) q:rd0(xe,r)
Non-fossil fuel production (including electricity and refining) has a different structure. Figure 5 illustrates the nesting and typical elasticities employed in production sectors other than fossil fuels. Output is produced with fixed-coefficient (Leontief) inputs of intermediate non-energy goods and an energy-primary factor composite. The energy-primary factor composite is a constant-elasticity of substitution (CES) function with elasticity = 0.5. Primary factor inputs of labor and capital are aggregated through a Cobb-Douglas production function (va:1). The energy composite is a CES function of electricity versus other energy inputs, coal versus liquid fuels, and oil versus gas.
The following MPSGE block describes production of non-energy products (y(i,r)). This block is generated only for non-fossil fuel sectors, as noted by the inclusion of the exception operator $nr(i,r), where nr(i,r) is a set created as nr(i,r) = yes$(vom(i,r)$(not xe(i)));. This GAMS line means that a sector i in a region r is included in the set nr(i,r) if an aggregate output value vom(i,r) of sector i is not equal to zero and the sector i is not an exhaustible energy sector xe.
* Non-fossil fuel production (includes electricity and refining): $prod:y(i,r)$nr(i,r) s:0 vae(s):0.5 va(vae):1 + e(vae):0.1 nel(e):0.5 lqd(nel):2 + oil(lqd):0 col(nel):0 gas(lqd):0 o:py(i,r) q:vom(i,r) a:ra(r) t:ty(i,r) i:pa(j,r)$(not fe(j)) q:vafm(j,i,r) p:pai0(j,i,r) e:$ele(j) a:ra(r) t:ti(j,i,r) i:pl(r) q:ld0(i,r) va: i:rkr(r)$rsk q:kd0(i,r) va: i:rkg$gk q:kd0(i,r) va: i:pcarb(r)#(fe) q:carbcoef(fe,i,r) p:1e-6 fe.tl: i:pa(fe,r) q:vafm(fe,i,r) p:pai0(fe,i,r) fe.tl: a:ra(r) t:ti(fe,i,r)
The nesting of the production block is clearly more complicated than for fossil-fuel production. First, note that i:pa appears in two places of the production block. This is because Armington composite enters into production differently for different sectors. The line i:pa(j,r)$(not fe(j)) defines it for non final energy sectors, where fe denotes a set of a final energy (oil, coal, gas). The top level elasticity (s:) equals to zero. It has a subnest vae(s), which in turn has two subnests va(vae) and e(vae). An elasticity e: is only applied for electricity, which is shown by an exception operator e:ele(j). It means that the elasticity for all non final energy sectors except electricity is equal to the top level elasticity (s:0). Capital and labor are in va: nest.
The final energy has a special treatment in the line i:pa(fe,r). The line of elasticities nel(e): lqd(nel): oil(lqd): col(nel): gas(lqd): shows that the final energy is a subnest of e:. As such, intermediate inputs in the form of each final energy and its associated carbon tax enter as fixed-coefficient composites defined by an elasticity of substitution equal to zero (fe.tl:0). The suffix (.tl) represents a GAMS text label for a set element. It is used here to represent the nest generated for a set of final energy fe as shown in Figure 5.
Again, a representative agent in region r collects output taxes ty and intermediate input taxes ti. Carbon tax pcarb(r) is levied if production uses oil, gas, or coal as an intermediate input. The i:pcarb(r)#(fe) input represents the fact that the tax is applied for each element of the set fe.
Armington aggregation activity generates intermediate demand for production and final demand for consumption as a mix of domestic and imported goods as imperfect substitutes. We assume that the domestic-imports elasticity of substitution (d) equals to 4, while the elasticity of substitution among import sources (m) equals to 8. Imports from every region require transportation services (pt) which are implemented as shown in Figure 6 for region S.
The MPSGE function declaration indicates a top-level substitution elasticity between domestic (py(i,r)) and imported (py(i,s)) goods equal to four (s:4). Then it defines the aggregation of imports from a trading partner with the second-level substitution elasticity between imported commodities equal to eight (m:8). It applies export taxes (tx) and import tariffs (tm) on all bilateral trades. Note that the i:py(i,s) input also represents fob payments to producers in region s, and as such export taxes on sales from region s to region r are accrued to the representative agent in region s (a:ra(s)) while import tariffs are paid to the representative agent in region r (a:ra(r)).
The Armington supply block also applies transportation margins which are proportional to quantities traded. The i:pt#(s) input represents multiple inputs of transportation services, one for each element of set s. There are multiple inputs of transportation services into each imported good because every bilateral trade flow demands its own transportation services. Using a Leontief aggregate on each bilateral trade flow assures that transport costs and imports remain strictly proportional to the base year level.
* Armington aggregation over domestic versus imports: $prod:a(i,r)$a0(i,r) s:4 m:8 s.tl(m):0 o:pa(i,r) q:a0(i,r) i:py(i,r) q:d0(i,r) i:py(i,s) q:vxmd(i,s,r) p:pmx0(i,s,r) s.tl: + a:ra(s) t:tx(i,s,r) a:ra(r) t:(tm(i,s,r)*(1+tx(i,s,r))) i:pt#(s) q:vtwr(i,s,r) p:pmt0(i,s,r) s.tl: a:ra(r) t:tm(i,s,r)
The international transport services are assumed to be a Cobb-Douglas composite of goods provided in the domestic markets in each region, as shown in Figure 7.
The MPSGE representation shows yt as a Cobb-Douglas (s:1) composite of goods provided in the domestic markets of each region.
* International transport services (Cobb-Douglas): $prod:yt s:1 o:pt q:(sum((i,r), vst(i,r))) i:py(i,r) q:vst(i,r)
Final demand has the structure shown in Figure 8. Utility in each country is a constant elasticity aggregate of non-energy consumption and energy. The non-energy composite is in turn a Cobb-Douglas aggregate of different goods while final energy is a Cobb-Douglas aggregate of electricity, oil, gas, and coal.
Final consumption in region r is characterized by activity c(r), which is a constant elasticity aggregate (s:0.5) of non-energy consumption and energy. The non-energy composite is in turn a Cobb-Douglas (c:1) aggregate of different goods while final energy is a Cobb-Douglas (e:1) aggregate of electric energy, oil, gas, and coal. Carbon tax pcarb(r) is applied to a final demand.
* Final demand $prod:c(r) s:0.5 c:1 e:1 oil(e):0 col(e):0 gas(e):0 o:pc(r) q:ct0(r) i:pa(i,r) q:c0(i,r) p:pc0(i,r) i.tl:$fe(i) c:$(not e(i)) e:$ele(i) a:ra(r) t:tc(i,r) i:pcarb(r)#(fe) q:carbcoef(fe,"final",r) p:1e-6 fe.tl:
The model statement concludes with a specification of endowment and demand for each region's representative agent. Each agent is endowed with primary factors, capital inflows, non-tradable carbon permits and collects tax revenue. The income is allocated to investment and private demand. Representative agents are ``endowed'' with a fixed negative quantity of the domestic ``CGD'' commodity representing the exogenously-specified demand for investment. Private demand is determined by utility maximizing behavior.
$demand:ra(r) d:pc(r) q:ct0(r) e:py("cgd",r) q:-vom("cgd",r) e:rkr(r)$rsk q:(sum(i, kd0(i,r))) e:rkg$gk q:(sum(i, kd0(i,r))) e:pl(r) q:evoa("lab",r) e:pr(xe,r) q:rd0(xe,r) e:pc("usa") q:vb(r) e:pcarb(r) q:carblim(r)
In this section we show a calculation of a leakage rate based on the GTAP-EG model. The leakage rate is defined as the ratio of total carbon emissions by non-Annex B countries to total emissions abatement by the Annex B. This means that if the leakage rate is 50%, then a decrease in carbon emissions by the Annex B countries of 100 million tons will lead to the increase in carbon emissions by the non-Annex B countries of 50 million tons.
The formula for the leakage rate is
| (1) |
where n denotes the non-Annex B countries, m represents the Annex B, CARB0 is the level carbon emissions in a benchmark, CARB1 denotes carbon emissions in a counterfactual scenario. The calculation of the leakage rate can be implemented in GAMS in the following way.
leakage(r)$(not annexb(r)) = 100 * (scncarbon(r) - baucarbon(r)) / sum(annexb(rr), baucarbon(rr) - scncarbon(rr)); leakage("total")=sum(r, leakage(r));
The results of calculations based on the GTAP-EG model using the two different aggregated versions of the energy-economy datasets are as follows: GTAP-E-FIT - 8.1%, GTAP-EG - 11.5%. Once again, it shows a small difference between the datasets in their representation of the energy flows.