General Equilibrium Modeling with MPSGE:
Some Examples for Self-Study

Models M4: Small Open Economy Models

James Markusen and Thomas F. Rutherford

Department of Economics
University of Colorado

rutherford@colorado.edu

1995

Return to the MARKUSEN index and download page.

Return to the MPSGE home page

$TITLE Model M4_1S: Small open economy model. Two goods, two factors.


$ontext

November, 1995 (revised)

This model illustrates the representation of international trade 
flows in an open economy model.  In this model, the foreign country
is not explicitly modelled.  Trade possibilities are modelled by four
activities which transform domestic goods into "foreign Exhange" and
vice versa.

This model is based on the Heckscher-Ohlin assumption that domestic,
imported and exported goods are perfect substitutes.

Two possible trade activities, exports of good 2 and imports of good
1, are idle.  We presume that the export price for good 2 less than
one and the import price for good 1 is greater than one.

                Production Sectors                      Consumer

Markets   |     X1      X2      E1      M2      W       CONS
------------------------------------------------------------------
P1        |     150             -50             -100
P2        |             50              50      -100
PL        |     -100    -20                             120
PK        |     -50     -30                             80
PW        |                                     200     -200
PFX       |                     50      -50
------------------------------------------------------------------

$offtext

SCALAR          PE2     Export price of good 2 / 0.99/
                PM1     Import price of good 1 / 1.01/
                PE1     Export price of good 1 / 1   /
                PM2     Import price of good 2 / 1   /
                TM2     Import tariff for good 2 / 0/;

$ONTEXT

$MODEL:M4_1S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export level of good 1
        E2      ! Export level of good 2
        M1      ! Import level of good 1
        M2      ! Import level of good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index

$CONSUMERS:
        CONS    ! Income level for representative agent

*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:50
        I:PL    Q:20
        I:PK    Q:30

*       We scale the export price for good 1 and the import price
*       for good 2 to both be unity:

$PROD:E1
        O:PFX   Q:PE1
        I:P1    Q:1
 
$PROD:M2
        O:P2    Q:1
        I:PFX   Q:PM2    A:CONS T:TM2

*       The following trade activities are not operated in the benchmark
*       period:

$PROD:E2
        O:PFX   Q:PE2
        I:P2    Q:1

$PROD:M1
        O:P1    Q:1
        I:PFX   Q:PM1

*       Cobb-Douglas preferences:

$PROD:W   s:1
        O:PW    Q:200
        I:P1    Q:100
        I:P2    Q:100

$DEMAND:CONS
        D:PW    Q:200
        E:PL    Q:120
        E:PK    Q:80

$OFFTEXT
$SYSINCLUDE mpsgeset M4_1S

*       We replicate the benchmark by assuming default values of
*       unity for production activities and prices, but we must 
*       explicitly specify benchmark values for the trade activities
*       because they are not unity:

E2.L = 0;
M1.L = 0;
E1.L = 50;
M2.L = 50;

M4_1S.ITERLIM = 0;
$INCLUDE M4_1S.GEN
SOLVE M4_1S USING MCP;
M4_1S.ITERLIM = 2000;

* Counterfactual experiments are to levy a 10% and then a 20% import 
* tariff on C2.  10% tariff is prohibitive.

TM2 = 0.05;
$INCLUDE M4_1S.GEN
SOLVE M4_1S USING MCP;

TM2 = 0.10;
$INCLUDE M4_1S.GEN
SOLVE M4_1S USING MCP;

$ontext


Exercises for M4_1S:


(i) Compare the welfare cost of tariffs in this model with the results
from a Ricardo-Viner-Jones (specific factors) model.  To do so, replace
the mobile capital stock by sector-specific capital stocks (drop PK
and add PK1 and PK2).

(ii) Multiply all of the international prices (PE1,PE2,PM1,PM2) by a
positive constant and verify that the benchmark equilibrium is undisturbed --
all that changes is that PFX changes proportionately.
$offtext

$TITLE Model M4_2S: Small open economy model with a benchmark trade imbalance.


$ontext

November, 1995 (revised)

