Quant500 Academy

5. Factor investing: the Fama-French models

Level 6: Regression and Pricing Models

The CAPM has an empirical problem: there are whole portfolios that beat the market systematically and persistently, and the CAPM labels them as alpha, that is, as manager skill. Fama and French showed that a good part of that supposed talent was really exposure to known risks.

The Fama and French three-factor model is an asset pricing model developed in 1992 that extends the CAPM by adding size and value risk factors to the CAPM's market risk factor. The model takes account of the fact that value shares and small capitalization shares beat the market regularly. By including these two additional factors, the model adjusts for that tendency to beat the market, which is taken to make it a better tool for evaluating manager performance. The model is essentially the result of an econometric regression of historical share prices.

In code, the regression to be estimated is:

# (r_it - r_ft) = alpha + b1*(r_mt - r_ft) + b2*SMB_t + b3*HML_t + error
import statsmodels.formula.api as smf
FF3 = smf.ols(formula='XsRet ~ MKT + SMB + HML', data=df).fit()

Where SMB is the size premium (*small minus big*) and HML is the value premium (*high minus low*). SMB captures the fact that listed companies with low market capitalization generate higher returns, while HML captures the fact that value shares, with high book-to-market ratios, generate higher returns compared with the market.

It is important to understand what a factor is: it is not an index, it is a long-short portfolio. SMB is the return of buying small caps and selling big caps; HML that of buying shares with a high book-to-market and selling those with a low one. That is why a factor beta can perfectly well be negative: a negative HML beta means the portfolio is tilted toward growth, not toward value.

The five-factor model came later. Its theoretical starting point is the dividend discount model, which establishes that the value of a share today depends on its future dividends. Fama and French use the dividend discount model to derive two new factors from it: investment and profitability (Fama and French, 2015; the working draft circulated in 2013-2014).

# Two more regressors are added to the three-factor model
FF5 = sm.ols(formula='XsRet ~ MKT + SMB + HML + RMW + CMA', data=df).fit()

RMW is the return spread of the more profitable companies minus the less profitable ones (*robust minus weak*). CMA is the return spread of the companies that invest conservatively minus those that invest aggressively (*conservative minus aggressive*).

The practical consequence of all this for a quant is enormous. When you build a strategy and measure its alpha, the right question is not whether it beat the index: it is whether any alpha is left once you net out its exposure to known factors. The factor data is published and free at Kenneth French's Fama-French Data Library, at Dartmouth, so there is no excuse for not running that check.

To go deeper into this lesson

The rest of Quant500

What you are learning, applied to the index every day:

The model portfolio, weekly in your inbox

Every Saturday, its week in one minute: how it went, the best and the worst, and which insiders bought with their own money. Plus, the day the model is rebuilt, which stocks come in and which go out. A simulation, not advice. At most one email a week, no ads, no account; one-click unsubscribe. Made by one person: Pol Gracia.

A model portfolio with simulated results, not a personalized recommendation. Your email is used for this only: privacy.

Behind the Academy and the rest of Quant500 there is one person: Pol Gracia Serrahima.