← Blog
Quantitative studies

Buy Stocks at Their Highs or at a Discount? 26 Years of S&P 500

By Luca De Cesare · July 31, 2026 · Reading time: 15 min · Tested on 318 months of real data (S&P 500, 2000–2026)
Key takeaways
  • We simulated two opposite portfolios inside the S&P 500 over 318 months (February 2000 – July 2026): each month the 30 strongest stocks against the 30 weakest by relative strength, with real costs, whole shares and the index's historical constituents — meaning companies that later went bankrupt or were removed are included.
  • Strength wins: 13.6% a year versus 9.6%. Starting from $100,000: $2.94 million versus $1.15 million — a 2.6-to-1 ratio. And with less risk, not more: Sharpe 0.65 versus 0.50, maximum drawdown −53% versus −58%.
  • The decisive control: only the strong basket beats 250 portfolios drawn at random from the same universe (99.6% of draws on return). Buying the weak turned out to be indistinguishable from chance.
  • The real disappointment is "buy the leaders' dip": strong stocks in a pullback are the worst basket in the test (8.5% a year) and the most fragile under robustness checks.
  • Statistical honesty: the gap between strong and weak is not statistically significant in the strict sense (t = 1.11, the confidence interval includes zero). But 11 out of 11 independent indicators point in the same direction: we give weight to the backtest while stating its limits.

There's an instinct every investor knows: you watch a solid stock fall 30% and think "it's on sale, I'll buy it now." And there's the opposite instinct, the trend follower's: "buy what's already winning." They are two irreconcilable philosophies — contrarian versus momentum — and careers, books and funds have been built on both. But inside the S&P 500, over the last 26 years, which one would have made more money?

In two earlier studies we looked at momentum as a signal for getting in and out of the market and at simple protection methods. This study answers a different question: not when to be in the market, but which stocks to buy once you're in. It's the "stock selection" version of the eternal duel: strength that persists versus the rebound that (maybe) comes. One clarification before we start: "at their highs" and "at a discount" here refer to relative price — stocks that have run more or less than the others — not to fundamental valuations: there are no multiples or P/E ratios in this study, only relative strength.

Deep dive · Two kinds of momentum, not to be confused

Time-series momentum compares an asset with itself: "Is SPY going up? I stay in." Cross-sectional momentum, the subject of this study, compares stocks with each other: "Which stocks are doing better than the rest?" A stock can be up in absolute terms yet weak relative to its peers, or down in absolute terms yet stronger than the others. Here the ranking is always relative to the group: by construction, half the universe sits above and half below, in every market condition.

How the test is built (and why each choice was made)

Every day we assign each S&P 500 stock a relative strength score — we call it the RS Score — which measures how much the stock has returned relative to the others over three horizons: 1, 3 and 6 months. Then we rank all stocks from weakest to strongest and split them into five equal buckets (quintiles). That gives us the competing portfolios, all running under the same rules:

Each portfolio starts with $100,000, rebalances once a month by buying real shares in whole lots, pays commissions and spreads on every trade and earns T-bill interest on cash. Above all, it uses the index's historical constituents, rebuilt date by date. That means in 2001 the test "sees" Enron and WorldCom as legitimate S&P 500 members — because they were — and stocks that were later delisted stay in the sample. This is where almost every amateur backtest dies.

Deep dive · The RS Score in plain English

