Announcement

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

  • Why use rolling regression for Fama-Macbeth?

    Hello, I posted this question on Stack Overflow but I was recommended by Nick Cox to post it here instead. The post on Stack Overflow can be found here.

    I am trying to run a Fama-MacBeth (1973) two step regression with the Fama-French (1993) factors and one added variable which reflects the level of conflict in a country. Instead of using stocks, I utilize country indices, with a sample of 30 countries overall. The Fama French Factors are constant across each panel unit (id) since I use the Global Factors.

    For some context, a sample of my data looks like this:

    Code:
     * Example generated by -dataex-. To install: ssc install dataex
    clear
    input  date id eret mktrf smb hml crindex
    2000m1 1        0 -.054  .057 -.019 1.114363
    2000m2 1       -.008  .023  .108 -.101 1.275477
    2000m3 1       -.031  .047 -.101  .068 1.113256
    2000m4 1        .022 -.058 -.052  .051 1.247811
    2000m5 1        .052 -.033 -.012  .057 1.238863
    2000m1 2           0 -.054  .057 -.019 1.263836
    2000m2 2  .011125162  .023  .108 -.101  1.20842
    2000m3 2 -.002865699  .047 -.101  .068 1.044907
    2000m4 2   .03214509 -.058 -.052  .051 1.170571
    2000m5 2   .02329442 -.033 -.012  .057 1.311508
    end
    After a lot of reading on statalist, and other forums, I used this code to run the two steps: 1) Run time series regressions per country index for the 3 fama french factors and my added crisis variable to get a beta per factor per country index/stock with the following command:
    Code:
      
     xtset id monthly bys id: asreg eret njtrf snb hml crindex
    which yields betas for each factor, as I want. Then I use those betas to run the fmb regression with the following code :
    Code:
      
     drop _R2 adjR2_   asreg eret _b_hml _b_mktrf _b_smb _b_crindex, fmb newey(3)
    To get the Risk premium or gammas as reported on the original paper. This gives me an output which I am satisfied with. However, I have seen in other forums that people use rolling regressions to estimate the betas in the first step and I do not know why one would do that, and how. I imagine something like this for the first step would be appropriate also:
    Code:
      
     bys id: asreg eret mktrf smb hml crindex , window(monthly 60)
    Or as I have only 170 months, maybe something like 12. But I am quite confused about this first step. Any clarifications would be quite appreciated.
    Last edited by Juana Fusteria; 11 Jun 2019, 04:12.
Working...
X