This model illustrates the representation of international trade 
flows in an open economy model.  In this model, the current account
is in deficit in benchmark data, where the value of imports exceeds
the value of exports by 20.  This is typically observed in actual
datasets, where capital flows are reflected as differences
between the value of international trade in goods and services.

Here, we balance the model by endowing consumers with 20 units of
foreign exchange.  This endowment can be thought of as an asset owned
by consumers.  The trade deficit is financed by selling off this
asset.

As in the previous model, the export of good 2 and the import of
good 1 are both idle activities in the benchmark.


                Production Sectors                      Consumer

Markets   |     X1      X2      E1      M2      W       CONS
------------------------------------------------------------------
P1        |     150             -40             -110
P2        |             50              60      -110
PL        |     -100    -20                             120
PK        |     -50     -30                             80
PW        |                                     220     -220
PFX       |                     40      -60             20
------------------------------------------------------------------
$offtext

SCALAR          PE2     Export price of good 2 / 0.99/
                PM1     Import price of good 1 / 1.01/
                PE1     Export price of good 1 / 1   /
                PM2     Import price of good 2 / 1   /
                BOPDEF  Balance of payments net deficit;

$ONTEXT

$MODEL:M4_2S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export level of good 1
        E2      ! Export level of good 2
        M1      ! Import level of good 1
        M2      ! Import level of good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index

$CONSUMERS:
        CONS    ! Income level for representative agent


*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:50
        I:PL    Q:20
        I:PK    Q:30

*       We scale the export price for good 1 and the import price
*       for good 2 to both be unity:

$PROD:E1
        O:PFX   Q:PE1
        I:P1    Q:1
 
$PROD:M2
        O:P2    Q:1
        I:PFX   Q:PM2

*       The following trade activities are not operated in the benchmark
*       period:

$PROD:E2
        O:PFX   Q:PE2
        I:P2    Q:1

$PROD:M1
        O:P1    Q:1
        I:PFX   Q:PM1

*       Cobb-Douglas preferences:

$PROD:W   s:1
        O:PW    Q:220
        I:P1    Q:110
        I:P2    Q:110


$DEMAND:CONS
        D:PW    Q:220
        E:PL    Q:120
        E:PK    Q:80
        E:PFX   Q:BOPDEF

$OFFTEXT
$SYSINCLUDE mpsgeset M4_2S

*       We replicate the benchmark by assuming default values of
*       unity for production activities and prices, but we must 
*       explicitly specify benchmark values for the trade activities
*       because they are not unity:

E2.L = 0;
M1.L = 0;
E1.L = 40;
M2.L = 60;
BOPDEF = 20;

M4_2S.ITERLIM = 0;
$INCLUDE M4_2S.GEN
SOLVE M4_2S USING MCP;
M4_2S.ITERLIM = 2000;

*       Compute a counterfactual experiment in which capital flows are
*       set to zero and there is a conseqent balance between the value 
*       of imports and exports:

BOPDEF = 0;
$INCLUDE M4_2S.GEN
SOLVE M4_2S USING MCP;

$ontext


Exercises for M4_2S:


(1) Compute the autarchy equilibrium welfare level.

(2) Determine the value of BOPDEF below which welfare falls below the
autarchy level.
$offtext

$TITLE Model M4_3S: Small open economy model with a benchmark tariff.


$ontext

November, 1995 (revised)

In this example, units are chosen such that all DOMESTIC prices equal
one initially.  Implied world prices are then P1/P2 = 1.2

We add a row to account for tariff revenue.  It has an entry in the
M2 column (tariff payments are deducted from the profit), and in the
CONS column (tariff revenue is paid in lump-sum to the consumer):

                Production Sectors                      Consumer

Markets   |     X1      X2      E1      M2      W       CONS
------------------------------------------------------------------
P1        |     150             -50             -100
P2        |             40              60      -100
PL        |     -100    -20                             120
PK        |     -50     -20                             70
PW        |                                     200     -200
PFX       |                     50      -50             

Tariff Revenue:
T         |                             -10             10
------------------------------------------------------------------

$offtext

