Trade policy parameters (FTA, MUL)

Table of contents

Overview

These parameters control how tariffs are applied in bilateral trade between regions. They serve as indicator matrices that determine whether tariff rates apply to trade flows between specific pairs of regions.

Parameters

MUL

SYM Declaration:

parameter MUL(dest,orig)    'multilateral tariff flag'

Definition: A binary indicator matrix for multilateral tariff application. When MUL = 1, standard bilateral tariffs (TIM + TIX) apply to trade between the origin and destination regions.

Calibration: Default value: 1.0 for all region pairs (all bilateral tariffs apply)

def set_mul_parameters(self):
    mul: pd.DataFrame = pd.DataFrame(
        1.0,
        index=[f"destination({region})" for region in self.sym_data.regions_members],
        columns=self.sym_data.regions_members,
    )
    self.insert_parameter("MUL", mul)

Usage in Model: Used in the import price and demand equations:

IMP = delta_ff * (
        BCT
      + (1 + (TIM+TIX)*MUL + TIF*FTA) * exp(PIM-PMR(dest))
      )^(-sigma_ff(dest))
      + IMPX

Where:

  • TIM: Import tariff rate
  • TIX: Additional tariff/trade barrier
  • MUL: Multilateral tariff flag (1 = tariff applies)

FTA

SYM Declaration:

parameter FTA(dest,orig)    'free trade area tariff flag'

Definition: A binary indicator matrix for free trade agreement (FTA) tariff application. When FTA = 1, preferential FTA tariffs (TIF) apply to trade between the origin and destination regions.

Calibration: Default value: 0.0 for all region pairs (no FTAs in default configuration)

def set_fta_parameters(self):
    """
    fta - free trade agreement indicator matrix.

    This is a binary matrix with a row and column for each region.
    The element in row `i` and column `j` is 1 if regions `i` and `j`
    have a free trade agreement and zero otherwise.

    The diagonal elements are all 1 because each region has a free 
    trade agreement with itself.
    """
    fta: pd.DataFrame = pd.DataFrame(
        0.0,
        index=[f"destination({region})" for region in self.sym_data.regions_members],
        columns=self.sym_data.regions_members,
    )
    self.insert_parameter("FTA", fta)

Usage in Model: Used in the import price equations alongside MUL:

PMR = cd_ff * (ln(BCT + (1+(TIM+TIX)*MUL + TIF*FTA)*exp(PIM)))
    + (1-cd_ff) * ln(
        sum(orig, delta_ff * (BCT + (1+(TIM+TIX)*MUL + TIF*FTA)*exp(PIM))^(1-sigma_ff))
      ) / (1-sigma_ff*(1-cd_ff))

Tariff Structure

The effective tariff rate between origin and destination is:

\[\tau_{od} = (TIM + TIX) \cdot MUL_{od} + TIF \cdot FTA_{od}\]

Where:

  • $\tau_{od}$: Effective tariff from origin to destination
  • $TIM$: Base import tariff rate
  • $TIX$: Additional trade barriers
  • $MUL_{od}$: Multilateral tariff indicator (0 or 1)
  • $TIF$: FTA preferential tariff rate
  • $FTA_{od}$: FTA indicator (0 or 1)

Scenario Analysis

Creating an FTA

To model a new free trade agreement between regions A and B:

  1. Set FTA(A,B) = 1 and FTA(B,A) = 1
  2. Set appropriate TIF rates for preferential access
  3. Optionally set MUL(A,B) = 0 and MUL(B,A) = 0 to remove standard tariffs

Trade War Scenario

To model increased tariffs between regions:

  1. Keep MUL = 1 for affected region pairs
  2. Increase TIM or TIX values for those regions

Customs Union

To model a customs union:

  1. Set FTA = 1 for all member pairs
  2. Set MUL = 0 for all member pairs (no internal tariffs)
  3. Align external TIM values across members

Matrix Structure

Both FTA and MUL are square matrices with dimensions (regions × regions):

  USA EUR CHN
USA 1 0 0
EUR 0 1 0
CHN 0 0 1

Note: Diagonal elements represent domestic “trade” (always tariff-free).

Variable Description
TIM Import tariff rate
TIX Additional trade barrier rate
TIF FTA preferential tariff rate
PIM Import price at origin
PMR Landed price of imports at destination
IMP Import quantity

References