Announcement

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

  • reghdfe on observational/cross sectional data?

    Hello dear stata users.

    I am currently trying to run the following regression:

    bidder_car = target_asset_beta + year fixed effect x industry

    I am using the code

    reghdfe bidder_car target_asset_beta, absorb(year#industry).

    I do get seemingly satisfactory results but here comes my problem. I am a complete Stata and statistics newbie, but from what I understand reghdfe is used for panel data, while I think I am working with observational/cross sectional data. Sadly I am not allowed to share my data but I am allowed to describe it to you.

    I am trying to understand the effects of the Tragets Beta on the bidders cummulative abnormal return after an M&A announcement. For this I have numerous observations of aqcuiring Firms and their Car (the % change in stock price from t= - 2 to t = 2), the year of the observation and the Industry the acquirer is working in. Those Observations are not repeated for individual firms, observations only occur after an M&A announcement, but naturally since I have a lot of observations, every Industry has many observations for every year. Am I wrong for using reghdfe here?

    I understood the term "year fixed effect x industry" as the interaction of the cross sectional and time fixed effect, which effectively create dummy variables. When the right year and industry match apperas, the intercept moves up accordingly. Am I wrong with my interpretation?

    I would really really really appreciate if someone could help me with my command and the statistical interpretation of the term in question
    Last edited by Nils Nehmer; 04 Mar 2024, 08:33. Reason: reghdfe panel data fixed effects interaction

  • #2
    Nils:
    welcome to this forum.
    I would consider something along the lines of the following toy-example:
    Code:
    use "https://www.stata-press.com/data/r18/nlswork.dta"
    . regress ln_wage i.year##i.collgrad , vce(cluster collgrad )
    
    Linear regression                               Number of obs     =     28,534
                                                    F(0, 1)           =          .
                                                    Prob > F          =          .
                                                    R-squared         =     0.1698
                                                    Root MSE          =     .43583
    
                                    (Std. err. adjusted for 2 clusters in collgrad)
    -------------------------------------------------------------------------------
                  |               Robust
          ln_wage | Coefficient  std. err.      t    P>|t|     [95% conf. interval]
    --------------+----------------------------------------------------------------
             year |
              69  |   .0895385   1.78e-13  5.0e+11   0.000     .0895385    .0895385
              70  |   .0672167   1.84e-13  3.7e+11   0.000     .0672167    .0672167
              71  |   .0997394   1.79e-13  5.6e+11   0.000     .0997394    .0997394
              72  |   .1179707   1.78e-13  6.6e+11   0.000     .1179707    .1179707
              73  |   .1289467   1.78e-13  7.3e+11   0.000     .1289467    .1289467
              75  |   .1208245   1.79e-13  6.8e+11   0.000     .1208245    .1208245
              77  |   .1838134   1.75e-13  1.0e+12   0.000     .1838134    .1838134
              78  |   .2316857   1.77e-13  1.3e+12   0.000     .2316857    .2316857
              80  |   .2414506   1.77e-13  1.4e+12   0.000     .2414506    .2414506
              82  |   .2301258   1.78e-13  1.3e+12   0.000     .2301258    .2301258
              83  |   .2640497   1.88e-13  1.4e+12   0.000     .2640497    .2640497
              85  |    .317086   1.92e-13  1.7e+12   0.000      .317086     .317086
              87  |   .3256101   1.92e-13  1.7e+12   0.000     .3256101    .3256101
              88  |    .368006   1.93e-13  1.9e+12   0.000      .368006     .368006
                  |
       1.collgrad |   .4627511   7.41e-13  6.2e+11   0.000     .4627511    .4627511
                  |
    year#collgrad |
            69 1  |   .0213055   7.42e-13  2.9e+10   0.000     .0213055    .0213055
            70 1  |  -.0736689   7.43e-13 -9.9e+10   0.000    -.0736689   -.0736689
            71 1  |  -.0230467   7.43e-13 -3.1e+10   0.000    -.0230467   -.0230467
            72 1  |  -.0600206   7.42e-13 -8.1e+10   0.000    -.0600206   -.0600206
            73 1  |  -.1230566   7.42e-13 -1.7e+11   0.000    -.1230566   -.1230566
            75 1  |  -.1287874   7.42e-13 -1.7e+11   0.000    -.1287874   -.1287874
            77 1  |  -.1246688   7.42e-13 -1.7e+11   0.000    -.1246688   -.1246688
            78 1  |  -.1039252   7.41e-13 -1.4e+11   0.000    -.1039252   -.1039252
            80 1  |  -.0930635   7.40e-13 -1.3e+11   0.000    -.0930635   -.0930635
            82 1  |  -.0503205   7.37e-13 -6.8e+10   0.000    -.0503205   -.0503205
            83 1  |  -.0432334   7.37e-13 -5.9e+10   0.000    -.0432334   -.0432334
            85 1  |  -.0098713   7.36e-13 -1.3e+10   0.000    -.0098713   -.0098713
            87 1  |  -.0143531   7.36e-13 -1.9e+10   0.000    -.0143531   -.0143531
            88 1  |  -.0301393   7.35e-13 -4.1e+10   0.000    -.0301393   -.0301393
                  |
            _cons |   1.410062   1.76e-13  8.0e+12   0.000     1.410062    1.410062
    -------------------------------------------------------------------------------
    
    .
    Kind regards,
    Carlo
    (StataNow 18.5)

    Comment


    • #3
      Hey, thank you!

      But why the double ## ? from what I think to know ## means that the individual as well as the interaction of the two terms are used, but i think according to the regression I have to run, that I am only interested in the interaction effect.

      what does vce mean and why does it apply here? Thank you in advance!

      Comment


      • #4
        Nils:
        1) it's rare that interaction only is needed. Anyway, just eliminate one out of the two # and go:
        Code:
         
         regress ln_wage i.year#i.collgrad , vce(cluster collgrad )
        2) -vce(cluster collgrad)- calls the cluster-robust standard errors option. Unlike, my previous toy-example, cluster-robust standard errors need with at least 30 panels to work out fine.
        Kind regards,
        Carlo
        (StataNow 18.5)

        Comment

        Working...
        X