SCALAR          PE2     Export price of good 2,
                PM1     Import price of good 1,
                PE1     Export price of good 1,
                PM2     Import price of good 2,
                TM2     Import tariff for good 2 / 0.2/;

PE1 = 1;
PM2 = 1 / (1.2);
PE2 = PM2 * 0.99;
PM1 = 1.01;

$ONTEXT

$MODEL:M4_3S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export level of good 1
        E2      ! Export level of good 2
        M1      ! Import level of good 1
        M2      ! Import level of good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index

$CONSUMERS:
        CONS    ! Income level for representative agent

*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:40
        I:PL    Q:20
        I:PK    Q:20

*       We scale the export price for good 1 and the import price
*       for good 2 to both be unity:

$PROD:E1
        O:PFX   Q:PE1
        I:P1    Q:1
 
$PROD:M2
        O:P2    Q:1
        I:PFX   Q:PM2   A:CONS  T:TM2

*       The following trade activities are not operated in the benchmark
*       period:

$PROD:E2
        O:PFX   Q:PE2
        I:P2    Q:1

$PROD:M1
        O:P1    Q:1
        I:PFX   Q:PM1

*       Cobb-Douglas preferences:

$PROD:W   s:1
        O:PW    Q:200
        I:P1    Q:100
        I:P2    Q:100

$DEMAND:CONS
        D:PW    Q:200
        E:PL    Q:120
        E:PK    Q:70

$OFFTEXT
$SYSINCLUDE mpsgeset M4_3S

*       Benchmark replication

E1.L = 50;
M2.L = 60;
E2.L = 0;
M1.L = 0;

M4_3S.ITERLIM = 0;
$INCLUDE M4_3S.GEN
SOLVE M4_3S USING MCP;
M4_3S.ITERLIM = 2000;

*       Counterfactual experiment is free trade
*       In free trade, the country specializes in the production of good 1.

TM2 = 0;
$INCLUDE M4_3S.GEN
SOLVE M4_3S USING MCP;

$TITLE Model M4_4S: Small open economy model with a benchmark tariff.


$ontext

November, 1995 (revised)

This model is equivalent to M4_3S except that units are chosen such
that all WORLD prices equal one initially.  The benchmark domestic price
ratio is then P1/P2 = 1/1.2.

Note that this changes the units of measurement in good 2.  There are now
83.3333 units of good 2 consumed instead of 100, but this is simply a change
in units of measure and has no welfare consequences.

The benchmark social accounting matrix is unchanged:

                Production Sectors                      Consumer

Markets   |     X1      X2      E1      M2      W       CONS
------------------------------------------------------------------
P1        |     150             -50             -100
P2        |             40              60      -100
PL        |     -100    -20                             120
PK        |     -50     -20                             70
PW        |                                     200     -200
PFX       |                     50      -50             
T         |                             -10             10
------------------------------------------------------------------
$offtext

SCALAR          PE2     Export price of good 2  /0.99/,
                PM1     Import price of good 1  /1.01/,
                PE1     Export price of good 1  /1/,
                PM2     Import price of good 2  /1/,
                TM2     Import tariff for good 2 / 0.2/;

$ONTEXT

$MODEL:M4_4S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export level of good 1
        E2      ! Export level of good 2
        M1      ! Import level of good 1
        M2      ! Import level of good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index

$CONSUMERS:
        CONS    ! Income level for representative agent

*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:33.33333
        I:PL    Q:20
        I:PK    Q:20

*       We scale the export price for good 1 and the import price
*       for good 2 to both be unity:

$PROD:E1
        O:PFX   Q:PE1
        I:P1    Q:1
 
$PROD:M2
        O:P2    Q:1
        I:PFX   Q:PM2   A:CONS  T:TM2

*       The following trade activities are not operated in the benchmark
*       period:

$PROD:E2
        O:PFX   Q:PE2
        I:P2    Q:1

$PROD:M1
        O:P1    Q:1
        I:PFX   Q:PM1

*       Cobb-Douglas preferences calibrated to a reference point
*       in which the price ratio is not unity:

$PROD:W   s:1
        O:PW    Q:200
        I:P1    Q:100
        I:P2    Q:83.33333  P:1.2

