6
Production and supply analysis
6.1. Introduction
The quantity supplied refers to the amount of a certain good producers are willing to supply when
receiving a certain price. The objective of supply analysis is the understanding of how producers will
respond to changes in:
- Product prices;
- Factor prices;
- Technology;
- Access to certain constraining factors of production.
It is important to policy decisions because it helps characterizing the impact of policy packages and
external shocks on producers’ response which is an essential component of models aimed at explaining
market prices, wage and employment, external trade, and government fiscal revenues.
Producers’ response depends on two elements. They are:
- The technological relation between any combination of inputs and resulting output which is
represented by the production function; and
- The behaviour in choice of inputs given the level of market prices for the commodities produced and
the factors employed in the production process.
6.2. Production Function and technical change
The production function for a particular good (q) shows the maximum amount of the good that can be
produced using alternative combinations of factors:
- variable, which can be purchased in the desire quantity, sach as labour, fertiliser, water, seeds ;
- fixed, which can be further distinguished in private (land, equipment), public (infrastructure,
extension services), and exogenous (weather, distance to market).
This classification also depends on time. In the short run factors of production are said to be fixed. In
the medium run some but not all factors of production may be adjusted. For example, land is fixed in
the medium run. In the long run all the factors of production are considered flexible.
The most adopted production functions are:
1. Linear production function;
2. Fixed proportions production function;
3. Cobb-Douglas production function;
4. Constant Elasticity of Substitution (CES) production function
Assuming only two factors of production, that is labour (L) and capital (K) and indicating with q the
quantity produced their functional form is shown by Table 30.
Table 30 – Production function typology and main features
Production function
typology
Equation Parameters Comments
Linear production
function
q=A+αK+βL α ,β>0
Fixed proportions (or
Leontief) production
function
q=min (αK ,βL ) α ,β>0
Cobb-Douglas
production functionq=A Kα+Lβ A>0∧α ,β>0
α ,β=¿ elasticities of output with respect to capital and labour
α ,+ β=1 constant returns to scale α ,+ β>1 increasing returns to scaleα ,+ β<1 decreasing returns to scale
CES production
functionq=A (K−ρ+L− ρ )
−ϵρ A>0 , ρ ≠0 , ϵ>0
- ρ = 1 linear production function; - ρ = -∞ fixed proportions production function; ρ = 0 Cobb-Douglas production function.
ϵ>0 = increasing returns to scaleϵ<0= decreasing returns to scale
Variations in the level of production depend on those in the quantities of inputs adopted. For policy
purposes, a relevant issue in this respect is the analysis of the effect of a technical progress.
Let us consider the following general specification of production function:
q=At f (L, K )
where A(t) represents all influences that go into determining q other than K and L, over time t.
Technical progress represents a change in A, over time. A is taken as a function of time (t) with
dAdt
>0
A technology progress is called Hicksian neutral when the marginal rate of technical substitution
among factors of production does not change with time.
Let us consider the a Cobb-Douglas production function
q=At Kα+Lβ
Let us assume that technical progress occurs at a constant exponential (q) then, the CD production
function can be rewritten as
q=At eθ Kα+Lβ
An Hicksian neutral technical progress at a constant exponential (q) is incorporated in a CES
production function as follows
q=At eθ (K− ρ+L− ρ)
−ϵρ
Technical progress can also be factor saving.
Let us consider qi the efficiency measure, with i labour or capital. Our CES production function can be
written as
q=At (θk K−ρ+θlL
−ρ )−ϵρ
In this case, technical progress affect the factors of production and qk and ql represents a capital-saving
and a labour-saving technological change, respectively.
6.3. Hicksian neutral technical progress in a CD production function
Let us consider production model for two commodities, rice and sugar, with the production function
specified in the form of a Cobb-Douglas combination of labour and capital. Simulate an exponential
rate of Hicksian neutral technical progress by e0.50.
The known information are illustrated in Table 31.
Table 31 – Known information
Rice Sugar Efficiency parameter 1.012 1.000Capital elasticity of production 0.517 0.75Labour elasticity of production 0.317 0.45Labour units of input 59.36 49.93Capital units of input 42.05 30.73
The new aspects in this example are:
- The mathematical notation for exponential;
- how to run a simulation.
The mathematical notation required by GAMS is
exp(0.50)
Concerning how to run a simulation there are at list two ways that can be followed. They are:
- the computation of the base run followed by the introduction of the technical change in the model, its
run and the comparison of the solution whit the base run;
- the use of a specific statement to see the base run and the simulation’s result on the same output file.
The LOOP statement allows running this latter option. It has the peculiar feature to allow the user to
execute a group of statements for each element of a set.
1. Attribute a generic symbol to each model element (Table 32)
Table 32 – Generic symbols
SymbolCommodities iEfficiency parameter ACapital elasticity of production BLabour elasticity of production CLabour units of input LCapital units of input KTime t=0
2. Write the equations;
The Cobb-Douglas production function is specified as follows:
q i=Ai K iα i+Li
βi
In the base run
Ai=A i ,0
In order to simulate the technical progress, both parameters must be defined and declared.
As illustrate in the model written in GAMS language in the following. The model is articulated into
two part. From the first Set to the Solve command it is structured in order to solve the base run, while
the second part enters the simulation and the command to show the output from the base run and the
simulation.
*GAMS model for technical progressSETSi Commodity type /rice, sugar/;PARAMETERSA0(i) Efficiency parameterA(i) InterceptB(i) Capital elasticity of productionC(i) Labour elasticity of productionL(i) Labour units of inputK(i) Capital units of input;
A0('rice')=1.012; A0('sugar')=1;B('rice')=0.517; B('sugar')=0.75;C('rice')=0.317; C('sugar')=0.45;L('rice')=59.36; L('sugar')=49.93;K('rice')=42.05; K('sugar')=30.73;
A('rice')=A0('rice'); A('sugar')=A0('sugar');VARIABLESQ(i) Quantity produced;EQUATIONSPRODUCTION Production function equation;PRODUCTION (i)..Q(i)=E=A(i)+(K(i)**B(i))+(L(i)**C(i));MODEL PRODTC /ALL/;SOLVE PRODTC USING MCP;SETSSIM Simulation/TP/;PARAMETERSATP(i,SIM) Technical progressTODO Parameter to activate the simulation;ATP(i,SIM)=A0(i)*exp(0.50);TODO=1;LOOP(SIM('TP'), IF (TODO EQ 1, A(i)=ATP(i,SIM)));IF(TODO EQ 1, SOLVE PRODTC USING MCP);
The statement LOOP is entered after the Solve command. As previously underlined LOOP allows the
user to execute a group of statements for each element of a set. In the model the SET is called SIM and
represents our simulation to which has been attributed a name, TP. Another name can be selected by
the user.
Two new parameters have been declared and defined.
The one is ATP(i,SIM) and represents the technical progress. It has two indices i for the specific
commodity and SIM to make this parameter indexed to the run simulation.
The definition of this parameter implies a Direct assignments – the third format that is allowable for
entering data. In fact, technical progress acts on A0, that is the initial value of the parameter. In fact,
ATP(i,SIM)=A0(i)*exp(0.50);
The second parameter is todo and it activates the simulation when assume the attributed value of 1.
Afterwards, the LOOP statement tells GAMS that every time (IF) the parameter todo equals 1, A(i) has
to equal ATP(i,SIM), meaning that the technical progress simulation is applied to the model and run.
Instead, whenever todo is different from 1, no operation is done, that is no simulation is carried out.
Finally, the second IF tells GAMS that every time the parameter todo equals 1, the software has to
solve the model a second time. The first time is the one corresponding the previous solve statement,
which provides the baseline scenario. This second time is necessary to solve the model with the
simulation. If this second statement is not added, the model would compute no simulation result.
It should be underlined that todo and its selected value of 1 are arbitrary, the user can chose a different
value, or even a word.
Running the model with the command LOOP the user can read two solutions. The one is in the first
SolVar while that after the shock in the second SolVar. In this way GAMS solves two models.
6.4. Hicksian neutral technical progress in a CES production function
Following the same framework adopted in the previous paragraph, simulate exponential rate of
Hicksian neutral technical progress by e0.50 adopting a CES production function for two commodities,
rice and sugar, known the information provided in Table 33.
Table 33 – known information
Rice Sugar Efficiency parameter 1.40 1.000Ro 0.176 0.240Eta 0.92 0.88Labour units of input 59.36 49.93Capital units of input 42.05 30.73
Use the statement LOOP to show the base run and simulation’s results.
The model in GAMS language is written as in the following.
*GAMS model for technical progressSETSi Commodity type /rice, sugar/;PARAMETERSA0(i) Initial interceptA(i) InterceptB(i) RoC(i) EtaL(i) Labour units of inputK(i) Capital units of input;A0('rice')=1.40; A0('sugar')=1;B('rice')=0.176; B('sugar')=0.240;C('rice')=0.92; C('sugar')=0.88;L('rice')=59.36; L('sugar')=49.93;K('rice')=42.05; K('sugar')=30.73;A('rice')=A0('rice'); A('sugar')=A0('sugar');VARIABLESQ(i) Quantity produced;EQUATIONSPRODUCTION Production function equation;PRODUCTION (i)..Q(i)=E=A(i)*((K(i)**(-B(i)))+(L(i)**(-B(i))))**(-C(i)/B(i));MODEL PRODTC /ALL/;SOLVE PRODTC USING MCP;SETSSIM Simulation/TP/;PARAMETERSATP(i,SIM) Techincal progressTODO Parameter to activate the simulation;ATP(i,SIM)=A0(i)*exp(0.50);TODO=1;LOOP(SIM('TP'), IF (TODO EQ 1, A(i)=ATP(i,SIM)));IF(TODO EQ 1, SOLVE PRODTC USING MCP);
6.5. Supply
The quantity supplied refers to the amount of a certain good producers are willing to supply given:
- The price of the good supplied;
- The price of related goods;
- The price of variable factors;
- The quantity of fixed factors;
- The state of technology.
The supply function in policy analysis is used to understand the response of producers of a product to
the determinants of supply.
The focus is generally on two cases, that is the analysis of:
- Own-price effect on supply, with the own-price the price of the commodity supplied.
- Cross-price effect on supply, with the cross-price the price of related commodities.
The core component of the former issue is the own-price elasticity of supply. It measures the supply
response of its price. According to the low of supply the higher the own price, the larger the quantity
supplied, all other things constant: the elasticity has a positive sign.
Assuming the following double-log supply function
ln (S )=A+B∗ln (P)
where S is the quantity supplied of a certain commodity, A the technical coefficient, P the own-price, B
represents the own-price elasticity.
According to its magnitude, supply can be classified in the four typologies listed in Table 34.
Table 34- Supply types according to the own-price elasticity
Own-price elasticity Supply type
B>1 Supply is price elastic
B>1 supply is price inelastic
B=0 Supply is perfectly inelastic
B=∞ Supply is perfectly elastic
The cross-price elasticity is at the basis of the cross-price effect on supply analysis for policy purposes.
It measure the relationship between supply of a good and prices of the related goods.
Considering the double-log supply function given by
ln (Si )=A i+Bii∗ln (Pi )+Bij∗ln (P j )+…+Bik∗ln (Pk )
where “i” is the supplied good and “j” the k related goods, Bii is the own price elasticity and Bij ,…,B ik
the cross-price elasticities.
When the cross-price elasticity is positive the related goods are complementary to the supplied. On the
contrary, if it is negative the related goods are substitutes.
6.6. Example with the own-price elasticity
Simulate the effect of:
- an increase in price of corn and beef in two markets (North and South) on their supply; and
- a Hicksian neutral technical progress on supply of both commodities produced;
and calculate and show the percentage change in corn and beef price and supply with respect to the
base run.
The available information is shown in Table 35 where the elements of the model with the index 0 are
the observed components.
Table 35 – Available information
North South Corn
(ton00) Beef
(kg00) Corn
(ton00) Beef
(kg00) Observed technical coefficient (A0 ) 1.03 0.47 0.55 0.7Observed own-price elasticity (B) 1.08 1.17 1.02 0.88Observed price (P0) 167 168.86 179.46 173.45
Shock P – new price 172.95 174.55 180.66 184.69A – new technical coefficient A0*exp(0.5) A0*exp(0.5) A0*exp(0.5) A0*exp(0.5)
Functional form
Supply function double-log supply function
double-log supply function
double-log supply function
double-log supply function
According to the data provided by the above Table, Technical progress affects the initial value of the
technical coefficient, which is augmented by exp(0.5). The own-price elasticity is fixed over time.
As the symbol to each model element is already attributed, let us write the equations that are two one at
the initial year and the other after the shock.
The former is given by
ln (SC , R ,0 )=AC , R,0+BC ,R∗ln (PC , R , 0 )C=Corn ,Beef R=North , South
while the latter is specified as follows
ln (SC , R )=AC , R+BC , R∗ln (PC , R )C=Corn ,Beef R=North ,South
where AC , R=AC , R , 0∗exp (0.5)
Table 36 classifies the elements of the model according to the GAMS commands, following Table 4 in
Par.3.4.
Table 36 - Elements of a model and GAMS’ commands
Element Type GAMS’ Command
C Index Sets
R Index Sets
Observed values
A0 Observed exogenous variable Parameters
B Observed parameter Parameters
P0 Observed exogenous variable Parameters
A Observed exogenous variable Parameter
P Observed exogenous variable Parameters
Unknown variables
S0 Endogenous variable Variables
S Endogenous variable Variables
System of equations
SUPPLIN Supply function - initial period Equations
SUPPLFIN Supply function – after shock Equations
The final step consists in writing the model in the GAMS language. The model has two objectives
consisting in:
- simulating the shocks;
- calculating and showing the percentage change in corn and beef price and supply.
Each of them represents a part of the model. Nothing new in writing a model for the first purpose. Two
aspects must be carefully addressed. It relates to data entry.
The model requires four TABLES (for A0, B, P0 and P), one PARAMETER for A with a direct
assignment, that is
PARAMETER
A(C,R)Intercept of the new supply equation;
A(C,R)=A0(C,R)*exp(0.5);
As the equations are double-log functions, GAMS must start the search of the solution value for the
endogenous variables with a positive number. This requires the introduction, after the MODEL statement, of the
specific command illustrated in Par. 5.5.6. whose syntax is
<variable name>.L (<index,index>)=1
The second part of the model is developed after the command SOLVE. It calculates the percentage
changes in corn and beef price and supply and, then, shows these values.
In order to calculate the above mentioned percentage changes, the solution of the previously specified
model provides all the requested information. For this reason, the second part of the model start with
the declaration of two new exogenous component with the command PARAMETERS:
PCPRICE(C,R) for the percentage change in price and PCSUP(C,R) for the percentage change in
supply. Their definition consists in the mathematical formula for the computation of the percentage
change, that is
PCPRICE(C,R)=((P(C,R)-P0(C,R))/P0(C,R))*100;
PCSUP(C,R)=((S.L(C,R)-S0.L(C,R))/S0.L(C,R))*100;
As changes are calculated, it might be useful to limit the number of decimals the result provides (two in
our example). The command OPTION, located after the PARAMETERS statement, allows this
possibility. Its syntax is
OPTION <variable name>:<number of requested decimals>;
Finally the command DISPLAY tells GAMS to show the value of the percentage changes in corn and
beef price and supply.
The overall model written in GAMS has the following structure.
*GAMS model for supply with an increase in price and technical change, two markets and productsSETSC Commodities
/CornBeef/
R Regions/NorthSouth/;
* Write tables with the structure of the initial equation and then specify new price TABLE A0(C,R) Initial intercept value
North SouthCorn 1.03 0.55Beef 0.47 0.7;
TABLE B(C,R) Own price elasticityNorth South
Corn 1.08 1.02Beef 1.17 0.88;TABLE P0(C,R) Initial price (US dollars)
North SouthCorn 167 179.46Beef 168.86 173.45;
TABLE P(C,R) Simulation price (US dollars)North South
Corn 172.95 180.66Beef 174.55 184.69;
PARAMETERA(C,R) Intercept of the new supply equation;
A(C,R)=A0(C,R)*exp(0.5);
VARIABLESS0(C,R) Initial supplyS(C,R) New supply after increase in price;
EQUATIONS
SUPPLIN Initial supply equationSUPPLFIN Supply after price change;
SUPPLIN (C,R)..LOG(S0(C,R))=E=A0(C,R)+B(C,R)*LOG(P0(C,R));SUPPLFIN(C,R)..LOG(S(C,R))=E=A(C,R)+B(C,R)*LOG(P(C,R));
MODEL SMODPR /ALL/;S0.L(C,R)=1;S.L(C,R)=1;SOLVE SMODPR USDING MCP;
PARAMETERS
PCPRICE(C,R) Percentage change in pricePCSUP(C,R) Percentage change in supply;
PCPRICE(C,R)=((P(C,R)-P0(C,R))/P0(C,R))*100;PCSUP(C,R)=((S.L(C,R)-S0.L(C,R))/S0.L(C,R))*100;
*Write that you only want two decimals
OPTION PCPRICE:2;OPTION PCSUP:2;
DISPLAY PCPRICE, PCSUP;
6.7. Example with the cross-price elasticity
This example is similar to the previous. It is aimed at:
- modeling the effect on supply of an increase in price of corn and beef in two markets; and
- calculating and showing the change in price and supply with respect to the base run.
Again, the functional form of supply function is a double-log, the two markets are North and South and
the two commodities Corn and Beef, which are complementary goods. This means that supply of each
commodity depends on its price and that of the other considered commodity.
How to model cross-price elasticity in GAMS is the new aspect of this exercise.
The available information is provided by Table 37.
Table 37 – Available information
North SouthCorn (ton00)
Beef (kg00)
Corn (ton00)
Beef (kg00)
Technical coefficient -0.096 -3.633 -2.045 0.184Own price 167 168.86 179.46 173.45Own price elasticity 1.08 1.17 1.02 0.88Cross-price elasticity: - Elasticity of corn supply with respect to beef price 0.22 0.50 - Elasticity of beef supply with respect to corn price 0.08 0.10
ShocksNew price 172.95 174.55 180.66 184.69
Let us attribute a symbol to each element of our model (Table 38). In this model, each supply function
depends on price of two typologies of commodity, that supplied and the complementary. For this
reason, two indices for the for the commodities must be specified.
Table 38 – Symbols for the element of the model
Element Symbol
Commodities supplied C
Complementary commodities CC
Regions R
Initial supply S0
Supply after the shock S
Technical coefficient A
Initial Price P0
Elasticity B
Price after the Shock P
In light of the above introduced symbols, the equations of the model are specified as follows.
The initial supply is given by
ln (S0 ,C , R )=AC , R+BC ,C , R∗ln (P0 ,C , R )+BC , CC, R∗ln (P0 ,CC , R )
It can be rewritten using the Σ function as follows
ln (S0 ,C , R )=AC , R+ ∑k=C ,CC
BC ,k , R∗ln (P0 , k ,R )
After the shock the equation is given by
ln (SC , R )=AC , R+ ∑k=C ,CC
BC , k , R∗ln (Pk ,R )
This two latter equations must be written in GAMS language.
The first new aspect to be considered is in SET. In fact, C and CC have the same definition, Corn and
Beef. GAMS allows to avoid to declare and define an equal index using the command ALIAS. In other
words, this command is used to give another name to a previously declared set.
In our example the command is specified as follows
ALIAS (C,CC)
and tells GAMS that the name CC is identical to C in mathematical notation.
The second new aspect is in data entry for elasticity. A table is requested and three indices must be
indicated.
The statement is specified as follows
TABLE B(C,CC,R) Price elasticity North SouthCorn.Corn 1.08 1.02Beef.Beef 1.17 0.88Corn.Beef 0.22 0.50Beef.Corn 0.80 0.10;
In TABLE declaration the letters in brackets (C,CC, R) after the general symbol of the parameter (B),
indicates the first the first column, the second the second column and the third the third column of the
table specified for data entry.
The last new aspect in this model is how to write the sum function in GAMS language.
The syntax is
The overall model is reported in the following.
*GAMS model for supply with an increase in price, two markets and products cross price elasticitySETSC Commodities supplied /Corn Beef/R Regions /North South/;
ALIAS (C, CC)
TABLE P0(C,R) Initial price (US dollars) North SouthCorn 167 179.46Beef 168.86 173.45;
TABLE A(C,R) North SouthCorn -0.096 -2.045Beef -3.633 0.184
TABLE B(C,CC,R) Price elasticity North SouthCorn.Corn 1.08 1.02Beef.Beef 1.17 0.88Corn.Beef 0.22 0.50Beef.Corn 0.80 0.10;
TABLE P(C,R) Simulation price (US dollars) North SouthCorn 172.95 180.66Beef 174.55 184.69;
VARIABLES
SUM(<index>, <expression>)
S0(C,R) Supply before shockS(C,R) New supply after increase in price;
EQUATIONSSUPPLIN Supply before shockSUPPLFIN Supply after price change;
SUPPLIN(C,R)..LOG(S0(C,R))=E= A(C,R)+SUM(CC, B(C,CC,R)*LOG(P0(CC,R)));SUPPLFIN(C,R)..LOG(S(C,R))=E=A(C,R)+SUM(CC, B(C,CC,R)*LOG(P(CC,R)));
MODEL SMODPR /ALL/;S0.L(C,R)=1;S.L(C,R)=1;SOLVE SMODPR USDING MCP;
PARAMETERS
PCPRICE(C,R) Percentage change in pricePCSUP(C,R) Percentage change in supply;
PCPRICE(C,R)=((P(C,R)-P0(C,R))/P0(C,R))*100;PCSUP(C,R)=((S.L(C,R)-S0.L(C,R))/S0.L(C,R))*100;
*Write that you only want two decimals
OPTION PCPRICE:2;OPTION PCSUP:2;
DISPLAY PCPRICE, PCSUP;
7
Market equilibrium
7.1. Introduction
In market equilibrium demand and supply are considered together in order to define the equilibrium
price, which is the price level that makes the quantity supplied equal to the quantity demanded.
These aspect are analyzed within a closed and an open economy
7.2. Closed economy: theory and an example in GAMS
In a closed economy trade is absent.
Given the supply (S) and demand function (D), the equilibrium price (P*) makes quantity demanded
and supplied equals. These latter are called equilibrium demand (D*) and supply (S*).
Within a neoclassical framework, the market equilibrium in a closed economy is represented in Figure
47, where it is reach at point A.
Figure 47 – Market equilibrium in a closed economy
Let us consider the following example referred to a closed economy where demand and supply of two
commodities (meat and fish) are linear function. In this context, an increase by 0.2 in income
coefficient of demand is simulated. In this exercise, we also want GAMS to show the equilibrium level
of demand, supply and price before and after the shock.
0 Quantity
Price
D
S
P*
D*=S*
A
The available data is in Table 39.
Table 39 – Available information
Meat Fish Demand functionIntercept of demand function 0.07 0.012Price coefficient of demand -0.804 -0.441Income coefficient of demand 1.121 0.675Income (per month, per capita, 000 LC) 1.300Supply functionIntercept of supply function 1.03 0.47 Price coefficient of supply 1.08 0.87
First of all, symbols must be attributed to the elements of the model (Table 40).
Table 40 – Symbols for the element of the model
Element of the model Symbol
Commodities C
Intercept of demand function A
Price coefficient of demand B
Income coefficient of demand G
Income (per month, per capita, 000 LC) Y
Intercept of supply function F
Price coefficient of supply Z
Demand D
Supply S
Price P
Supply function SUPPLY
Demand function DEMAND
Equilibrium condition EQUIL
The second step consists in writing the system of equations of the model. The base run is computed by
the following equations
DC=AC+BC∗PC+GC∗Y C
SC=FC+ZC∗PC
DC=SC
The GAMS commands requested are listed in Table 41.
Table 41 - Elements of a model and GAMS’ command for their specification
Element Type GAMS command
C Index Sets
Observed values
A Observed exogenous variable Parameters
B Observed parameter Parameters
G Observed parameter Parameters
Y Observed exogenous variable Parameters
F Observed exogenous variable Parameters
Z Observed parameter Parameters
Unknown variables
D Endogenous variable Variables
S Endogenous variable Variables
P Endogenous variable Variables
System of equations
Supply Supply function Equations
Demand Demand function Equations
Equil Equilibrium condition Equations
The model is written as in the following. In it, the result of the simulation is shown by the command
DISPLAY.
*GAMS model market equilibrium in a closed economy SETSC Commodity trade
/MeatFish/;
PARAMETERSA(C) Intercept demand function
/Meat 0.07
Fish 0.012/B(C) Price coefficient of demand
/Meat -0.804Fish -0.441/
G(C) Income coefficient/Meat 1.121Fish 0.675/
F(C) Intercept supply function/Meat 1.03Fish 0.47/
Z(C) Price coefficient of supply/Meat 1.08Fish 0.87/
Y Income coefficient of demand;Y=1.300;VARIABLESD(C) Quantity demandedS(C) Quantity suppliedP(C) Equilibrium price;EQUATIONSDEMAND Demand equationSUPPLY Supply equationEQUIL Equilibrium equation;DEMAND(C)..D(C)=E=A(C)+B(C)*P(C)+G(C)*Y;SUPPLY(C)..S(C)=E=F(C)+Z(C)*P(C);EQUIL(C)..S(C)=E=D(C);MODEL CLMKEQ /DEMAND
SUPPLYEQUIL/;
SOLVE CLMKEQ USING MCP;DISPLAY 'SIMULATION 0: Base run';*Simulation 1: 0.2 increase in income elasticity of demandG(C)=G(C)+0.20;SOLVE CLMKEQ USING MCP;DISPLAY 'SIMULATION 1: 0.2 increase in income elasticity of demand';DISPLAY D.L, S.L, P.L;
Contrary to the command LOOP, the two solutions, the base run and that after the shock, are the former
under SolVAR and the second under DISPLAY.
7.3. Open Economy
In an open economy trade is allowed. For modelling an open economy three concepts are important.
The first key aspect is the distinction between a large country, whose imports and exports are a
significant share in the world market for the product, and a small country whose imports and exports
are a small share. Domestic trade policies can affect the world price of the good only if introduced by a
large country.
The second element to consider is that:
- Import price is a CIF price, that is on the dock or other entry point in the receiving country and
including Cost, Insurance and Freight;
- Export price is a FOB price, that is at the exit point in the exporting country
and Free on Board.
The third important issue to be considered is the comparison between the international price and the
price received by producers on the domestic market. First, in order to allow this comparison, the
concept of financial parity price should be included. It is the international price expressed in local
currency. Without entering in the issues related to the computation of this variable, indicating with e
the exchange rate and pw the world price, the financial parity price, or border price, pb is given by
pb=e∗pw
The comparison between the price received by producers domestically ( pd) and the border price allows
distinguishing goods according to their tradability.
Let us consider the situation described by Figure 48, where pmb is the import border price and px
b is the
export border price.
Figure 48 - Non tradable good
As
bmp
bxp
Price
D
S
pd
q0
pd< pmb
and
pd> pxb
the good under consideration will not be traded, it is a so called non tradable commodity. The opening
of trade has no consequence for the domestic economy.
In Figure 49, as pd< pxb export is justified and it is equal to the amount (0qs−0qd).
Figure 49 – Exportable good
Under these conditions, the good traded is called exportable good. The opening of trade increases:
- producers’ supply to qs;
- domestic price with a gain for producers and a loss for consumers.
In Figure 50, imports are justified because pd> pmb and the good is called importable good.
Figure 50 – Importable good
Price
D
Sbxp
qd qs
pd
exports
D.S.
q0
The opening of trade reduces:
- producers’ supply to qs;
- domestic price with a gain for consumers and a loss for producers.
If there is no restriction import and export prices represent the upper and the lower limit of price in the
port city of the country
They differ because of transportation cost, insurance and freight.
In light of this consideration, the condition for an exportable good to be sold for profit on the domestic
market and not exported because it is more convenient is that
pd+TC ≥ pxb=e∗pw
where TC is transportation cost, insurance and freight.
Similarly, for a good to be demanded domestically and not imported
pd≤ pmb +TC=(e∗pw )+TC
These conditions should be specified in GAMS when a model is aimed at calculating domestic price in
an open economy.
7.4. Modelling market equilibrium in an open economy with GAMS
For simplicity, let us assume to consider a small open economy in order to calculate the base run
equilibrium value for demand, supply, price, import and export of two commodities, meat and fish.
The available information is shown in Table 42.
Table 42 – Available information
Price
Quantity
D
S
bmppd
qdqs
D.S. imports
q0
Meat Fish Linear demand function
Intercept of demand function 0.07 0.012 Own price elasticity of demand -0.804 -0.441 Income elasticity of demand 1.121 0.675 Income (per month, per capita, 000 LC) 1.300
Linear supply functionIntercept of supply function 1.03 0.47 Own price elasticity of supply 1.08 0.87 World price exports 92 (U$A) 84 (U$S) World price imports 98(U$A) 90(U$A) Transportation costs, insurance and freight 5 (LC) 8(LC) Exchange rate 2 local currency (LC) per 1 dollar
The model in GAMS is written as follows
*GAMS model market equilibrium in an open economy SETC Commodity trade
/MeatFish/;
PARAMETERSWP(C,*) World price
/Meat.WX 92Meat.WM 98Fish.WX 84Fish.WM 90/
A(C) Intercept demand function/Meat 70Fish 1200/
B(C) Own price elasticity of demand/Meat -0.804Fish -0.441/
G(C) Income elasticity/Meat 1.121Fish 0.675/
F(C) Intercept supply function/Meat 1.03Fish 0.47/
Z(C) Own price elasticity of supply/Meat 1.08Fish 0.87/
TC(C) Transportation costs/Meat 5Fish 8/
Y Income elasticity of demandER Exchange rate
PX(C) Export pricePM(C) Import price;Y=1300;ER=10;PX(C)=ER*WP(C, ‘WX’);PM(C)=ER*WP(C, ‘WM’);POSITIVE VARIABLESX(C) Quantity exportedM(C) Quantity imported;VARIABLESD(C) Quantity demandedS(C) Quantity suppliedP(C) Equilibrium price;EQUATIONSDEMAND Demand equationSUPPLY Supply equationIN_OUT Shipments into out of countryEXPORT Export price relationshipIMPORT Import price relationship;DEMAND(C)..D(C)=E=A(C)+B(C)*P(C)+G(C)*Y;SUPPLY(C)..S(C)=E=F(C)+Z(C)*P(C);IN_OUT(C)..S(C)+M(C)-X(C)=E=D(C);EXPORT(C)..P(C)+TC(C)=G=PX(C);IMPORT(C)..PM(C)+TC(C)=G=P(C);MODEL OPMKEQ /DEMAND
SUPPLYIN_OUTEXPORT.XIMPORT.M/;
SOLVE OPMKEQ USING MCP;
Top Related