Skip to content
All library documents

Choosing an R-Squared for Two-Step Fama–MacBeth Regressions

Article Quant Q&A · Author: BlueFx

Summary

The document distinguishes two ways to report goodness of fit in a two-step Fama–MacBeth factor analysis. Rolling windows belong to the first-stage time-series regressions used to estimate portfolio betas. The second stage uses those betas in cross-sectional regressions of returns on factor prices of risk, or lambdas. Averaging first-stage rolling-window R-squared values does not answer the question about second-stage cross-sectional fit.

For the second stage, one option is to calculate an R-squared for each period’s cross-section and report their average; the response notes that published work has used this convention. Another option is to run one pooled cross-sectional regression and report its single R-squared. These summarize different analyses, so the choice depends on the intended test and reporting method. The discussion does not prescribe one universal statistic, and the user’s negative result is not diagnosed from the information provided.

Key ideas

  • Rolling windows apply to the first-stage time-series beta estimation.
  • The second stage relates estimated betas to returns in cross-sectional regressions.
  • An average of period-by-period cross-sectional R-squared values is one reporting choice.
  • A single cross-sectional regression provides a different, single R-squared measure.
  • Choose the statistic to match the regression design and the question being reported.

Tags

Full text
# Rsquared in Fama Macbeth using rolling window


# Rsquared in Fama Macbeth using rolling window












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.

So how usually the final R-squared is calculated ?

## Answer by phdstudent (score 3, accepted)

https://quant.stackexchange.com/a/38951

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:

> Table 2 reports average slopes, R2s, and sample sizes for 596 monthly cross --sectional regressions, 1964:05 to 2013:12.

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:

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.