$DEMAND:CONS
        D:PW    Q:200
        E:PL    Q:120
        E:PK    Q:70

$OFFTEXT
$SYSINCLUDE mpsgeset M4_4S

*       Benchmark replication

E1.L = 50;
M2.L = 50;
E2.L = 0;
M1.L = 0;

*       Need to explicitly specify the benchmark price for good 2 
*       which is not unity:

P2.L = 1.2;

M4_4S.ITERLIM = 0;
$INCLUDE M4_4S.GEN
SOLVE M4_4S USING MCP;
M4_4S.ITERLIM = 2000;

*       Counterfactual experiment is free trade
*       In free trade, the country specializes in the production of good 1.

TM2 = 0;
$INCLUDE M4_4S.GEN
SOLVE M4_4S USING MCP;

$TITLE Model M4_5S: Small open economy model with an Armington formulation.


$ontext

November, 1995 (revised)

There are two production sectors, 1 and 2.  Produced goods may
be either sold domestically or exported.  Imported and foreign
varieties are imperfect substitutes in final demand.

This benchmark equilibrium reduces to the data for model M1_1S 
if we net out trade.  Here, we have imports and exports of both 
goods.  Good 1 is a net export, and good 2 is a net import.

                Production Sectors                      Consumer
Markets   |     X1      X2      E       M        W       CONS
------------------------------------------------------------------
P1        |     150             -100    50      -100
P2        |             50      -25     75      -100
PL        |     -100    -20                              120
PK        |     -50     -30                               80
PW        |                                      200    -200
PFX       |                     125     -125
------------------------------------------------------------------
$offtext


SCALAR          PE1     Export price of good 1   / 1 /,
                PE2     Export price of good 2   / 1 /,
                PM1     Import price of good 1   / 1 /,
                PM2     Import price of good 2   / 1 /,
                TM2     Import tariff for good 2 / 0 /,
                ESUBDM  Armington elasticity of substitution / 4 /;

$ONTEXT

$MODEL:M4_5S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export index for good 1
        E2      ! Export index for good 2
        M1      ! Import index for good 1
        M2      ! Import index for good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PM_1    ! Price index for imported good 1
        PM_2    ! Price index for imported good 2
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index

$CONSUMERS:
        CONS    ! Income level for representative agent

*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:50
        I:PL    Q:20
        I:PK    Q:30

*       We scale the export price for good 1 and the import price
*       for good 2 to both be unity:

$PROD:E1
        O:PFX   Q:(PE1*100)
        I:P1    Q:100

$PROD:E2 
        O:PFX   Q:(PE2*25)
        I:P2    Q:25

$PROD:M1
        O:PM_1  Q:50
        I:PFX   Q:(PM1*50)

$PROD:M2
        O:PM_2   Q:75
        I:PFX   Q:(PM2*75)      A:CONS T:TM2

*       Cobb-Douglas preferences:

$PROD:W   s:1           G1:ESUBDM       G2:ESUBDM
        O:PW    Q:200
        I:P1    Q:50    G1:
        I:PM_1  Q:50    G1:
        I:P2    Q:25    G2:
        I:PM_2   Q:75   G2:

$DEMAND:CONS
        D:PW    Q:200
        E:PL    Q:120
        E:PK    Q:80

$OFFTEXT
$SYSINCLUDE mpsgeset M4_5S

*       We replicate the benchmark by assuming default values of
*       unity for production activities and prices.  Unlike model
*       M4_1, here we represent trade through indices equaling unity
*       in the base year; so all activity levels equal the default value.

M4_5S.ITERLIM = 0;
$INCLUDE M4_5S.GEN
SOLVE M4_5S USING MCP;
M4_5S.ITERLIM = 2000;

* Counterfactual experiments are to levy a 10% and then a 20% import 
* tariff on C2.  10% tariff is prohibitive.

TM2 = 0.05;
$INCLUDE M4_5S.GEN
SOLVE M4_5S USING MCP;

TM2 = 0.10;
$INCLUDE M4_5S.GEN
SOLVE M4_5S USING MCP;

