Skip to content
All library documents

Testing a New Factor with Cross-Sectional and Fama–MacBeth Regressions

Article Quant Q&A · Author: YemenBlues

Summary

The document explains how to assess whether a proposed factor adds explanatory power to a Fama–French three-factor model. It distinguishes time-series regressions on sorted portfolios, which measure how much factor variation explains return variation, from cross-sectional regressions, which test whether factor loadings are associated with average returns. A higher adjusted R-squared after adding a factor speaks to time-series fit, but does not by itself establish that the factor explains expected returns.

The answer says that 25 sorted portfolios provide 25 observations for a cross-section. It proposes estimating loadings in rolling first-stage regressions, then running a cross-sectional regression each month to estimate factor risk premia. Averaging those monthly estimates gives mean premia, whose significance can be assessed using their time-series dispersion. The note contrasts this repeated approach with a single cross-section, but offers no empirical results and gives only a brief outline; implementation choices and inference details are not fully discussed.

Key ideas

  • Time-series regression fit and cross-sectional explanation of average returns address different questions.
  • A set of 25 portfolios supplies 25 observations for a single cross-sectional regression.
  • Rolling first-stage regressions can generate time-varying factor loadings for repeated monthly cross-sections.
  • Fama–MacBeth-style estimation averages monthly risk-premium estimates and tests their significance over time.

Tags

Full text
# How to do Fama French (1993) cross sectional regressions? A few questions


# How to do Fama French (1993) cross sectional regressions? A few questions












I am still relatively new to asset pricing factor models and have a few questions about my current empirical study. I would be very pleased if you could help me.

I have created a new factor which I now want to integrate into existing factor models. I want to see if the new factor makes a significant contribution to the explanation of returns and if its a "good" factor. Let us call the factor for simplification in the following $FKT$. I would now like to integrate this factor e.g. into the Fama French three-factor model:

$E(R_i) = \beta_i * E(RMRF) + s_i * E(SMB) + h_i * E(HML) + f * E(FKT)$

For this I first constructed 5x5 portfolios, sorted by size and the characteristic underlying the new factor. Then I performed time series regressions for the 25 portfolios, with the excess return of each portfolio $i$ as the dependent variable and the calculated factors as independent variables:

$R_{i} = \alpha_i + \beta_i * RMRF + s_i * SMB + h_i * HML + f * FKT + \epsilon_i $

If I have understood this correctly, then the $R_{adj.}^2$ of these time series regressions tells me whether the variance of the factors help to explain the variance of the returns over time. So if I compare the model without $FKT$ with the model including $FKT$, then I know that the new factor helps to explain the variance of the returns if $R_{adj.}^2$ is higher, right? But it does not tell me yet whether the new factor also helps to explain expected returns, right? For this I still have to do cross sectional regressions (?) according to Fama French (1993) with the calculated coefficients as independent variable and the averaged return over time as the dependent variable:

$R_{i} = \alpha_i + \beta_i * \lambda_{RMRF}+ s_i * \lambda_{SMB} + h_i * \lambda_{HML} + f_i * \lambda_{FKT}$

The more significant $\alpha = 0$ (F statistics) here, the better the model, right? The Lambdas are the risk premia of the factors, right?

At this point I don't really get any further, as I am unsure about which "cross section" is being talked about here. Since I have created 25 portfolios, I can only have all in all 25 values in the cross section, right? Isn't that far too little for a sufficient regression? Or do I have to run new time series regressions for each company in the portfolios individually so that I have enough values for the final cross sectional regression (for each portfolio)?

Finally, I would be interested in how far Fama MacBeth (1973) regressions would provide additional information. What statement can I make from the results of Fama MacBeth regressions that I cannot make from the Fama French cross sectional approach?

I hope you understand my questions and can help me out, I would be very happy!

## Answer by phdstudent (score 5, accepted)

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

You say:

> At this point I don't really get any further, as I am unsure about which "cross section" is being talked about here. Since I have created 25 portfolios, I can only have all in all 25 values in the cross section, right? Isn't that far too little for a sufficient regression? Or do I have to run new time series regressions for each company in the portfolios individually so that I have enough values for the final cross sectional regression (for each portfolio)?

This correct. You only have 25 portfolios. That's enough for a single cross-section, YES!

A better way is to run the first stage as a rolling regression. Then you have multiple cross-sectional regressions (each with 25 observations) and then you do the following:

For each month $t$, you run a cross-section regression:

$r_{i,t} = \lambda_0 + \hat{\beta}_i {\lambda}_t + \alpha_{i,t}$

Where: $\hat{\beta}_i \equiv [\beta_{i, MktRf}, \beta_{i, SMB}, \beta_{i, HML}]'$, is a vector of the coefficients estimated on the first step.

What you are looking for is to estimate the vector of $\hat{\lambda}_t \equiv [\lambda_{t, MktRf}, \lambda_{y, SMB}, \lambda_{t, HML}]$.

So after the second step you will have $T$ estimates for each $\lambda$ (price of risk).

Then you just need to average those $\lambda$'s:

$\hat{\lambda} = \frac{1}{T} \sum^{T}_{t=1} \hat{\lambda}_t$

And you can test their statistical significance using as a variance estimate the following:

$Est.Asy.Var(\hat{\lambda}) = \frac{1}{T^2} \sum^{T}_{t=1} (\hat{\lambda}_t - \hat{\lambda} )(\hat{\lambda}_t - \hat{\lambda} )'$

Edit: Take a look at Fama and French (1992) the quote below is taken from their paper:

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.