Does price stop at support and resistance? In our test, price did not hold at those levels more often than chance. SPY (the S&P 500 ETF, a fund traded like a share) has come back to a prior low or high 393 times since 1993. The level held 205 times, 52.2%. A level held if price turned back 3% from it before pushing 3% through it.
To judge 52.2%, we reshuffled SPY's daily moves into random order 2,000 times and ran the same count on each copy. The copies held 50.1% of the time on average. We used daily closing prices from 29 January 1993 to 26 October 2026, with dividends counted.
What are support and resistance? Support is a price where a fall stopped before. Resistance is a price where a rise stopped before.
In our test, prior highs and lows held about as often as they do in reshuffled data. SPY's level held in 205 of 393 tests (52.2%), against a 50.1% mean for reshuffled copies of SPY's history. Our rule for beating chance was not met.
Prior highs held 48.7% of the time and prior lows 56.8%. Reshuffled copies gave 44.4% and 57.2%. The highs sit just under the 49.8% top of the copies' range, the middle 90% of their hold rates.
We reran the test at 8 settings, each for highs and for lows: 16 comparisons. One beat the reshuffled copies at a 5% cut-off (fewer than 5% of copies did as well). Chance alone gives 0.8 such results on average.
What are support and resistance?
A prior low is the usual candidate for support. A prior high is the usual candidate for resistance.
The claim is that price stops at those levels more often than at other prices. If price turns back, the level has held. If price pushes through, it has broken.
Our guides to the moving average, the 200-day moving average and Fibonacci retracement cover other ways to draw a level. This test uses prior highs and lows only.
How did we test support and resistance?
We fixed the rules before we looked at any result. We ran the real-data count once to check the code, then ran the full test. No rule changed after that run.
A prior high is the highest close before price closes 3% below it. A prior low is the lowest close before price closes 3% above it.
The 3% move that confirms a high or a low is the swing size. The close of each high or low is a level. We count a level only from the day that move confirms it.
A test starts the first time price closes within 1% of a level, or beyond it. We call that 1% the band. A test ends when price closes 3% beyond the level on either side. We call that 3% the barrier.
A level held if price closed 3% back from it first. A level broke if price closed 3% through it first. A level stays live for 250 trading days, about a year.
SPY had 243 prior highs and 244 prior lows. Of the highs, 224 tests reached a result. Of the lows, 169 were tested. That gives 393 tests.
What does one test look like?
Chart 1 shows the latest two cases. SPY's prior low of $727.19 on 26 June 2026 was confirmed on 6 July. Price first closed within 1% of it on 29 July, at $727.66. The low held, because price closed at $755.80 on 3 August, above the $749.00 barrier.
The prior high of $753.08 on 10 July was confirmed on 29 July. Price first closed within 1% of it on 3 August. The high broke, because price closed at $775.96 on 13 August, above the $775.67 barrier.

Source: YX Insights price data
The low held. The high broke. One case of each proves nothing.
Do prior highs and lows hold?
Prior highs held in 109 of 224 tests, 48.7%. Prior lows held in 96 of 169 tests, 56.8%.
SPY's dividend-adjusted price rose from $24.04 to $765.37 over the window, 31.8-fold.
Is that better than chance?
We rebuilt a price path from each reshuffle of SPY's daily returns. Each copy keeps SPY's mean daily return and the size of its daily moves. It has no order, so no level has a past to respect. We ran the same rule on every copy.
We call the middle 90% of the copies' hold rates the range. A result above the top of the range beats 95% of copies.
The copies held 44.4% of the time for highs and 57.2% for lows. That is a gap of 12.8 points. In SPY, the gap was 8.1 points. Chart 2 sets SPY against the copies.

