How do I calculate the three factors? The first "market" factor seems straightforward. However the SmB and the HmL factors seem to require accounting data. Also, how does one calculate the momentum factor? Can you write down explicit formulas with clearly defined notation, or provide a reference that describes the canonical calculations?
-
1$\begingroup$ To calculate Fama French factors as Fama and French do, you'll need CRSP stock market data and Compustat accounting data. Between their papers and Ken French's website, they're fairly clear. $\endgroup$– Matthew GunnCommented Aug 22, 2017 at 19:37
-
$\begingroup$ @MatthewGunn which paper is this? $\endgroup$– TaylorCommented Aug 22, 2017 at 20:48
-
$\begingroup$ @MatthewGunn also, it is still possible to replicate their calculations even if the data is coming from a different source. I am interested in formulas, and if nobody is willing to provide that, then a specific title of the paper. Then maybe I'll write up something myself. $\endgroup$– TaylorCommented Aug 22, 2017 at 21:15
-
$\begingroup$ The tricky part if you're coming at it from a different data source is matching their universe of stocks precisely. $\endgroup$– Matthew GunnCommented Aug 22, 2017 at 21:18
-
$\begingroup$ @MatthewGunn ah I can see how that'd be a problem $\endgroup$– TaylorCommented Aug 22, 2017 at 21:22
2 Answers
I don't have time to give you a complete, precise answer, but this may help you get going. I'm pulling stuff from various notes I have in places. It's a bit trickier than someone naively might think.
Ken French's description of their methodology:
The details section of various points in their data library has a bunch of material.
You may also look for papers where Fama and French discuss their three or five factor model. For the three factor model, you might look at "Common Risk Factors in the Returns on Stocks and Bonds," 1993, Journal of Financial Economic.
Some Compustat calculations to get you going:
- The SQL code I have to calculate book equity from the Compustat annual file is:
seq - COALESCE(pstk, 0) + COALESCE(txditc, 0) as be
. (Be aware that the last part, adding back deferred taxestxditc
has a substantial effect.) - The SQL code I used to calculate operating profitability is
(revt - cogs - COALESCE(tie,0) - COALESCE(xsga,0)) as op_numerator
- Market equity I calculate as
csho * prcc_f as me
. - The book to market ratio would then be
CASE WHEN (me is NULL) OR (me = 0) THEN NULL ELSE be /me END as beme
- Find some Compustat manual to find what those variables are.
CRSP calculations and getting the universe right...
- Limit the universe to CRSP sharecd 10 and 11.
- For breakpoint calculations, limit it to the New York Stock Exchange.
- "Rm-Rf includes all NYSE, AMEX, and NASDAQ firms. SMB and HML for July of year t to June of t+1 include all NYSE, AMEX, and NASDAQ stocks for which we have market equity data for December of t-1 and June of t, and (positive) book equity data for t-1."
Form portfolios in June based upon accounting data for the prior fiscal year. Thus the accounting data is at least six months old and possibly a year old.
I recall there may be some small, additional checks for good price data.
Sanity checks:
You can see if you're computing market equity, book equity, etc... and oper ating in the same universe of securities by checking whether you can match the percentile breakpoints they compute:
http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html
Canonical references are