Interpreting Low Fama–French R-Squared in a Trading Strategy
Summary
The document describes a factor attribution exercise for a backtested equity strategy. The researcher aggregates strategy returns monthly, obtains monthly Fama–French factor returns, and runs a multivariate regression. The resulting fit is low, prompting questions about possible data or coding errors, the model’s suitability for a strategy holding only a few stocks, and whether the strategy’s returns may be weakly related to the included factors.
As a comparison, substituting S&P 500 returns into the same regression produces a much higher R-squared, consistent with the researcher’s expectation for broad market returns. This comparison suggests that the regression setup can produce a strong fit for an index, but it does not establish why the strategy’s fit is low or validate the backtest. The document provides no regression coefficients, sample details, residual analysis, or answer resolving the competing explanations; low R-squared alone does not identify a specific source of risk or prove a strategy is riskless.
Key ideas
- A low regression R-squared means the selected factors explain relatively little variation in the tested returns.
- A strategy investing in a small number of stocks may behave differently from a broad market index.
- A high index fit using the same setup is a useful check, but does not validate the strategy data or explain its low fit.
- Low factor-model fit does not by itself show that returns are free of recognized risks.
Tags
Full text
# Low R-squared on fama french analysis in own strategy returns # Low R-squared on fama french analysis in own strategy returns I am running a backtest of a trading strategy. In order to analyze which risks have explained the strategy returns in the past, I made a fama french analysis. I resampled the historical returns monthly and downloaded the monthly returns from Ken French's Data Library and performed a multivariate regression in python. Unfortunately, this only produces an r-squared of 18%. I have a few suspicions. Could someone help me figure out which one is correct or how I could test it. - The backtest or the regression is wrong. Either because of incorrect market data or errors in the python code. - The fama french model only works on averaged market returns. My strategy only invests in about 5 stocks at a time. In the original paper, however, regressions were performed on large market indices such as the s&p 500. - Only a very small variance can be explained by the fama french risk factors (HML, SMB, ...). This could indicate that my strategy has returns but not more (commonly recognized) risks. Any help will be greatly appreciated. We have already reviewed the code thoroughly. If you use the returns of the S&P 500 instead of my own strategy, you get an r-squared of over 90% with the same regression model and market data provider (just like French et. Al. in the paper)
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.