Why Fama–French Factors Require Portfolio Data Beyond Daily Prices
Summary
The document asks how to obtain and calculate Fama–French three- and five-factor inputs for a selected group of large technology stocks. It distinguishes ordinary market data such as daily high, low, close, volume, and adjusted price from the portfolio returns needed to construct size and value factors. SMB and HML are defined through averages of returns from portfolios grouped by firm size and book-to-market characteristics, such as small value and big growth.
The response does not explain the factor construction or show a calculation. Instead, it points to downloading published Fama–French values through a Python data workflow and related documentation. The question itself notes that reproducing the factors requires inputs such as market capitalization and book-to-equity, as well as portfolio formation rules; prices for a chosen subset of stocks alone are insufficient to recreate the standard factors. The exchange leaves open whether factors tailored to the named index universe are available and how to build them in R.
Key ideas
- Daily price and volume fields do not by themselves provide the characteristics needed to form Fama–French portfolios.
- SMB and HML are calculated from returns on portfolios sorted by size and book-to-market.
- Replicating factors requires firm characteristics and a defined portfolio formation procedure.
- The response recommends retrieving published factor values, but does not provide an R implementation or solve index-specific construction.
Tags
Full text
# Obtaining the Data and Calculating the actual Fama-French Factors for top NDXT companies # Obtaining the Data and Calculating the actual Fama-French Factors for top NDXT companies I am very new to the world of finance (a statistician) and I would like to run time series regressions for 3 and 5-factor Fama-French model in R but before I do that, I am very puzzled about obtaining the actual data: - If I use quantmod, from my understanding I get the following variables on let's say some top performers in NDXT, let's say GOOG, CSCO, KLAC, ADSK, AKAM: so for each day, I'd get: High ,Low, Close, Volume, Adjusted (and I'm still having a hard time grasping what those concepts mean in terms of a bigger picture of finance) - From these variables, or whatever variables I can possibly get through quantmod (given they only provide the publicly available data from Google Finance, Yahoo, Fred, and Oanda), how do I calculate SMB and HML for NDXT? From Fama and French website, SMB = 1/3 (Small Value + Small Neutral + Small Growth) - 1/3 (Big Value + Big Neutral + Big Growth). and: HML = 1/2 (Small Value + Big Value) - 1/2 (Small Growth + Big Growth). Then, using the data I can obtain via quantmod, how do I calculate: - Small Value, Small Neutral, Small Growth - Big Value, Big Neutral, Big Growth - the average return on the two growth portfolios - the average return on the two growth portfolios and to begin with, how do I find the two growth portfolios? Or it is already calculated somewhere on Fama and French website for NDXT and I'm just not looking at the right data files? I think my confusion got even further after I read this response How to get real-time data for Fama-French model? on Stack Exchange: > Basically, what they do is divide the world up a grid of 5x5 portfolios: size on one axis, value on the other. If you have access to market cap and B/E you could follow their procedure that they outline. Hence, these factors are themselves average returns, so their calculation is dependent on the stocks you choose to input. ## Answer by sen_saven (score 1, accepted) https://quant.stackexchange.com/a/34621 I can see that you are mentioning quantmod so you are probably using R, but in python it's quite straightforward to download the FF values through pandas. Please see this for a sample implementation and you can find further info about the data downloaded here Hope that helps.
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.