$ontext


Exercises for M4_5S:


(i) Compare the welfare cost of tariffs in this model with the results
from the Heckscher-Ohlin model.  Do this comparison for increasing values
of the Armington elasticity, ESUBDM = 4, 8, 12.  (Numerical problems will
arise when this value is too large.)

(ii) Construct an alternative model in which activities M1 and M2 and
commodities PM_1 and PM_2 are omitted.  Use the following specification for
final demand:

$PROD:W   s:1           G1:ESUBDM       G2:ESUBDM
        O:PW    Q:200
        I:P1    Q:50                            G1:
        I:PFX   Q:(PM1*50)      P:(1/PM1)       G1:
        I:P2    Q:25                            G2:
        I:PFX   Q:(PM2*75)      P:(1/PM2)       G2:     A:CONS T:TM2

Verify numerically that this model is equivalent to the original 
formulation.
$offtext

$TITLE Model M4_6S: Large open economy model: elastic export demand


$ontext

November, 1995 (revised)

This model illustrates the representation of international trade 
flows in an open economy model.  In this model, the demand for exports
is determined endogenously with diminishing marginal foreign earnings
as a function of the level of exports.

The foreign elasticity of demand for exports can be calibrate between
minus one and minus infinity in this formulation by the initial
choice of value shares for commodity PR in the export activity for
good 1.

                Production Sectors                      Consumer

Markets   |     X1      X2      E1      M2      W       CONSH   CONSF
----------------------------------------------------------------------
P1        |     150             -50             -100
P2        |             50              50      -100
PL        |     -100    -20                             120
PK        |     -50     -30                             80
PW        |                                     200     -200
PFX       |                     100     -50                     -50
PR        |                     -50                             50
------------------------------------------------------------------

$offtext

SCALAR  TM2     Import tariff for good 2 /0/;

$ONTEXT

$MODEL:M4_6S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export index of good 1
        E2      ! Export index of good 2
        M1      ! Import level of good 1
        M2      ! Import level of good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index
        PR      ! Rent which generates the export demand function

$CONSUMERS:
        CONSH   ! Income level for representative home agent
        CONSF   ! Income level for representative foreign agent

*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:50
        I:PL    Q:20
        I:PK    Q:30

$PROD:E1  s:1
        O:PFX   Q:100
        I:P1    Q:50
        I:PR    Q:50

$PROD:M2
        O:P2    Q:50
        I:PFX   Q:50    A:CONSH T:TM2

*       The following trade activities are not operated in the benchmark
*       period and we calibrate them so that they are strictly non-profitable:

$PROD:E2
        O:PFX   Q:0.90
        I:P2    Q:1

$PROD:M1
        O:P1    Q:1
        I:PFX   Q:1.10

*       Cobb-Douglas preferences:

$PROD:W   s:1
        O:PW    Q:200
        I:P1    Q:100
        I:P2    Q:100

$DEMAND:CONSH
        D:PW    Q:200
        E:PL    Q:120
        E:PK    Q:80

$DEMAND:CONSF
        D:PFX   Q:50
        E:PR    Q:50

$OFFTEXT
$SYSINCLUDE mpsgeset M4_6S

E2.L = 0;
M1.L = 0;

M4_6S.ITERLIM = 0;
$INCLUDE M4_6S.GEN
SOLVE M4_6S USING MCP;
M4_6S.ITERLIM = 2000;

*       Apply a tariff which improves the terms of trade and home
*       welfare:

TM2 = 0.05;
$INCLUDE M4_6S.GEN
SOLVE M4_6S USING MCP;

$ontext


Exercises for M4_6S:


(i) Compute the relationship between welfare and tariff rate for different
benchmark export demand functions, where the value share of PR in E1 takes
on values 50, 100 and 200.

(ii) Replace the tariff on good 2 imports with a tax on good 1 exports,
and show that you can obtain identical equilibrium values (i.e., demonstrate
Lerner symmetry).

$offtext

$TITLE Model M4_7S: Small open economy model with benchmark VER import quota.


$ontext

November, 1995 (revised)

