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 id eret mktrf smb hml crindex
1        0 -.054  .057 -.019 1.114363
1       -.008  .023  .108 -.101 1.275477
1       -.031  .047 -.101  .068 1.113256
1        .022 -.058 -.052  .051 1.247811
1        .052 -.033 -.012  .057 1.238863
2           0 -.054  .057 -.019 1.263836
2  .011125162  .023  .108 -.101  1.20842
2 -.002865699  .047 -.101  .068 1.044907
2   .03214509 -.058 -.052  .051 1.170571
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.