For each stock we compute the 21-, 63- and 126-trading-day returns and compare them with those of every other stock on the same day, using a robust statistical measure (a z-score built on the median and the median absolute deviation, which isn't fooled by extreme values). The result is a number centered on zero: 0 = median stock, positive = stronger than most, negative = weaker. An important detail: the comparison is with the other stocks, not with the index — the overall market return cancels out in the standardization, so the ranking works the same way in rallies and in sell-offs.

An honest caveat about the "crash." The test applies a trend filter to the whole universe: only stocks above their own 200-day moving average. The "weak" stocks in this study are therefore the weakest among stocks whose underlying trend is still intact — relative weakness, not the falling knife of a stock in free fall below every average. The study declares this filter as a non-neutral choice: the precise question becomes "within a market that is holding up, are leaders or laggards the better buy?" Anyone buying crashes deeper than those tested here is making an even more aggressive bet.

The verdict in four boxes

Return king
Q5 Leaders (the strong)
13.6% a year → $2.94 million from $100,000. The weak: 9.6% a year → $1.15 million.
The test against chance
Only the strong pass it
Q5 beats 99.6% of 250 random portfolios on return; the weak sit right at the random average.
The disappointment
The leaders' dip
Buying strong stocks on a pullback: 8.5% a year, worst of all — and extremely fragile under stress tests.
The verdict in one line
Strength beat weakness — without a badge of statistical significance.
t = 1.11: the evidence is convergent, not proven.

The full numbers, basket by basket

Here are all the metrics, with the same rules and the same costs for everyone. The key columns are annual return, Sharpe (return per unit of risk) and maximum drawdown:

BasketWhat it buysAnnual returnSharpeSortino Max drawdownMonths to recoverAnnual costs$100k grows to…
Q5 Leaders ★ Each month, the 30 strongest stocks by relative strength. 13.6% 0.65 1.14 −53.3% 69 0.63% $2.94M
Q1 Laggards Each month, the 30 weakest stocks: the contrarian bet. 9.6% 0.50 0.70 −57.7% 82 0.90% $1.15M
Eligible universe All eligible stocks equal-weighted, no costs. 9.2% 0.64 0.89 −44.2% 70 — $1.04M
Q5 pullback Strong stocks that are slowing down: "buy the dip." 8.5% 0.41 0.63 −60.8% 58 0.82% $867k
Q3 Middle The 30 median stocks: neither strong nor weak. 7.8% 0.46 0.58 −52.9% 72 1.17% $730k
Annual return (CAGR): average compound growth per year. Sharpe: return per unit of risk — the higher, the better. Sortino: like Sharpe, but only counts downside volatility. Max drawdown: the deepest decline from a peak. ★: the winner of the test.

Two details tell you more than the headline numbers. First: the weak don't just return less, they cost more — the Q1 basket turns over its portfolio 1.73 times a year versus 1.18 for the strong, because weakness is unstable: stocks keep moving in and out of the bucket. Second: the strong basket's edge isn't bought with risk — the higher return comes with a shallower drawdown and a faster recovery (69 months versus 82 to climb out of the worst crash).

The finish line after 26 years. Same starting capital, same rules, same costs: only the selection criterion changes. Note the cost-free equal-weighted universe at $1.04M: buying the weak ($1.15M) lands just above it — with far more risk.
The full movie, month by month (log scale: equal slopes = equal growth). The strong pull away from the pack in three waves — 2003-2007, post-Covid and the last two years — and stay ahead despite two crashes of more than 50%. The "leaders' dip" (purple) is consistently last.

The check that separates a serious study from a social-media backtest

Let's pause for a moment: is 13.6% a year a lot or a little? Any basket of US stocks held for 26 years would have grown — the market rises on its own. And beating the index isn't enough proof either: an equal-weighted basket of 30 stocks is structurally different from a cap-weighted index. The right question is tougher: does picking stocks by relative strength add anything over picking them at random?

To answer it, the study generates 250 random portfolios: 30 stocks drawn at random from the same universe, same dates, same engine, same costs. It's the equivalent of the blindfolded monkey throwing darts at the stock listings. If our criterion can't beat the monkey, the criterion doesn't exist.

BasketAnnual returnBeats chance? (p-value)SharpeBeats chance? (p-value)
Q5 Leaders 13.6% YES ✓ (0.004) 0.65 YES ✓ (0.024)
Q1 Laggards 9.6% NO ✗ (0.215) 0.50 NO ✗ (0.442)
Q5 pullback 8.5% NO ✗ (0.522) 0.41 NO ✗ (0.908)
Q3 Middle 7.8% NO ✗ (0.757) 0.46 NO ✗ (0.665)
Random draw (median) 8.6% — 0.49 —
Empirical p-value: the fraction of the 250 random portfolios that do better than the actual basket. 0.004 = only 0.4% of the random draws beat Q5 Leaders.
The baskets versus the band of chance. The dashed lines mark where 90% of the random portfolios end up (5th–95th percentile); the solid line is their median. Only Q5 Leaders breaks out of the band. Q1 Laggards sits inside it: its 9.6% is what any arbitrary selection gets.
Deep dive · What an empirical p-value is

Instead of theoretical formulas, you simulate: 250 random portfolios, all processed identically, and you count how many beat the basket being tested. If 1 in 250 beats it (p = 0.004), it's very hard for its result to be luck. If 110 in 250 beat it (p = 0.44, the case of Q1 Laggards), the basket is doing what anyone would do: no added information. Mind the flip side, though, which we discuss below: these p-values are exploratory, because the test configuration wasn't declared before looking at the data.

This is the heart of the study, so it's worth saying bluntly: buying weakness added no information whatsoever. The contrarian basket's 9.6% a year is indistinguishable from what a random selection would have achieved (median 8.6%, and its Sharpe is even below the random median). It didn't just "return less than the strong": it simply failed to show any ability to pick.

The most instructive disappointment: buying the leaders' dip

There's a third way that looks like the smartest of all: "don't buy the strong stock when it's expensive, wait for it to pull back." The study tests exactly that: stocks in the strongest bucket but with a downward trajectory — leaders taking a breather, in theory the perfect opportunity. Result: 8.5% a year, the worst of the group, with the deepest drawdown (−60.8%) and a Sharpe of 0.41 that is beaten by 91% of the random draws.

And it gets worse. In the stress test on delisted stocks (coming up shortly), this basket's return almost goes to zero: its result depends critically on how you treat the stocks that vanished from the data. Two lessons in one: a leader slowing down isn't a buy signal, it's often the beginning of its exit from leadership; and a basket that collapses when you change an accounting assumption doesn't deserve operational trust.

Who wins when: the edge isn't free

If buying strength always won, it would be too easy — and indeed it doesn't. The strong basket's edge is concentrated in certain phases and reverses in others:

Annual return by market regime. The weak win in the dot-com bust (+4.8% versus −2.9%), in the long 2009-2019 bull market (13.3% versus 11.1%) and in the 2021-22 rate-hike period (16.2% versus 11.3%). The strong dominate the 2003-2007 recovery (37.9% versus 29.9%), Covid (+34.4% versus +2.7%) and the recent period (30.4% versus 4.9%). In 2008 everything crashes together.
The psychological price of momentum. Annual return difference between strong and weak over every rolling 3-year window: positive in 63% of windows (81% when you widen to 10 years), but the red zones are entire three-year stretches in which the weak beat the strong — by as much as 14 points a year. Anyone buying strength has to be able to cross these deserts without changing their mind halfway.

The acid test: what about the failed stocks?

The most insidious bias in this kind of study, paradoxically, works in favor of the contrarian thesis: when a company goes bankrupt or is delisted, its last prices are often missing from databases — and the stocks that disappear are concentrated precisely in the weak bucket. Every "gap" erases the contrarian basket's worst losses from the backtest, making it look better than it really was.

Deep dive · Survivorship bias in two lines

If you test a strategy only on the stocks that survived to this day, you're picking the winners with hindsight: Enron, Lehman and WorldCom drop out of the sample and the results get inflated. This study uses the historical constituents date by date (failed companies stay in for as long as they actually were in the index), and on top of that it stress-tests the worst-case assumption: that every delisted stock without a final price lost 30%, 50% or 100% of its value.

The gap survives even the doomsday assumption. Forcing a total loss (−100%) on every delisted stock without a price, the strong basket's edge shrinks from 4 points to 0.8 points a year — but it doesn't change sign. The "leaders' dip," by contrast, collapses from 8.5% to 0.8% a year: its result doesn't even survive the intermediate assumption.

Why it happens: strength is "sticky," and so is weakness

The mechanism behind these numbers can be read from a single table: the probability that a stock lands in a given bucket next month, starting from its current one. A stock among the strongest stays in the strongest bucket 44% of the time — by far the most likely destination. And a stock among the weakest? It stays weak or close to it: 32% remain in the bottom bucket, 26% move up just one notch. The probability of an immediate comeback — from the bottom to the top in one month — is just 8.4%.

This is what the contrarian instinct underestimates: buying the crash means betting on an event that happens once in twelve, while buying strength means riding the most stable configuration the market offers. The rebound exists, but the typical path of a weak stock goes through more months of mediocrity, not a triumphant return — and in the meantime the contrarian basket keeps rotating stocks, paying nearly double the costs.

Statistical honesty: what these numbers really say

Now the part almost nobody writes, and which for us is non-negotiable. The gap between strong and weak is +3.9 points a year, but stock returns are so noisy that 26 years of data aren't enough to "certify" it: the t-statistic is 1.11 (convention calls for at least 2) and the 95% confidence interval runs from −2.8% to +10.7% — it includes zero, so a zero edge remains consistent with the data. On top of that, the test configuration wasn't declared before seeing the results, which means even the best p-values must be read as exploratory.

Deep dive · "Statistically significant" in plain English

A result is statistically significant when it's too large to plausibly be the product of chance, given the noise in the data. The problem with markets is that the noise is enormous: a 3.9% annual spread with double-digit annual swings would require decades more history to emerge "officially" from the noise. That's not a flaw of this study: it's the normal condition of almost all serious financial research. That's why the verdict doesn't rely on a single test but on the convergence of multiple independent indicators.

So why do we still give weight to the result? Because the study evaluates 11 independent indicators — the sign of the estimate, consistency between the two halves of the sample, the success rate by year and over rolling windows, resilience to the delisting stress tests, costs, return skewness, bucket persistence, and the comparison with chance and with the universe — and all 11 point in the same direction. Each one, on its own, is debatable; their convergence is not. It's not a proof: it's the kind of evidence on which you can reasonably base a decision under uncertainty, knowing what you don't know.

Four lessons from the data

1 · Between strength and weakness, the data pick strength

13.6% versus 9.6% a year, a better Sharpe, a smaller drawdown, lower costs, and — alone among the baskets — the ability to beat 250 random selections. Over 26 years that's a $1.8 million difference on $100,000 invested. The direction of the evidence is clear, even without statistical certification.

2 · Buying the crash isn't a strategy, it's a hope

The weak basket is indistinguishable from a random selection: p-value 0.22 on return, Sharpe below the random median. A weak stock's immediate comeback happens 8.4% of the time; the rest is waiting, constant rotation and nearly double the costs. The "bargain" instinct has an emotional basis, not a statistical one.

3 · "Buy the leader's dip" is the most elegant trap

It looks like the perfect synthesis of the two philosophies; it's the worst basket in the test (8.5% a year, a −61% crash) and the most fragile: in the delisting stress test its return nearly vanishes. When a leader slows down, the data say it's more often the beginning of the end than an entry opportunity.

4 · Momentum's edge is paid for in tough years

The strong lose to the weak in the dot-com bust, in the 2009-2019 decade and in 2021-22: entire three-year stretches of underperformance, by as much as 14 points a year. If you aren't willing to sit through them, you'll sell at the worst possible moment — and at that point you'd have been better off never starting. No signal exempts you from discipline.

So, what should I choose?

Selecting for strength makes sense for you if…

  • you accept that the expected edge is likely but not guaranteed (the confidence interval includes zero)
  • you can stomach crashes of more than 50% and three-year stretches in which the weak laugh at you
  • you're willing to rebalance every month with discipline, even when the basket looks "expensive"
  • you treat the rule as a system, not as a discretionary idea

Buying weakness, on the other hand…

  • as a systematic rule, didn't even beat random selection in this test
  • if anything, it requires a specific catalyst (earnings, corporate events): buying "because it dropped" isn't one
  • beware the leaders' dip: in the data it's the worst of the three paths, not a clever compromise
  • remember that true crashes (below the 200-day average) are outside this test — and even riskier

How we ran the numbers

In plain English. Universe: the historical S&P 500 constituents rebuilt date by date (1,206 companies that have passed through the index since 1996), EODHD prices from 2000, backtest over 318 monthly rebalances from February 2000 to July 2026. Score: robust cross-sectional z-score (median + MAD) of 21-, 63- and 126-day returns, updated daily; quintile buckets. 30-stock baskets, $100,000 starting capital, whole shares, commissions of $1.50 per side plus 3 basis points of spread, cash earning the T-bill rate. Declared filters: at least one year of history, price below $1,500, stock above its own 200-day average. Three price series with confirmed adjustment errors (RAI, RRD, ACS) excluded over limited windows, with documented reasoning. Checks: 250 random portfolios processed by the same engine, delisting stress tests at −30/−50/−100%, sample split into sub-periods, t-statistic with Newey-West correction. The study comes from a Python pipeline developed in-house on real data.

Disclaimer. Educational study, not financial advice or a solicitation to invest. Past performance is not indicative of future results. The gap between the baskets is not statistically significant at the conventional level (t = 1.11) and the configuration was not pre-registered: the p-values should be read as exploratory. The list of historical constituents is a third-party reconstruction, not official S&P data, and today's costs are applied even to years when actual commissions were much higher — by declared choice, the test answers "what would the signal have produced with today's frictions." The strong-minus-weak spread is an analytical construct, not an implementable long-short strategy. This study does not concern the systems in the Kriterion Quant model portfolio and makes no claims about their performance.

Conclusions

We started from the oldest dilemma in stock selection: the bargain or the run? Over 318 months of S&P 500, with real costs, failed stocks included and a battery of checks against chance, the data's answer is clear in direction and honest about its limits: buying strength beat buying weakness — by almost 4 points a year, with less risk and lower costs — and it's the only one of the tested strategies to show it can pick better than luck. There's no certificate of statistical significance, and we say so in big letters; but 11 out of 11 indicators pointing the same way is the kind of convergence you rarely get in finance. Those who buy crashes "because it's fallen a lot" are following an instinct that these 26 years of data don't reward; those who buy strength need to know the bill arrives in the form of tough years to sit through. As always, the edge isn't in the rule: it's in the discipline to apply it.

This article is also available in Italian.

LD
Luca De Cesare Systematic trader, options specialist. Trades his own capital on the same systems as the model portfolio. About me →

At Kriterion Quant, this is how systems are built: real data, checks against chance, stated limits.

Historical constituents, stress tests, random placebos and no hindsight: it's the same method I use to build the systems in the model portfolio. If you're curious how I approach it, take a look — no promises, just method and transparency. The track record is public and verifiable.