This website uses cookies

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

Do falls in SPY (the S&P 500 ETF, a fund traded like a share) stop at Fibonacci lines? We tested 139 falls after rallies since 1993. A fall after a rally is a pullback. In 36 of them, 25.9%, the pullback ended at a line.

A line counts as a hit if the pullback ends within 2.5 percentage points of it. Random lines drawn the same way hit 22.2% of the time on average. We used SPY's daily closing prices from 29 January 1993 to 26 October 2026, with dividends counted.

What is a Fibonacci retracement? A set of lines at 38.2%, 50% and 61.8% of a price rise, drawn to mark where the pullback after the rise might end.

  • Of 139 SPY pullbacks, 36 (25.9%) ended within 2.5 percentage points of one of the three levels, against a 22.2% average for random levels.

  • We also shuffled SPY's daily moves into random order 2,000 times. The Fibonacci levels beat random levels by as much as in the real data in 13.8% of those runs.

  • We tried 18 variations. One looked significant at the usual 5% threshold, a result chance gives 5% of the time. One in 18 is about what chance alone produces.

What is a Fibonacci retracement?

A rally is followed by a pullback. A Fibonacci retracement measures the pullback as a share of the rally. A pullback that gives back half of a rally has a depth of 50%.

The claim is that pullbacks end at 38.2%, 50% and 61.8% more often than at other depths.

The 38.2% and 61.8% levels come from the Fibonacci sequence. It starts 1, 1, 2, 3, 5, 8. Each new number is the sum of the last two.

Divide any number by the next one and the answer settles at 0.618. Divide it by the number two places on and the answer settles at 0.382.

We also test 50%. It is not a Fibonacci ratio, but it is the midpoint of any rally.

How did we measure SPY's pullbacks?

We fixed the rules before we looked at any result.

A swing low is confirmed once the price has risen 3% from its lowest close. A swing high is confirmed once the price has fallen 3% from its highest close. A rally runs from a swing low to the next swing high. The pullback runs from that high to the next swing low.

Depth is the share of the rally the pullback gave back. A swing size is the move that confirms a turning point. We tested swing sizes of 3%, 5% and 10%.

Chart 1 shows the most recent case at the 3% swing size. SPY rose 6.6% from $727.66 on 29 July 2026 to $775.96 on 13 August. It then fell to $752.18 on 16 September, a depth of 49.2%. The 50% line sat at $751.81.

Line chart of SPY's daily closing price, with dividends counted, from 20 July to 26 October 2026, with three dashed orange Fibonacci lines. The price fell to a low of $727.66 on 29 July, rose 6.6% to a high of $775.96 on 13 August, then fell back to $752.18 on 16 September, 49.2% of the rise. The lines sit at $757.51 for 38.2%, $751.81 for 50% and $746.11 for 61.8%. The price ended the window at $765.37 on 26 October.

Source: YX Insights price data

That case landed on the 50% line. One case proves nothing, so we count every case.

At the 3% setting SPY had 243 pullbacks. Of those, 104 (42.8%) gave back more than the whole rally. They are outside the test, because a line between 38.2% and 61.8% cannot catch them. That leaves 139 pullbacks.

The swing rule sets a floor under every pullback, so we score random levels on the same pullbacks.

Where did SPY's pullbacks end?

The median pullback gave back 55.5% of the rally at the 3% swing size. Of the 139, 48 ended between 38.2% and 61.8%.

Chart 2 counts the 139 pullbacks by depth, in bars 5 percentage points wide. The orange bands mark 2.5 percentage points either side of each Fibonacci level.

Bar chart counting 139 SPY pullbacks from 1993 to 2026 by how much of the rally they gave back, in bars 5 percentage points wide. Counts rise from 1 at 10% to 15% to a peak of 16 at 50% to 55%, with 14 at 45% to 50% and 14 at 65% to 70%, then fall to 7 at 90% to 100%. Three orange bands mark 2.5 points either side of 38.2%, 50% and 61.8%. The 61.8% band sits over a bar of 10.

Source: YX Insights price data

The tallest bar holds 16 pullbacks and sits at 50% to 55%, next to the 50% line. The next two, with 14 each, are at 45% to 50% and 65% to 70%. The 61.8% line falls in the 60% to 65% bar, which holds 10.

Do pullbacks end at Fibonacci levels more than at random levels?

We counted a pullback as a hit if its depth fell within 2.5 percentage points of a level. That gives 36 hits from 139, or 25.9%.

To judge that number, we drew 20,000 sets of three random levels between 30% and 70%. Each set got the same band width and was scored on the same 139 pullbacks.

The random sets averaged 22.2%. Of them, 90% landed between 15.8% and 28.1%. In 19.2% of draws, random levels did at least as well as the Fibonacci levels.

The 5% setting gave 14 hits from 69 pullbacks (20.3%), against a random average of 19.4%. The 10% setting gave 1 hit from 12 pullbacks. Twelve is too few to say anything.