In this example, units are chosen such that all DOMESTIC prices equal
one initially.  Implied world prices are then P1/P2 = 1.2

This model is identical to model M4_3 except that in this benchmark
the quota rents are paid to the foreign agent.  In order to balance
to the same values, we include a benchmark balance of payments deficit
endowment for the home consumer.

We add a row to account for quota revenue.  It has an entry in the
M2 column (quota rents are deducted from the profit), and in the
CONSF column (quota rents is paid in lump-sum to the foreign agent):

                Production Sectors                      Consumer

Markets   |     X1      X2      E1      M2      W       CONSH   CONF
------------------------------------------------------------------
P1        |     150             -50             -100
P2        |             40              60      -100
PL        |     -100    -20                             120
PK        |     -50     -20                             70
PW        |                                     200     -200
PFX       |                     50      -50             10      -10
QR2       |                             -10                     10
------------------------------------------------------------------

$offtext

SCALAR          MQ2     Import quota level                      /50/
                BOPDEF  Benchmark balance of payments deficit   /10/
                VER_QUOTA       Voluntary export restraint quota /50/
                AUC_QUOTA       Auction quota / 0/;

$ONTEXT

$MODEL:M4_7S

$SECTORS:
        X1      ! Production index for good 1
        X2      ! Production index good 2
        E1      ! Export level of good 1
        E2      ! Export level of good 2
        M1      ! Import level of good 1
        M2      ! Import level of good 2
        W       ! Welfare index 

$COMMODITIES:
        P1      ! Price index for good 1
        P2      ! Price index for good 1        
        PFX     ! Read exchange rate index
        PW      ! Welfare price index
        PL      ! Wage index
        PK      ! Capital rental index
        QR2     ! Quota rent on good 2 imports

$CONSUMERS:
        CONSH   ! Income level for representative home agent
        CONSF   ! Income level for representative foreign agent

*       Cobb-Douglas production in both sectors:

$PROD:X1  s:1
        O:P1    Q:150
        I:PL    Q:100
        I:PK    Q:50
 
$PROD:X2  s:1
        O:P2    Q:40
        I:PL    Q:20
        I:PK    Q:20

*       We scale the export price for good 1 and the import price
*       for good 2 to both be unity:

$PROD:E1
        O:PFX   Q:50
        I:P1    Q:50
 
$PROD:M2
        O:P2    Q:60
        I:PFX   Q:50
        I:QR2   Q:50

*       The following trade activities are not operated in the benchmark
*       period, assuming that they are non-profitable by about 10%:

$PROD:E2
        O:PFX   Q:0.9
        I:P2    Q:1

$PROD:M1
        O:P1    Q:1
        I:PFX   Q:1.1

*       Cobb-Douglas preferences:

$PROD:W   s:1
        O:PW    Q:200
        I:P1    Q:100
        I:P2    Q:100

$DEMAND:CONSH
        D:PW    Q:200
        E:PFX   Q:BOPDEF
        E:PL    Q:120
        E:PK    Q:70
        E:QR2   Q:AUC_QUOTA

$DEMAND:CONSF
        E:QR2   Q:VER_QUOTA
        D:PFX   Q:10

$OFFTEXT
$SYSINCLUDE mpsgeset M4_7S

*       Benchmark replication

M1.L = 0;
E2.L = 0;
QR2.L = 0.2;

M4_7S.ITERLIM = 0;
$INCLUDE M4_7S.GEN
SOLVE M4_7S USING MCP;
M4_7S.ITERLIM = 2000;

*       Counterfactual experiment is to convert the voluntary export 
*       restraint into an auction quota:

VER_QUOTA = 0;
AUC_QUOTA = 10;

$INCLUDE M4_7S.GEN
SOLVE M4_7S USING MCP;

$ontext


Exercises for M4_7S:


(i) Assuming that the VER remains in effect, investigate the welfare
effects of an import tariff.  Can a tariff be welfare improving?

(ii) Reformulate this model using the Armington assumption, basing gross
trade flows on model M4_5s.  Calibrate to the same value of quota rents.
Which model implies a larger welfare costs of VERs for the home country?

$offtext