The conventional method of finding out whether or not a factor works is to look at the performance of the top (or bottom) ten or twenty percent of stocks ranked according to that factor and then subtract the bottom (or top) ten or twenty percent. One should then buy stocks that rank highly on that factor and sell (or short) stocks that rank near the bottom.
But there are a lot of factors for which it makes more sense for middling values to be best. You have to think each factor through logically.
Change in profit margin (net income divided by revenue/sales) is one such factor. The companies whose margin has risen the most over the last year have decreasing sales and increasing income; companies whose margin has fallen the most have decreasing income and increasing sales. Neither of those is a good thing. If your income is increasing but your sales are falling, your income increase will be unsustainable and you’ll be setting yourself up for a fall (or maybe you’re cooking the books). If your sales are increasing but your income is falling, you’re likely using your revenue inefficiently.
Using the S&P 1500 and monthly rebalancing, I created, using Portfolio123, a decile-by-decile graph of how stocks have fared on this factor over the last twenty years:
Sales growth is another such factor. Companies with unsustainable sales growth are usually punished by the market. Here’s a chart using the same parameters as the previous one, except looking at sales growth rather than margin growth. I bet you could look at a hundred years of data and see this play out well.
These are what I like to think of as “misbehaving factors.” They’re giving you the middle finger, challenging you to deal with them.
It’s absolutely vital to think every factor through. Ask yourself: Are stocks that have super high (or super low) factor X really more likely to outperform than stocks that have middling factor X? You’ll often find yourself answering: Well, not necessarily.
But what should we do with factors like this? Should we simply ignore them? Should we combine them with other factors to see if the pattern will change? Or should we favor middling values?
When I started evaluating stocks back in 2015, I decided to concentrate on factors that had the most impact, that made the most difference. Here was my thinking.
I wanted to evaluate every stock I bought from as many angles as possible. Obviously, I couldn’t hope to evaluate stocks on absolutely everything—there were certain factors I tried for which it made little sense to evaluate a stock. I wanted to look at the factors that showed the largest discrepancies between high and low forward performance, no matter where those discrepancies showed up on the chart—at one end or in the middle. And while it may be “data-mining” to estimate an optimal rank or value for a factor, that still may be more logical than settling on the highest/lowest value or ignoring the factor altogether.
So that’s what I did. I created ranking systems in which I favored low values for some factors, high values for others, and middling values for yet others. Since nobody else at the time was favoring middling values for anything, that gave me an edge. And I went on to triple my money in less than three years. Of course, there may be absolutely no relationship between using middling rankings and tripling my money. But both in backtests and out of sample, this technique seems to improve results.
Just because some factors “misbehave,” don’t count them out. If you want to really evaluate every stock you buy from every major angle, leaving out a factor with a large significance (a big difference between the highest and lowest decile performance) can have a worse effect on your returns than including a factor that, it turns out, doesn’t “work.” Feel free to leave out factors that honestly don’t make much difference. But if you see a factor with a huge variation in returns between deciles, you probably want to avoid stocks in the top and bottom deciles and favor stocks in the middle few. That will help make every stock you pick a real treasure.