Chart of the share of SPY pullbacks ending within 2.5 percentage points of 38.2%, 50% or 61.8%, against random levels, for three swing sizes. At 3% the Fibonacci share is 25.9% against a random mean of 22.2%, inside a random range of 15.8% to 28.1%. At 5% it is 20.3% against 19.4%, range 11.6% to 27.5%. At 10% it is 8.3% against 21.7%, range 0.0% to 41.7%, from only 12 pullbacks.

Source: YX Insights price data

Chart 3 shows the Fibonacci hit rate sat inside the range of the random sets at all three swing sizes.

What happens on reshuffled prices?

Random levels are not a perfectly neutral yardstick. We reshuffled SPY's daily returns into random order 2,000 times, which destroys any pattern in the order of prices. We ran the same swing rule and scoring on each path.

On those paths the Fibonacci levels scored above random levels by 0.4 percentage points on average at the 3% swing size. The reshuffled paths therefore carry that offset, so we judge the real result against them.

The real lead at the 3% swing size was 3.7 percentage points. In 13.8% of reshuffled runs, the lead was at least that large. At 5% the share was 46.0%. At 10% it was 97.1%. The table shows each swing size.

Swing size

Pullbacks tested

Hits (hit rate)

Random levels, mean

Random draws that did as well

Reshuffled runs with as large a lead

3%

139

36 (25.9%)

22.2%

19.2%

13.8%

5%

69

14 (20.3%)

19.4%

47.8%

46.0%

10%

12

1 (8.3%)

21.7%

89.7%

97.1%

A hit is a pullback ending within 2.5 percentage points of 38.2%, 50% or 61.8% of the rally. Source: YX Insights price data

We fixed one rule in advance: clustering would count only if the real result beat both yardsticks at 5% or better, at two or more of the three swing sizes. It did so at none.

Does the result change with other settings?

We reran the test in three ways. This gives 18 settings.

  • Band widths of 1.5, 2.5 and 5 percentage points either side of each level, at each of the three swing sizes: 9 settings.

  • Depth measured in log prices (the change in the logarithm of the price, so equal percentage moves count equally), at each swing size: 3 settings.

  • Each half of the data (split at 7 December 2009), at each swing size: 6 settings.

One setting crossed the usual 5% threshold. At the 3% swing size with bands 5 points either side, 71 of 139 pullbacks hit (51.1%) against a random average of 44.7%. Random draws did as well 3.7% of the time, reshuffled runs 4.6%.

Each of the three bands is 10 points wide, so together they cover 30 of the 100 points of depth. Pullbacks bunch in the middle of that range, so even random lines hit 44.7%. The 5% swing size with the same bands does not.

One setting in 18 crossing a 5% threshold is what chance alone gives. The settings overlap, so they are not 18 independent tries.

No level stood out either. At the 3% swing size the hits were 11, 14 and 11 for 38.2%, 50% and 61.8%. At 5% they were 4, 5 and 5.

What does the test leave out?

It covers one fund since January 1993. The three swing sizes use the same prices, so they are not three independent tests. Consecutive pullbacks also share swing points.

A swing high is only confirmed after the price has fallen 3% from it. Our lines use turning points that a trader would not have known at the time. We did not measure how much this affects the result.

The test asks where pullbacks end. It does not ask whether trading at the lines makes money.

For another chart signal tested against chance, see our golden cross test.

Across 139 SPY pullbacks, the lines at 38.2%, 50% and 61.8% caught no more than chance explains (25.9% against 22.2% for random lines).

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 Fibonacci retracement

Does Fibonacci retracement work?

In our test of 139 SPY pullbacks since 1993, the levels did no better than chance. Pullbacks ended within 2.5 percentage points of 38.2%, 50% or 61.8% in 25.9% of cases, against a 22.2% average for random levels. When we shuffled SPY's daily moves into random order, random price paths gave a lead that large in 13.8% of runs.

What are the Fibonacci retracement levels?

The usual levels are 23.6%, 38.2%, 50% and 61.8%. We tested the last three. Dividing a Fibonacci number by the one two places later gives 38.2%. Dividing by the next one gives 61.8%. The 50% level is not a Fibonacci ratio, but it is the midpoint of the rally. Dividing by the number three places later gives 23.6%.

How do you calculate a Fibonacci retracement?

Take the rally from the swing low to the swing high. Multiply it by the level, then subtract the result from the high. In our latest case, the rally ran from $727.66 to $775.96. The 50% line is $775.96 minus half of $48.30, which is $751.81.

How far does SPY usually pull back after a rally?

At a 3% swing size, the median pullback gave back 55.5% of the rally. At 5% it was 59.7%. These medians leave out the 104 of 243 pullbacks, at 3%, that fell further than the whole rally.

Which Fibonacci level is the most reliable?

None stood out. At the 3% swing size, 14 pullbacks ended within 2.5 percentage points of 50%, against 11 each for 38.2% and 61.8%. At 5% the counts were 4, 5 and 5. Those gaps are well inside what chance produces. A hit means a pullback ended within 2.5 percentage points of the level.

DISCLAIMER: This article is strictly educational. Any information or analysis in this note is not an offer to sell or the solicitation of an offer to buy any securities. Nothing in this note is intended to be investment advice and 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