Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Using ppmlhdfe with exporter-time, importer-time and pair fixed effects - Gravity model

    Dear all,

    I try to figure out the equivalent of my ppml command to ppmlhdfe command, including exporter-time, importer-time and pair fixed effects.


    I try to estimate the impact of a customs union on a country's trade. For this purpose, I use structural gravity model. My dataset includes 25 years of bilateral trade flows of countries. A sample of my dataset is as following.

    Code:
    * Example generated by -dataex-. To install: ssc install dataex
    clear
    input int year str44(importer exporter) float tot_trade byte(contiguity agree_pta_goods) double distance byte common_language double(colony_history ex_cu im_cu ln_DIST) byte pick_2
    1994 "Ecuador"                          "France"                            58677.68 0 0 9461.1875 0 0 0 0 9.154953182709102 1
    1997 "Dem. Rep. of the Congo"           "Peru"                               703.819 0 0 10632.649 0 0 0 0 9.271684640667031 1
    1999 "Bolivia (Plurinational State of)" "Slovenia"                           264.175 0 0 10663.994 0 0 0 0 9.274628299217726 1
    2002 "Gambia"                           "Thailand"                          4807.716 0 0 12452.279 1 0 0 0 9.429658937349679 1
    2004 "Bahamas"                          "Colombia"                          44224.74 0 0 2164.2061 0 0 0 0 7.679808875727051 1
    2009 "Ecuador"                          "Guatemala"                         9768.951 0 0 2200.6453 1 0 0 0 7.696505914518857 1
    2014 "Belarus"                          "Saint Vincent and the Grenadines"        .4 0 0 8778.5654 0 0 0 0 9.080068279201447 1
    2015 "Grenada"                          "South Africa"                       198.094 0 0 10511.784 1 0 0 0 9.260252192568075 1
    2015 "Cambodia"                         "Italy"                             60636.74 0 0 9329.0723 1 0 0 0 9.140890856957729 1
    2015 "Rep. of Moldova"                  "Slovakia"                         27215.846 0 1 768.47858 0 0 0 0 6.644412690111351 1
    end

    I have used ols and ppml so far but I experienced convergence issues with ppml. Then I noticed that ppmlhdfe command is suggested in the forum, then I decided to try it. However, I could not figure out the exact equivalent of my ppml command.

    Firstly, my ppml command is as following. I employ, exporter-time, importer-time and pair fixed effects.



    Code:
              
     
    egen exp_time = group(exporter year)
     
    quietly tabulate exp_time, gen(EXPORTER_TIME_FE)
     
    egen imp_time = group(importer year)
     
    quietly tabulate imp_time, gen(IMPORTER_TIME_FE)
     
    egen pair_id = group(exporter importer)
     
     
    ppml tot_trade EXPORTER_TIME_FE* IMPORTER_TIME_FE* ln_DIST contiguity agree_pta_goods common_language colony_history ex_cu im_cu, cluster(pair_id)  
     
    * I used example codes of Yotov et al. (2016) An advanced guide to trade policy analysis: The structural gravity model. Geneva: World Trade Organization

    Variables are :

    -tot_trade: exports from country a to b
    -EXPORTER_TIME_FE: exporter time fixed effect
    -IMPORTER_TIME_FE: importer time fixed effect
    -ln_DIST: natural log of distance
    -contiguity, agree_pta_goods, common_language,colony_history are dummy variables to control for related indicators.
    -ex_cu: dummy variable, 1 if the trade flow is exports from the examined country to the customs union after the establishment of the customs union, or zero otherwise.
    -im_cu: dummy variable, 1 if the trade flow is imports from the customs union to the examined country after the establishment of the customs union, or zero otherwise.
    -pair_id: pair fixed effect


    I wrote the following ppmlhdfe command by looking the help file but I am not so experienced, I just tried.

    Code:
    ppmlhdfe tot_trade ln_DIST contiguity agree_pta_goods common_language colony_history ex_cu im_cu, absorb (i.exporter#i.year i.importer#i.year) cluster(i.importer#i.exporter)

    Then I received the following error:

    Code:
    importer:  string variables may not be used as factor variables
    As I said, I am not so experienced to figure out what it means. How can I type write the right command for ppmlhdfe, which includes exporter-time, importer-time and pair fixed effects?

    Kind regards
    Last edited by Gokhan Dursun; 12 Jun 2020, 08:27. Reason: tags

  • #2
    if you try the following
    Code:
    encode importer, gen (Importer)
    encode exporter, gen(Exporter)
    Fixed effects :
    Code:
    cap egen exp = group(Importer)
    cap egen imp = group(Exporter) 
     ppmlhdfe tot_trade ln_DIST contiguity agree_pta_goods common_language colony_history ex_cu im_cu, absorb (Exporter#year Importer#year) cluster(Importer#Exporter)
    That should work,
    (Ridwan)

    Comment

    Working...
    X