How Fama and French Build Portfolios

The Fama–French models don’t start with regressions. They start with portfolio construction. The core idea is simple: take a stock characteristic you think might be related to expected returns, sort the market into a small number of broad, diversified portfolios, and then study the return patterns across those portfolios. The long–short ‘factors’ in the model are then built directly from those same sorted portfolios. This is why their approach is so replicable: it is a workflow, not just a statistical specification (Fama and French 1992; Fama and French 1993; Fama and French 2015).

Step 1: The 2×3 Sort (Six Test Portfolios)

A ‘2×3’ sort is a double sort:

  • First: split stocks into two size groups: Small and Big.

  • Then: split each size group into three buckets on a second characteristic: Low, Neutral, High.

That creates six portfolios:

  • S/L, S/M, S/H

  • B/L, B/M, B/H

The point isn’t to perfectly rank individual stocks. It’s to form portfolios that are diversified, stable through time, and interpretable. If the characteristic matters for expected returns, you should see a broadly monotonic return pattern from Low → Neutral → High, within Small and within Big.

Step 2: Breakpoints (Why NYSE Matters)

A key detail is how breakpoints are set. Fama and French usually define cut-offs using NYSE stocks only, then apply those same breakpoints to the full sample (NYSE + AMEX + NASDAQ). The intuition is practical: if you let the whole universe (especially microcaps) set percentile cut-offs, the ‘Small’ group can become overwhelmingly tiny and illiquid, and the breakpoints can behave erratically. NYSE-based breakpoints tend to be more stable and economically meaningful.

For the ‘3’ side of the sort, they commonly use a 30/40/30 split:

  • Low: bottom 30%

  • Neutral: middle 40%

  • High: top 30%

Again, the 30th and 70th percentile breakpoints are typically computed on NYSE, then applied to everyone.

Step 3: Timing (How They Avoid Look-ahead Bias)

Portfolio formation follows a timing convention designed to avoid look-ahead bias:

  • Size is measured at the end of June (market capitalisation).

  • Accounting variables (book equity, profitability, investment) come from the most recent fiscal-year data that would plausibly be available by June, with an assumed reporting lag.

  • Portfolios are formed at the end of June and held from July of year t to June of year t+1.

  • Returns are typically recorded monthly.

This annual reconstitution lines up with slow-moving accounting information and avoids noisy month-to-month reshuffling.

Step 4: Weighting (Value-weighted Within Buckets)

Within each of the six buckets, returns are usually value-weighted. That matters because it reduces the extent to which tiny firms dominate portfolio returns and makes the portfolios behave more like implementable aggregates of market opportunities.

The Classic Example: Size × Value (Book-to-market)

The canonical 2×3 sort is size × value, where the second characteristic is book-to-market.

  • Split into Small/Big using the NYSE median market cap at end of June.

  • Split into Low/Neutral/High book-to-market using the NYSE 30th and 70th percentiles.

This creates the six portfolios and lets you see the key diagnostic: within Small and within Big, do higher book-to-market portfolios earn higher average returns than lower book-to-market portfolios?

From Six Portfolios to Factor Returns

Once you have the six portfolios, factor construction is deliberately mechanical. The general rule is:

  • To isolate a characteristic, compare High vs Low within both size groups, then average.

  • To isolate size, compare Small vs Big, averaging across the characteristic buckets.

HML (‘High Minus Low’)

HML is built as the average value spread within Small and within Big:

HMLₜ = ½ × [(S/Hₜ − S/Lₜ) + (B/Hₜ − B/Lₜ)]

Where:

  • S/Hₜ is the return on the Small–High portfolio in month t

  • S/Lₜ is the return on the Small–Low portfolio in month t

  • B/Hₜ and B/Lₜ are the analogous Big portfolios

This design matters: it measures the value spread controlling for size, rather than letting size mechanically contaminate the ‘value’ return.

SMB (‘Small Minus Big’)

SMB is built as the average size spread across the three characteristic buckets:

SMBₜ = ⅓ × [(S/Lₜ + S/Mₜ + S/Hₜ) − (B/Lₜ + B/Mₜ + B/Hₜ)]

Where:

  • S/Mₜ is the Small–Neutral portfolio return in month t

  • B/Mₜ is the Big–Neutral portfolio return in month t

So SMB isolates ‘size’ by comparing Small to Big, averaging over the characteristic buckets.

Reusing the Same Machinery: Profitability and Investment

The five-factor model reuses the same 2×3 setup, just swapping the characteristic:

  • Profitability sort: Robust / Neutral / Weak → RMW (‘Robust minus Weak’)

  • Investment sort: Conservative / Neutral / Aggressive → CMA (‘Conservative minus Aggressive’)

The factor constructions mirror HML:

RMWₜ = ½ × [(S/Rₜ − S/Wₜ) + (B/Rₜ − B/Wₜ)]

CMAₜ = ½ × [(S/Cₜ − S/Aₜ) + (B/Cₜ − B/Aₜ)]

In the five-factor setup, SMB is often defined as an average of size spreads from multiple 2×3 sorts (for example value, profitability, and investment). The intuition is that ‘size’ looks slightly different depending on what you are controlling for, so averaging stabilises the size factor and avoids tying it to any single secondary sort (Fama and French 2015).

How the Portfolios Feed Into the Regressions

A typical paper follows a consistent sequence:

  1. Show the average returns in the sorted portfolios (the diagnostic stage).

  2. Run time-series regressions of the test portfolio excess returns on factor returns (the model-testing stage).

A standard three-factor time-series regression is:

Rₚ,ₜ − Rf,ₜ = αₚ + βₚ,ₘ × (Rm,ₜ − Rf,ₜ) + sₚ × SMBₜ + hₚ × HMLₜ + εₚ,ₜ

