Portfolio Sorts and Decile Spreads
The standard test of whether a signal predicts returns — rank the universe, chop it into ten buckets, hold each for a month, and look at the top-minus-bottom spread. It is nonparametric, outlier-proof and produces a tradeable portfolio, which is also why it flatters bad signals.
Prerequisites: Signal Construction, Hypothesis Testing
You have a number for every stock — an accounting ratio, a momentum score, a sentiment reading — and you want to know whether it predicts returns. The portfolio sort is the answer the profession settled on. Rank the universe by the signal, cut it into ten equal-count buckets, hold each bucket for a month, and compare the top decile to the bottom. The difference is the decile spread, and it is the first number anyone will ask you for.
It won out over regression for three reasons. It assumes nothing about returns being linear in the signal, so an effect that lives in the tails still shows up. It uses ranks, not levels, so one stock with a book-to-price of 40 because its equity nearly vanished cannot dominate the result. And it outputs a portfolio you could have held, not a coefficient you must translate into positions.
The recipe, concretely
At the close of each month:
- Take the universe as it existed at that date — including the companies that later went bankrupt, or you have manufactured Survivorship Bias.
- Compute the signal using only data publicly available at that date. Accounting data needs a reporting lag; a fiscal-year-end December number is not usable until the following March or later.
- Rank and cut into 10 buckets. A 3,000-name universe gives 300 stocks per decile.
- Weight within each bucket — equal or by market cap — hold for one month, then repeat.
Fifty years of monthly data gives 600 observations of the spread, which is what makes the statistics tractable.
A worked sort
Here is what a twelve-month-minus-one momentum sort on US large caps looks like, in mean monthly return by decile.
Decile 1 returns 0.15% a month and decile 10 returns 1.35%, so the spread is percent per month. Annualise it, and annualise the risk. If the monthly spread has a standard deviation of 6.0%:
so 14.4% a year at 20.8% volatility, a Sharpe ratio of . And the statistical significance over months:
A t-statistic of 4.9 clears any bar, including the raised one now applied to anomalies found by searching.
The spread is the headline; monotonicity is the evidence. Ten buckets give you ten data points about the shape of the relationship. If deciles 1 through 9 are flat and only decile 10 pays, you have not found a signal — you have found one corner of the universe, usually the illiquid one.
Then subtract the costs
A spread portfolio is not free to hold. Momentum deciles turn over roughly 30% of their names each month on each side. That means 30% sold and 30% bought monthly on the long book and the same on the short book. At a 15 basis point round-trip cost in liquid large caps:
Against 14.4% of gross spread, that is a rounding error. Now run the identical sort in small caps where the round trip costs 60 basis points:
Nearly a third of the gross spread, gone. This is why the same anomaly is "strong" in one paper and "not implementable" in another — they sorted the same signal on different universes.
What quietly inflates the number
- Equal weighting. Equal weights put as much money in the 2,900th largest stock as in Apple. Many published decile spreads roughly halve when re-run value-weighted, because the return lived in names too small to hold.
- The short leg. A large share of many spreads comes from decile 1 underperforming rather than decile 10 outperforming, and decile 1 is disproportionately hard to borrow. Always report both legs against the universe mean, not just the difference.
- Design choices. You picked deciles rather than quintiles, monthly rather than quarterly rebalancing, this universe, this date range. Each was a fork in the road, and the reported spread is the best branch you walked down.
Sorts versus regressions. A Fama-MacBeth cross-sectional regression uses the magnitude of the signal, not just its rank, and lets you add controls, so you can ask whether the signal survives after size and beta. A sort cannot control for a second variable without splitting into a double sort, and a 5-by-5 double sort on 3,000 names leaves 120 stocks a cell. Use sorts to see the shape, regressions to test whether the effect is incremental.
The decile spread is the most flattering statistic in the toolkit, because every choice it embeds was made after you saw the data. Before believing one, insist on the value-weighted version, the post-cost version, the two legs reported separately, and the spread computed on a sample the signal was not designed on. Hou, Xue and Zhang re-ran 452 published anomalies with value weighting and standard controls, and roughly two thirds of them failed to clear a t-statistic of 3.
In interviews
Give the recipe in order — point-in-time universe, lagged fundamentals, equal-count buckets, monthly hold — and then the arithmetic: annualised spread, annualised volatility, Sharpe, and the t-statistic . Say explicitly that you would check monotonicity across all ten buckets, not just the ends. Then volunteer the criticisms before you are asked: equal weighting, the short leg, turnover cost, and the fact that the sort's design was chosen with the answer already visible.
Related concepts
Practice in interviews
Further reading
- Fama & French (1992), The Cross-Section of Expected Stock Returns
- Jegadeesh & Titman (1993), Returns to Buying Winners and Selling Losers
- Hou, Xue & Zhang (2020), Replicating Anomalies