Source: YX Insights price data
Prior highs held 48.7%, 4.3 points above the copy mean of 44.4%. The copies' range for highs runs from 38.9% to 49.8%, so SPY's 48.7% sits just under the top.
10.4% of the copies held highs as often as SPY did or more. Our rule asked for fewer than 5%.
Prior lows held 56.8%, 0.4 points below the copy mean of 57.2%.
Levels | Tests | Held (hold rate) | Reshuffled copies, mean | Reshuffled copies, middle 90% | Copies that held as often as SPY |
|---|---|---|---|---|---|
Prior highs | 224 | 109 (48.7%) | 44.4% | 38.9% to 49.8% | 10.4% |
Prior lows | 169 | 96 (56.8%) | 57.2% | 50.9% to 63.4% | 53.3% |
All levels | 393 | 205 (52.2%) | 50.1% | 45.5% to 54.5% | 21.3% |
A level held if price closed 3% back from it before closing 3% through it. The last column counts copies with a hold rate at least as high as SPY's. Source: YX Insights price data
Reshuffling removes calm and wild stretches. So we repeated the test with blocks of 20 days of SPY's returns kept intact. The block copies held 47.1% for highs, 60.3% for lows and 52.8% overall. SPY's 48.7%, 56.8% and 52.2% fall inside the block copies' range for each.
We fixed one rule in advance. Levels would count as more reliable than chance only if SPY's hold rate beat the top 5% of copies for both highs and lows. It did so for neither, under either copy test.
Does the result change with other settings?
We reran the test at seven more settings:
Swing size 5% in place of 3%.
Barrier 2% and 5% in place of 3%.
Band 0.5% and 2% in place of 1%.
Each half of the data, split at 7 December 2009.
Chart 3 shows highs and lows together at each setting. At the widest band (2%), the copies held 63.6% and SPY held 63.1%. At the base setting, the copies held 50.1% and SPY held 52.2%. Hold rates rise with the band in SPY and in the copies alike.

Source: YX Insights price data
SPY's hold rate sits inside the copies' range at all eight settings. The closest to the edge is the first half, 55.8% against a top of 56.6%.
One comparison stood out. In the first half, prior highs held 53.4% of the time (63 of 118), against a copy mean of 44.2%. Only 3.3% of copies did as well. In the block copies, 12.5% did.
In the second half, highs held 43.4% (46 of 106), against a copy mean of 44.5%. The first-half result did not repeat.
Eight settings, each for highs and for lows, make 16 comparisons. With a 5% cut-off, chance alone gives 0.8 results below it on average. We found 1. The settings overlap, so they are not 16 independent tries.
What does the test leave out?
It covers one fund and closing prices only.
The median time from confirmation to the first retest was 9 trading days, for highs and for lows. Tests overlap in time, so 393 is not 393 independent tries. The copies carry the same overlap.
The test asks where price turns. It does not ask whether trading at levels makes money.
Our golden cross test runs another chart signal against chance.
Across 393 SPY tests since 1993, prior highs and lows held 52.2% of the time. Reshuffled copies of SPY's history held 50.1%. Our rule needed SPY to beat the top 5% of copies for both highs and lows. It did not, so in our test support and resistance did not beat chance.
Get the next explainer
The Academy is free to read, here on the web. The Long Trend, our free weekly letter, comes by email.
Learn more with YX Insights
This explainer is part of the YX Insights Academy. Each one takes a single idea and checks it against real data.
The same approach runs through everything else we publish:
Systematic Portfolio: ready-made portfolios for Macro & Megacaps and for Commodities. We publish the holdings and every change.
Multi-model Signals: a daily long-or-flat call on every name we cover. Each call shows how strongly our four models agree.
Research: company deep dives, macro commentary and essays on how we test.
Good places to start on the website:
Academy: more explainers like this one.
Start here: get our free weekly letter by email.
Macro & Megacaps Systematic Portfolio and Commodities: the two portfolios in detail.
Track record: live results since 3 August 2026, plus the ten-year backtest.
Upgrade: get the Systematic Portfolio, Multi-model Signals and research in full.
Common questions about support and resistance
Do support and resistance levels work?
Not better than chance in our test. Across 393 returns to a prior high or low in SPY since 1993, the level held 52.2% of the time, against a 50.1% mean for reshuffled copies of SPY's history. The test asks where price turns. It does not ask whether trading at levels makes money.
How do you find support and resistance levels?
Levels come from prior turning points. In our test, a prior high is the highest close before price closes 3% below it. A prior low is the lowest close before price closes 3% above it. The close of each is a level, counted from the day the 3% move confirms it.
What is the difference between support and resistance?
Support is a price where a fall stopped before, usually a prior low. Resistance is a price where a rise stopped before, usually a prior high. In our SPY test, prior highs held 48.7% of the time and prior lows held 56.8%. Reshuffled copies of SPY's history gave 44.4% and 57.2%.
Does support always hold?
No. In our SPY test, prior lows held in 96 of 169 tests, 56.8%. The other 73 broke. Reshuffled copies of SPY's history gave 57.2%. A prior low broke when price closed 3% below it before closing 3% above it.
DISCLAIMER: This article is intended for educational purposes only. Any information or analysis in this note does not constitute an offer to sell or a solicitation of an offer to buy any securities. Nothing in this note is intended to be investment advice, nor should it be relied upon to make investment decisions. Any opinions, analyses, or probabilities expressed in this note are those of the author as of the note's date of publication and are subject to change without notice.