I am trying to do Fama Macbeth regression on some tradable factors using 5-year rolling window updated monthly. However, I am a little bit confused when calculating the final R-squared of the model. I am thinking about two ways to deal with it:

For each rolling window, I have one R-squared. To calculate the final R-squared of the model, I just take the average of all R-squared in each rolling window (just like the way we do with lambda) >> I get pretty good R-squared (around 70%-80%)

After extracting the final lambda for each factor, I use R-squared formula to calculate the final R-squared >> I get very bad R-squared (negative). In this case, I use dependent variables are average return of each portfolio, independent variables are obviously the betas, corresponding with factors and portfolios.

1 Answer
1

It really depends whether you are making time-series or cross-sectional tests. It seems that you are trying to do 2-step Fama-Macbeth regressions. So at this second stage rolling windows no longer matter (those are time-series regressions - the first stage). After you have the beta estimates from the first stage you run the second stage (details here).

For each time-period $t$ you will have a cross-sectional regression. You can average safely the $R^2$ of each regression to get an average $R^2$.
This has been done in the literature, for example: Lewellen (2015).

Take a look at table 2 from that paper and the description of the table:

An alternative way is to make a single cross-sectional regression on the second stage. This is the approach of Lettau and Ludvigson (2001). In this case you will have a single R2. Take a look at their table 1:

$\begingroup$First, thank you for your prompt response. However, I think in the second stage, we still need the rolling window because for each rolling window we have a specific matrix of betas (for factors and portfolios) and they are different across rolling windows. And those betas are regressed as independent variables against a subsequent period. More precisely, for the first rolling window (t1 >> t60), I extract betas (time-series regression ) and I use excess return at t61 to regress against those betas (cross-sectional regression) to get lambda and Rsquared for the first rolling window.$\endgroup$
– BlueFxMar 23 '18 at 16:31

$\begingroup$Do you think whether it is reasonable to regress in the second stage like the way that I just described ? Thanks.$\endgroup$
– BlueFxMar 23 '18 at 16:45

$\begingroup$You have a vector and not a matrix of betas. Then the second window should be t2 >> t61 and the third t3 >> t62 and so on and so forth.$\endgroup$
– phdstudentMar 23 '18 at 16:50

$\begingroup$In the case of Lettau and Ludvigson (2001), I don't think I can replicate their way because they have constant betas for all period. Not like in the rolling-window case, when we have different betas for different rolling windows ?$\endgroup$
– BlueFxMar 23 '18 at 17:15

$\begingroup$Correct. But you can also run a single time-series regression instead of rolling windows.$\endgroup$
– phdstudentMar 23 '18 at 17:48