Constructing Fama-French Factors with Sorted, Value-Weighted Portfolios
Summary
The document clarifies that the classic Fama-French factors are formed through characteristic sorts rather than portfolio optimization. It outlines a size and book-to-market procedure: classify stocks into small or big groups using market capitalization, split them into high, middle, or low book-to-market groups, and calculate monthly value-weighted returns for the resulting portfolios.
It then describes forming the zero-cost HML factor from high versus low book-to-market portfolios and SMB from small versus big portfolios, alongside a market factor. Regressing stock or portfolio returns on these factors gives factor loadings. The answer recommends comparing constructed returns with published factor series and stresses that replication involves further empirical details. The description is a broad outline, not a complete specification; it omits many implementation choices, and its reference to inflation-adjusting market capitalization should be checked against the original methodology before replication.
Key ideas
- Classic Fama-French factors are built from characteristic-sorted portfolios, not an optimization routine.
- The outlined procedure sorts stocks by size and book-to-market characteristics and calculates value-weighted portfolio returns.
- HML contrasts high and low book-to-market portfolios, while SMB contrasts small and big portfolios.
- Regressing returns on the factor series estimates exposure to market, size, and value factors.
- Replication requires consulting the original methodology and validating results against published factor returns.
Tags
Full text
# Do Fama-French factor portfolios require optimization?
# Do Fama-French factor portfolios require optimization?
I am going to perform factor crowding analysis for my dissertation and I am struggling to build factor portfolios from the S&P 500 in r. I built my dataset from the S&P 500 and I am able to add a column that signal me for each stock and time if it is going to be in the long ptf, in the short ptf or neither of them. However when it comes to really build the portfolio I have some problem at optimizing in portfolioanalytics because I use very restrictive constraint.
I just wanted to be sure that this kind of problem requires optimization and not a simple weighted average. Could I come up with a portfolio beta-neutral and dollar-neutral just by summing stock returns according to some weight?
## Answer by MarcusAerlius (score 3, accepted)
https://quant.stackexchange.com/a/53121
It is so not clear what you are trying to do, and I suggest you read Fama-French (1992, 1993) papers first before touching any data.(Read again if you have already, because you seem very confused).
Fama-French do not do portfolio optimization. They merely sort stocks based on characteristics, group them into portfolios and take the returns, and then run regressions of individual stock returns on those characteristics.
Anyways, here is what you need to do in order to construct Fama-French factors.
- Calculate the Market Capitalization of each stock on the last trading day of June, every year. Use CPI index in order to inflation-adjust the market caps.
- For every year, divide stocks into two groups: Big stocks (B), whose calculated market cap in (1) is higher than the Median NYSE market cap on that year. the ones lower than the median are Small (S) stocks.
- Similar process follows for the Value factor. Sort the portfolios based on the Book to Market ratios. and then divide the stocks into three groups. (High (H), Medium (M), Low (L)).
- You should have 6 portfolios now based on these two sorts. Calculate value-weighted monthly return of each portfolio for each month in the sample.
- Construct the Value (HML) factor. It is a zero cost portfolio: The return of the HML is the average return of two High book/market portfolios (B/H and S/H) minus the average return of two low book/market portfolios (B/L and S/L).
- Construct the Size (SMB) factor. It is a zero cost portfolio: Difference between the average return of three small portfolios (S/H, S/M, S/L) and three large ones (B/H, B/M, B/L)
- It is a good practice to compare your return results to the factors returns available on Kenneth French Website.
- Construct your MKT factor as well. and then regress your returns on these three portfolios. Your regression should follow $$R_{i,t} = \alpha_{i} + \beta_{MKT,i}MKT_t + \beta_{SMB,i}SMB_t + \beta_{HML,i}HML_t + \epsilon_{i,t} $$
in which $i$ represents your individual stock or portfolio. The $\beta$ s tell you how much your stock or portfolio is loaded on each factor.
P.S: There are lots of details in the empirical process. Refer to the papers to make sure your mimic process is accurate. Again, first read the papers and make sure you understand. Then go to data. Then refer back to papers to fill in the gaps.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.