Skip to content
All library documents

Applying Fama–MacBeth Regressions to Firm Characteristics

Article Quant Q&A · Author: AahuM

Summary

The note explains how to use monthly cross-sectional regressions to estimate the return associations of observable firm characteristics, such as market capitalization and book-to-market ratio. Unlike the classic two-step asset-pricing setup, these characteristics are already measured for each firm, so a preliminary time-series regression to estimate factor loadings is unnecessary. For each month, regress firms’ returns on their characteristics, using values known at the prior month-end. In the paper discussed, June measurements are held fixed for returns from July through the following June, then updated for the next annual cycle.

The monthly slope estimates are averaged over time, and their variation is used to calculate sampling errors. This variation is the key feature of the Fama–MacBeth approach described: it accommodates changing slopes and provides standard errors intended to account for cross-sectional dependence. The note distinguishes this use from the original beta-pricing application, where time-series regressions first estimate each asset’s betas. It provides conceptual guidance rather than a full replication, and does not detail implementation choices such as missing data, weighting, or other inference adjustments.

Key ideas

  • Fama–MacBeth regressions can estimate return associations with observed firm characteristics without first estimating factor betas.
  • Each month, regress cross-sectional returns on characteristic values available at the preceding month-end.
  • In the cited study, June characteristics are used for monthly returns through the next June, then refreshed.
  • Average the monthly slopes, and use their time-series variation to estimate sampling errors.
  • The method’s standard-error rationale is to account for cross-sectional dependence while allowing slopes to vary over time.

Tags

Full text
# Fama MacBeth cross-sectional Regression


# Fama MacBeth cross-sectional Regression












I am deeply confused right now and hope someone can help me out a bit. I want to replicate part of a paper from Fama/French (2008), Dissecting anomalies, specifically, Table IV "Average Slopes and t-statistics from Monthly Cross-Section Regressions, July 1963–December 2005."

They say these are the average slopes of monthly cross-sectional regressions and reference Fama/MacBeth (1973):

> We use the cross-section regression approach of Fama and MacBeth (1973) to answer this question

but I thought the FM approach was a two-step approach: First, time-series regression of each stock to get the factor loadings, secondly a monthly cross-sectional regression to get the premiums which are then averaged. But I don't get it here. They say:

> The variables used to predict returns for July of t to June of $t+1$ are: MC, the natural log of market cap in June of $t$ (in millions)...,

but what exactly do I put in the variable MC for the cross-sectional regressions? Each firm has its own market cap in June, its own book-to-market ratio etc. Could someone clarify this for me?

EDIT:

To make it clearer, assuming I have the returns, market value and the accruals of three stocks for three months (I assume my accruals and market value changes monthly, for simplicity's sake), do I do the following? For each stock, I do a time-series regression

$$Ret_{it} = \beta_1 MV + \beta_2 Accruals + a_{it}$$

Now I have three estimates for $\beta_1$ and $\beta_2$. In the second step I do three times (for each of the three month) a cross-sectional regression

$$Ret_{it} = \beta_{1;i} \lambda_{MV} + \beta_{2;i} \lambda_{Accruals}$$

Now I have three estimates for the two factor premiums $\lambda_{MV}$ and $\lambda_{Accruals}$ and do the average of them to get my final factor premiums?

## Answer by skoestlmeier (score 7, accepted)

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

Preliminary

The main result of the Fama-MacBeth procedure is to calculate standard errors that correct for cross-sectional correlation in a panel. It is a commonly used method due to it's easily approach, and with regards to the time it was developed (1973), modern techniques like clustered robust standard errors were not yet invented. In this context, it was a convenient technique that allowed changing betas over time, which a single unconditional cross-sectional regression or a time-series regression test cannot easily handle.

Fama-MacBeth regression

In the original application of their 1973-paper, Fama-MacBeth run the following cross-sectional regression at each period of time: $$R_{t}^{ei}= \beta_{i}^{'}\lambda_t+a_{it}$$

where $R_{t}^{ei}$ is the excess-return of asset $i$ at time $t$ and $\beta_{i}^{'}$ denotes the estimated beta-factor of the stock. The first step you described is the time-series estimation of $\beta_{i}^{'}$. What follows is the estimation of beta's risk-premium, i.e. the slope $\lambda_t$ (see this excellent answer for more details).

They suggest that we can estimate $\lambda$ and $a_{it}$ as the average of the cross-sectional regression estimates, $$\hat{\lambda} = \frac{1}{T} \sum_{t=1}^{T}{\hat{\lambda}}_t$$ $$\hat{a}_i = \frac{1}{T} \sum_{t=1}^{T}{\hat{a}}_{it}$$

but most importantly, they suggest that we use the standard deviations of the cross-sectional regression estimates to generate the sampling errors for these estimates, $$\sigma^2(\hat{\lambda}) = \frac{1}{T^2} \sum_{t=1}^{T}{\left( \hat{\lambda}_t - \hat{\lambda} \right)^2}$$ $$\sigma^2(\hat{a}_i) = \frac{1}{T^2} \sum_{t=1}^{T}{\left( \hat{a}_{it} - \hat{a}_i \right)^2} $$

Cochrane (2005) states:

> Sampling error is about how a statistic would vary from one sample to the next if we repeated the observations. We cannot do that with only one sample, but why not cut the sample in half [..]. The Fama-MacBeth procedure carries this idea to its logical conclusion, using the variation in the statistic $\hat{\lambda}_t$ over time to deduce its variation across samples.

Your approach

You mention

> Each firm has its own market cap in June, its own book-to-market ratio etc.

,which is right, just as each stock has it's own estimate for $\hat{\beta}_i$. Besides the variable for the momentum of a stock (which is updated each month), each variable is measured at the end of June in year $t$. Then, you have to run the above regression (in a multivariate way!), where $\beta_{i}^{'}$ is replaced by the single variables market-capitalization,..., for July of year $t$ up to end of June in $t+1$. In fact, for these regression, only the left hand sight variable of a stocks (monthly) excess-return is updated.

To be clear: You match the monthly stock return with variables measured at the end of the previous month (e.g the monthly return of July with market-cap, etc. at the end of June).

In June of $t+1$, you update your right-hand variables and go on for the whole period of time, which finally gives you the whole monthly time-series for slopes of each variable.

EDIT

Based on your edited question, let me carefully point out the Fama-MacBeth procedure:

The preliminary time-series regression in their 1973-paper is run to get the estimates $\beta_i$ for each stock. This is necessary, as one can not directly observe beta-factors, and their calculation is based on a time-series regression.

In your example, you already have observed values for your variables of interest (MV, accruals,...). So you directly step into the monthly cross-sectional regressions. Based on your cited paper, you can use the same value for MV, etc. measured at the end of June in year $t$ for the whole subsequent year up to end of June in $t+1$. For each monthly regression, you observe the slopes $\lambda_{it}$, where you can calculate the time-series average and standard errors with the above formulas.

References:

Cochrane (2005), Asset Pricing, rev. edition, chap. 12.3.

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.