This website uses cookies

Read our Privacy policy and Terms of use for more information.

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.

Line chart of SPY's daily closing price, with dividends counted, from 22 June to 14 August 2026, with two dashed orange lines for a prior low of $727.19 and a prior high of $753.08. Price closed at $727.66 on 29 July, within 1% of the low, then rose to $755.80 on 3 August, above the low's $749.00 barrier, so the low held. That day price also closed within 1% of the high. It closed at $775.96 on 13 August, above the high's $775.67 barrier, so the high broke. The window starts at $742.55 and ends at $774.42.

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.

Chart of the share of SPY tests where a prior high or low held, against 2,000 reshuffled copies of SPY's history. Prior highs held 48.7% of 224 tests, against a copy mean of 44.4% and a middle 90% range of 38.9% to 49.8%. Prior lows held 56.8% of 169 tests, against 57.2% and a range of 50.9% to 63.4%. All levels together held 52.2% of 393 tests, against 50.1% and a range of 45.5% to 54.5%. All three SPY figures sit inside the copy ranges.

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.

Chart of the share of SPY tests where the level held, highs and lows together, at eight settings, against the middle 90% range of 2,000 reshuffled copies. Primary setting 52.2% against a range of 45.5% to 54.5%. Swing size 5% 48.3% against 42.3% to 55.7%. Barrier 2% 53.0% against 46.8% to 55.2%. Barrier 5% 47.4% against 44.2% to 54.2%. Band 0.5% 47.4% against 38.7% to 48.5%. Band 2% 63.1% against 59.5% to 67.6%. First half 55.8% against 43.4% to 56.6%. Second half 47.7% against 43.5% to 56.5%. All eight sit inside the range.

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:

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.

Get the next one by email

The Long Trend is our free weekly letter. Every figure in it is checked against the source.

I consent to receive newsletters via email. Sign up Terms of service.

Reply

Avatar

or to participate

More From YX Insights

No posts found
View more
caret-right