Announcement

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

  • *HELP* Two-way fixed effects model

    Hi Statalisters,

    I am currently working on my Thesis and I am having problems on STATA - which I am using for the first time.

    I have a panel data which spans from 2008 through 2015 and covers 181 Italian listed family firms. My main interest is the relation between founding-family ownership and firm performance. The analysis also incorporates variables that identify CEOs as firm founders, descendants of the firm's founder, or outsiders. I would like to use a two-way fixed effects model for my regression analysis.

    The paper I have read that does something similar describes the fixed effects to be dummy variables for each year of the sample and dummy variables for each two-digit SIC code (I would like to use ATECO 2007 Code since I am talking about Italy), and the regression they employ is the following:

    Firm Performance= δ0 + δ1 (Family Firm) + δ3 (control Variables) + δ3 + δ54 (Two digit ATECO Code) + δ'93-'99 (Year Dummy Variables) + 𝛆

    where
    Firm Performance = ROA based on EBITDA and net income, and Tobin's q;
    Family Firm = binary variable that equals one when the founding family is pre- sent in the firm, and zero otherwise; Control Variables = officer and director holdings less family holdings, fraction of independent directors serving on the board, research and development expenses divided by total sales, long-term debt divided by total as- sets, stock return volatility, natural log of total assets, and the natural log of firm age;
    Two-Digit ATECO Code = 1.0 for each two-digit SIC code in our sample;
    Year Dummy Variables = 1.0 for each year of our sample period."

    Now, my Professor has suggested me to do this in STATA:

    - encode Company, gen (Company1)
    - xtset Company1
    - xtset Company1 Year
    - encode ATECOCode2007, gen(ATECO)
    - xtset ATECO
    - egen id = group(Year ATECO)

    *I hereby created a joined variable of Year and ATECO in order to replicate via an OLS the two-way fixed effects model - then I performed the areg code*

    - generate young = (Firmageyears<50)
    - generate old = (Firmageyears>50)

    - generate CEOhire = (CEOfam<0.5)
    - generate CEOfounder = (CEOfound>0.5)
    - generate CEOdescendant = (CEOdesc>0.5)

    *To specify, in my excel the variable FamilyFirm is already a dummy - do I have to generate one on STATA as well?*

    - areg ROA FamilyFirm Officersanddirectorsownless DE DEBITDA Returnperemployee Salesgrowth CapexPPE1 LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb (id)
    - areg ROE FamilyFirm Officersanddirectorsownless DE DEBITDA Returnperemployee Salesgrowth CapexPPE1 LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb (id)
    - areg Tobinsq FamilyFirm Officersanddirectorsownless DE DEBITDA Returnperemployee Salesgrowth CapexPPE1 LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb (id)

    *Removed Returnperemployee, CapexPPE1 - First set: FF/NFF*
    - areg ROA FamilyFirm Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)
    - areg ROA FamilyFirm Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)
    - areg ROA FamilyFirm Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)

    *Second set - young/old*
    - areg ROA young old Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)
    - areg ROE young old Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)
    - areg Tobinsq young old Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)

    *Third set: CEOhire/CEOfounder/CEOdescendant*
    - areg ROA CEOhire CEOfounder CEOdescendant Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)
    - areg ROE CEOhire CEOfounder CEOdescendant Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)
    - areg Tobinsq CEOhire CEOfounder CEOdescendant Officersanddirectorsownless DE DEBITDA LTDTA1 Returnvolatility1 lnTotalassets Lnfirmage, absorb(id)


    ** PROBLEMS **
    0. Is first of all, right the areg code, or is there a better way to create a two-way fixed effects model?
    1. I have NO INTERCEPT in my regression results
    2. If I were to add the variable x Outsidedirectors, my variable FamilyFirm is omitted from the regression because of Collinearity problems.... how come? This would be an important variable for my model and I did not have this kind of problem in my old database...is there a problem on Excel maybe?


    Thank you A LOT in advance for your help!

  • #2
    No one responded quickly to your question. You'll increase your chances of a helpful answer if you follow the FAQ on asking questions - provide Stata code in code delimiters, Stata output, and sample data. Also, try to simplify your code to what is necessary to demonstrate the problem.

    You've asked a question that is overly long and complex. You can do two way fixed effects many ways including by (i) generating a two way indicator then using areg or xtreg - see group, (ii) using the mixed procedure, or (iii) finding the user written xtreg procedure for multiple dimensions (I don't remember the name but it is discussed frequently on this list serve).

    There is no intercept necessarily because you're including a pile of dummies that provide different intercepts for different panels. The intercept if estimated is the intercept for the omitted panel which is not very interesting.

    You may not be able to use outside directors with familyfirm for many reasons. The most obvious is that if family firm means privately held, then they don't have directors (in the US). Do your listed firms have to have boards of directors? Have you looked at the correlation between familyfirm and outside in the estimable sample?

    There is no possible way we could diagnose a problem that you may have generated in Excel.

    Comment


    • #3
      It is bad form to post essentially the same question when it has already been addressed.

      Comment


      • #4
        The two-way fixed effects can be efficiently estimated with the within estimator. However, Stata only implemented the cross-sectional fixed effects (one can trick it to estimate temporal one-way fixed effects). The standard approach would be to estimate a one-way fixed effects and through dummy variables for the second dimension (usually temporal, especially with short panels). These dimension effects are not consistently estimated due to the incidental parameter issue for the dimension(s) one is controlling. You should be able to use
        Code:
        xtset Company Year
        xtreg ROA varlist_IndependtVariables varlist_controls i.Year, robust
        The intercept in Stata's one-way fixed effects is an artificial overall intercept (no true intercepts in fixed effects models). The one you get with mix of within and dummy (the one you use in Stata) is not even the overall intercept. You might want to look for some Stata module for estimating a multi-way cluster robust covariance matrix. The robust option will yield a clustered covariance matrix by panel ID. Two-way fixed effects cannot estimate time-invariant / cross-sectional invariant effects.
        Last edited by Nosferican; 25 Aug 2017, 03:30.

        Comment

        Working...
        X