And the five-factor version adds profitability and investment:

Rₚ,ₜ − Rf,ₜ = αₚ + βₚ,ₘ × (Rm,ₜ − Rf,ₜ) + sₚ × SMBₜ + hₚ × HMLₜ + rₚ × RMWₜ + cₚ × CMAₜ + εₚ,ₜ

Where:

  • Rₚ,ₜ − Rf,ₜ is the excess return on test portfolio p in month t

  • Rm,ₜ − Rf,ₜ is the market excess return

  • αₚ is the intercept (‘alpha’) for portfolio p

  • βₚ,ₘ, sₚ, hₚ, rₚ, cₚ are factor loadings

  • εₚ,ₜ is the residual

The economic question is not ‘does the regression fit improve?’ but ‘do the alphas go away in an interpretable way?’ In this framework, a model ‘prices’ the cross-section if the intercepts αₚ are close to zero across the sorted portfolios, and any remaining alphas do not show a clean pattern concentrated in particular corners of the sorts. The ambition is that the factor exposures explain the return spreads that the sorts revealed in the first place.

The 25 Portfolios (5×5 Sorts): A Sharper Diagnostic

The 2×3 sort is the workhorse because it is simple and stable. But when Fama and French want a higher-resolution picture of how returns vary across characteristics, they step up to 5×5 sorts, which produce 25 portfolios. Conceptually nothing changes. You still sort on size, you still sort on a second characteristic, and you still look for a clear pattern in average returns. The difference is that quintiles let you see whether the relationship is smooth and monotonic, and whether it is concentrated in particular corners of the market.

How the 5×5 Portfolios Are Formed

A standard 5×5 sort is:

  • First sort: split stocks into five size groups (Size 1 to Size 5) using NYSE breakpoints (typically quintiles based on market cap at the end of June), then apply those breakpoints to the full universe.

  • Second sort: within each size group, split stocks into five characteristic groups (Characteristic 1 to Characteristic 5) using NYSE breakpoints (typically quintiles, for example on book-to-market), again applied to the full universe.

That produces 25 portfolios: Size 1 × Characteristic 1 through Size 5 × Characteristic 5.

If you want a clean notation for the portfolio return in month t:

Rᵢⱼ,ₜ = return on the portfolio in Size quintile i and Characteristic quintile j in month t

Where:

  • i ∈ {1,2,3,4,5} indexes size from smallest to biggest (by construction)

  • j ∈ {1,2,3,4,5} indexes the characteristic from low to high (by construction)

Timing and weighting follow the same conventions as the 2×3 sorts: size is measured at end of June, accounting variables are lagged to reflect availability, portfolios are formed in June and held from July of year t to June of year t+1, returns are typically value-weighted within each bucket, and returns are recorded monthly.

What the 25 Portfolios Are Used for in Practice

The 25 portfolios do two jobs in the papers.

First, they are a diagnostic. If a characteristic is related to expected returns, you want to see a broadly monotonic pattern across the five characteristic buckets, and you want to see whether that pattern is stronger among small firms than big firms. Quintiles make it harder for a result to be a fluke of one breakpoint.

Second, they are test assets. These 25 portfolios become the left-hand side of the time-series regressions used to evaluate factor models. The idea is not just ‘does the model fit’, but ‘does the model remove the economically meaningful spreads that the sorts revealed’.

A generic regression for one of the 25 portfolios is:

Rᵢⱼ,ₜ − Rf,ₜ = αᵢⱼ + βᵢⱼ,ₘ × (Rm,ₜ − Rf,ₜ) + sᵢⱼ × SMBₜ + hᵢⱼ × HMLₜ + εᵢⱼ,ₜ

And the five-factor version is:

Rᵢⱼ,ₜ − Rf,ₜ = αᵢⱼ + βᵢⱼ,ₘ × (Rm,ₜ − Rf,ₜ) + sᵢⱼ × SMBₜ + hᵢⱼ × HMLₜ + rᵢⱼ × RMWₜ + cᵢⱼ × CMAₜ + εᵢⱼ,ₜ

Where:

  • Rᵢⱼ,ₜ − Rf,ₜ is the excess return on the (i,j) sorted portfolio in month t

  • αᵢⱼ is the intercept (‘alpha’) for that portfolio

  • βᵢⱼ,ₘ, sᵢⱼ, hᵢⱼ, rᵢⱼ, cᵢⱼ are factor loadings

  • εᵢⱼ,ₜ is the residual

The economic interpretation is the same as in the 2×3 case. The sorts are designed to uncover a return spread. The model is judged by whether it explains that spread through factor exposures rather than leaving a systematic pattern of non-zero αᵢⱼ concentrated in particular quintiles.

How the 2×3 and 5×5 Fit Together

It helps to think of the 2×3 and the 5×5 as the same tool at two different resolutions.

  • 2×3: the stable, diversified workhorse used to build factor returns and to show the basic return patterns cleanly.

  • 5×5: the higher-resolution diagnostic and test set used to check monotonicity and to stress-test whether a model really prices the cross-section across many corners of the market.

References

Fama, Eugene F., and Kenneth R. French. 1992. ‘The Cross-Section of Expected Stock Returns’. The Journal of Finance 47 (2): 427–65.

Fama, Eugene F., and Kenneth R. French. 1993. ‘Common Risk Factors in the Returns on Stocks and Bonds’. Journal of Financial Economics 33 (1): 3–56.

Fama, Eugene F., and Kenneth R. French. 2015. ‘A Five-Factor Asset Pricing Model’. Journal of Financial Economics 116 (1): 1–22.

Next
Next

Sharpe’s Arithmetic, Revisited: When ‘Average Active’ Might Beat ‘Average Passive’ Before Costs