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

  • PPML, bilateral FDI panel data

    Dear Statalisters,

    For my MSc dissertation I am studying panel data of bilateral FDI flows, with 30 sending countries over 2001-2012. My question of interest is whether a characteristic of the sending countries (changes over time), moderates the relation between FDI and labor rights (changes over time) in the receiving country. I have reviewed quite some papers and answers on this fora, and the PPML method Santos Silva and Tenreyro (2006) seems appropriate in this case (also since I have quite some zero FDI flows). I have used Stata before, but Im not very familiar with analyzing panel data so I was wondering if anyone on the forum could answer some of my questions? (apologies in advance if i should have included other information to assess this)

    Ive taken the following steps after creating the database (in long format)
    - creating fixed effects:

    egen origin = group(iso3n_o)
    qui tab iso3n_o, g(origin_dum_)
    egen destination = group(iso3n_d)
    qui tab iso3n_d, g(destination_dum_)

    - changed negative fdi flows into "1"s (Folfas, 2001)
    recode fdi_outflow (-60000/-1 = 1), generate (fdi_outflow_pos)

    - generated my interaction term
    generate codet_int = worker*codetermination

    Then I ran the following:
    ppml fdi_outflow_pos ldistw lgdp_o lgdp_d worker contig comlang_off colony comcur ores fuel codet_int codetermination origin_dum_* destination_dum_*, cluster(distw)

    This leads to the following results (Ive attached a picture of the results table)
    Number of parameters: 186
    Number of observations: 17074
    Pseudo log-likelihood: -7719799.4
    R-squared: .41231141
    Option strict is: off

    After this I ran the RESET test, this test was insignificant at the 0.05 level, but very close (0.0684) which worries me a bit.

    It would be of great help, if anyone could help me with the following:
    1. is this generally a correct way of specifying the model?

    and more specifically:
    2. does PPML account for multilateral resistance terms or should I add these separately?
    3. is clustering by distance in this case right?
    4. how can I account for the time dimension (I have looked at Tom Zylkin's "ppml_panel_sg", but this does not allow variables like GDP)

    Id be very happy if someone could help me out here, I'll gladly provide more information.


    Attached Files

  • #2
    Dear Hester Haringsma,

    I am not able to comment on many aspects of what you did but:

    2 - PPML does not account for MLR
    3 - That is the standard approach

    The result of the RESET looks OK to me.

    Best wishes,



    • #3
      Dear Joao Santos Silva ,

      Thank you very much for the quick reply. I have now looked further into the model specifications and ran both an OLS (with time-fixed effects) and the PPML (both pair&time fixed effects), I did so using below commands:

      ppml fdi_outflow_pos gdpcap_o gdpcap_d worker yr_sch natural legal lrem_o lrem_d legal_abs political_abs economic_abs laborinst laborinst_int dpair* dyear*, cluster(distw)
      eststo: reg lfdi_outflow lgdp_o lgdp_d worker yr_sch natural lrem_o lrem_d human legal_abs political_abs economic_abs laborinst laborinst_int dyear*, cluster(distw) robust

      I had a few questions on this, which I couldn't really find the answer to online:
      1. for the PPML, what is the best way to deal with negative values of my FDI flows?; I saw some papers reset these to 0s, whereas others reset them to 1 (e.g. Welfens & Baier, 2018) (overall the mean of FDI flows is positive)
      2. it takes STATA a long time to estimate the PPML when I include pair FE, is there a way to speed this up? Ive seen Tom Zylkin's module, but I do not want to include importer & exporter FE

      Kind regards,


      • #4
        Dear Hester Haringsma,

        Starting form the bottom:

        2 - try xtpoisson with FE
        1 - I have no good answer for that

        Best wishes,