Skip to content

Fama–MacBeth Regressions: Running the Cross-Section One Month at a Time

Part 6 of my notes on empirical asset pricing

The idea in one sentence

Instead of one giant regression over all stocks and all months, run a separate cross-sectional regression every month, then treat the monthly slopes as a time series and average them.

Posts #4 and #5 worked with portfolios. Fama–MacBeth works with individual stocks (or portfolios) directly and lets you control for several characteristics at once, which a sort struggles to do.

The recipe

Step 1. For each month t, regress returns across stocks on characteristics known at the start of the month: r_{i,t} = \gamma_{0,t} + \gamma_{1,t}\,\text{Size}_{i,t-1} + \gamma_{2,t}\,\text{B/M}_{i,t-1} + \gamma_{3,t}\,\text{GP/A}_{i,t-1} + \varepsilon_{i,t}

That gives you one set of slopes per month: \hat\gamma_{k,1}, \hat\gamma_{k,2}, \dots, \hat\gamma_{k,T} .

Step 2. Average each slope over time and use its time-series variation for the standard error: \bar\gamma_k = \frac{1}{T}\sum_{t=1}^T \hat\gamma_{k,t} \qquad SE(\bar\gamma_k) = \frac{\text{sd}(\hat\gamma_{k,t})}{\sqrt{T}}

A t-stat on \bar\gamma_k tells you whether the characteristic reliably predicts returns holding the others fixed.

Intuition 1: each month is one experiment

Think of every month as an independent trial of “do high-profitability stocks outperform this month, controlling for size and value?” Some months the answer is yes, some no. Fama–MacBeth asks whether the average answer is reliably positive.

This is why the standard errors come out right even though stocks within a month are correlated. The whole month’s market-wide shock is baked into that month’s \hat\gamma_t . The noise shows up as month-to-month variation in the slope, which is exactly what the standard error measures. You never have to model the cross-firm correlation directly. This is the same problem that forced Acemoglu et al. to build a special covariance correction in post #2.

Intuition 2: each slope is a portfolio return

This is the insight that makes Fama–MacBeth click. Each monthly slope \hat\gamma_{k,t} is mathematically the return on a zero-cost portfolio that has:

  • a unit exposure to characteristic k, and
  • zero exposure to every other characteristic in the regression.

So a Fama–MacBeth regression is really a sort done by regression: it builds a long-short portfolio for each characteristic, perfectly neutralized against the others, every month. The average slope is that portfolio’s average return. This connects directly back to post #4.

Where it shows up in the readings

Novy-Marx (2013) uses Fama–MacBeth regressions to show that gross profits-to-assets predicts returns about as strongly as book-to-market, controlling for B/M, size and momentum. He also points out that earlier work was mixed: Fama & French (2006) found earnings helped in Fama–MacBeth regressions, while Fama & French (2008) found profitability sorts produced weak spreads. The measure turned out to matter. Gross profitability works much better than earnings. It’s also a reminder that regressions and sorts can tell different stories.

Bessembinder & Zhang (2013) use it the other way around, as a robustness check. They estimate their long-run abnormal return regression (from post #3) two ways:

Pooled OLSFama–MacBeth
WeightsEach event equallyEach month equally
Standard errorsClustered by dateFrom time-series variation of monthly slopes
Economic readingRelevant if an investor’s capital scales with the number of eventsRelevant if an investor commits constant capital every month

The IPO, SEO, merger and dividend-initiation anomalies are insignificant under both once characteristics are controlled for. When two different weighting schemes agree, the conclusion is much sturdier. They also require at least 20 firms per month, because a regression on a handful of stocks produces wild slopes that distort the average.

Fama–MacBeth vs. the other tools

Portfolio sortTime-series factor regressionFama–MacBeth
UnitPortfoliosPortfolios (or factors)Individual stocks (or portfolios)
Controls for many variables at onceHard (cells go empty)Through factor loadingsEasy, just add regressors
Assumes linearityNoIn the factorsYes, in characteristics
OutputSpread in average returnsAlphas and loadingsPremium per unit of characteristic
Best forSeeing the shape of an effectTesting whether known factors explain itTesting marginal effects with many controls

Pitfalls

1. Microcaps dominate. Ordinary least squares gives every stock equal weight, and there are thousands of tiny stocks. A characteristic can look powerful in Fama–MacBeth just because it works among microcaps. Common fixes are to drop the smallest stocks, weight by market cap, or check results by size group.

2. Outliers and scale. Raw characteristics like B/M have extreme values that swing individual monthly slopes. Researchers often use logs, winsorize, or rank-transform. Bessembinder & Zhang rank-normalize each characteristic difference to lie between −1 and 1, which also makes the coefficients directly comparable.

3. Linearity. A characteristic might only matter at the extremes. Adding squared terms, as Bessembinder & Zhang do, can change conclusions. That’s exactly what killed the merger and dividend anomalies.

4. Persistent slopes. The standard error assumes the monthly slopes are roughly independent over time. When characteristics barely change from month to month, the slopes can be autocorrelated and the standard error too small. The usual fix is a Newey–West adjustment on the slope series. Petersen (2009) shows Fama–MacBeth doesn’t handle persistent firm effects well.

5. Estimated betas. If the regressors are estimated betas rather than observed characteristics, measurement error biases slopes toward zero (errors-in-variables). The original Fama–MacBeth paper used portfolio betas to reduce the noise. Pástor & Stambaugh (2003) follow the same logic: they sort stocks on predicted liquidity betas and report betas for the resulting portfolios rather than noisy individual estimates. Shanken (1992) provides the standard-error correction for this two-pass setup.

My checklist

  1. Are the characteristics known before the month starts?
  2. Are microcaps driving the result? Check with value weights or size subsamples.
  3. How are extreme values handled? Logs, winsorizing or ranks?
  4. Are the regressors characteristics or estimated betas? If betas, is errors-in-variables addressed?
  5. Are the standard errors adjusted for autocorrelation in the slopes?
  6. Does the result match the portfolio sort? If not, why?

Next post: characteristics vs. covariances. Daniel & Titman’s test of whether stocks earn premiums because of what they are or because of how they move.

References

Bessembinder, H., & Zhang, F. (2013). Firm characteristics and long-run stock returns after corporate events. Journal of Financial Economics, 109(1), 83–102. https://doi.org/10.1016/j.jfineco.2013.02.009

Fama, E. F., & French, K. R. (2006). Profitability, investment, and average returns. Journal of Financial Economics, 82, 491–518.

Fama, E. F., & French, K. R. (2008). Dissecting anomalies. Journal of Finance, 63, 1653–1678.

Fama, E. F., & MacBeth, J. (1973). Risk, return, and equilibrium: Empirical tests. Journal of Political Economy, 81, 607–636.

Newey, W. K., & West, K. D. (1987). A simple, positive semi-definite, heteroskedasticity and autocorrelation consistent covariance matrix. Econometrica, 55(3), 703–708.

Novy-Marx, R. (2013). The other side of value: The gross profitability premium. Journal of Financial Economics, 108(1), 1–28. https://doi.org/10.1016/j.jfineco.2013.01.003

Pástor, Ľ., & Stambaugh, R. F. (2003). Liquidity risk and expected stock returns. Journal of Political Economy, 111(3), 642–685.

Petersen, M. (2009). Estimating standard errors in finance panel data sets: Comparing approaches. Review of Financial Studies, 22, 435–480.

Shanken, J. (1992). On the estimation of beta-pricing models. Review of Financial Studies, 5(1), 1–33.

Leave a Reply

Your email address will not be published. Required fields are marked *