← PROTOTYPES

Six chart patterns, measured

2026-09-23 · branch hub/patterns-20260923 · 38 symbols · nothing deployed, nothing pushed, no price table written

M17 measured the bull flag end to end and it did not survive. This page does the same to five more: the rising wedge, the falling wedge, the bear flag, head and shoulders, and its inverse. Same method, same controls, same standard of proof — and the results are reported whatever they say.

First, the other half of this lane: readings in ranges

“Today's RSI 58.33 … It's been close to forty recently though, so the range matters … Everything cannot be very fixed thresholds … not only if it touches forty.”Alan, 23 September

Tap any RSI cell on the Hub and the panel now answers in ranges, not on one line. It says which band the reading sits in, how often that band happens, what followed a visit to it — and it pairs where the reading is now with the lowest it has been lately, which is the shape you described.

Your case, answered from SPY's own history

SPY's daily RSI stands at 58.31 (55 to 60). In the last 60 days the lowest it went was 38.63 (35 to 40, on 2026-07-29). Days that looked like that — in the 55 to 60 band now, having been down in the 35 to 40 band within 60 days — happened 213 times in the 5,780 days measured (3.7% of them). After those days SPY was higher 20 days later 61% of the time, middle move +0.90%, against 66% and +1.35% from any day at all. At 60 days: 65% and +2.38% against 71% and +3.28%.

Read that carefully: the shape you asked about has been followed by slightly worse than an ordinary day, not better. The 20-day version of the same question (lowest 41.76, 40 to 45) says much the same: 64% up, +0.85%. It is a small difference on a few hundred days and it is not a signal. What it does do is stop the reading being described as unusual when it is not.

Every band

bandhow oftenvisits a year20 days later60 days later
under 301.6% of days2.274% up · +3.31%78% up · +7.56%
30 to 353.2% of days5.368% up · +2.85%78% up · +5.24%
35 to 405.8% of days9.872% up · +2.47%75% up · +4.89%
40 to 459.8% of days16.066% up · +1.98%70% up · +4.03%
45 to 5012.0% of days19.864% up · +1.47%70% up · +3.23%
50 to 5514.2% of days21.666% up · +1.39%67% up · +3.04%
55 to 60 · where it is now16.8% of days22.664% up · +1.18%69% up · +3.28%
60 to 6517.0% of days20.963% up · +0.98%70% up · +3.08%
65 to 7012.5% of days14.767% up · +1.09%70% up · +2.39%
70 and over7.1% of days5.670% up · +1.35%70% up · +2.49%

Near misses, counted apart from touches

A turn that came within 3 points of a level and stopped there is counted separately from one that reached it. A turn is only known 5 days after it happens — the days either side are what make it a turn — so what followed is measured from that later day. Measuring from the turn itself would be reading the future, and it inflates the numbers by a lot: at 40, the same count measured from the turn said 97% up at five days, against 61% measured honestly.

levelnear misses20 days aftertouches at a turn20 days after
within 3 of 30, from above2361% up · +1.29%3571% up · +2.57%
within 3 of 40, from above3876% up · +2.06%13268% up · +2.12%
within 3 of 50, from above4259% up · +1.11%24566% up · +1.47%
within 3 of 50, from below1979% up · +4.20%34663% up · +1.16%
within 3 of 60, from above1759% up · +0.67%35565% up · +1.48%
within 3 of 60, from below3559% up · +0.37%25063% up · +0.99%
within 3 of 70, from below5761% up · +0.84%8768% up · +1.38%

All of it is counted by tools/how-unusual/build.mjs from finished daily bars and stored in data/how-unusual.json; the reading itself is recomputed live when the panel opens, so the panel is never older than the last finished day.

All six at a glance

patternclaimssignalsmiddle move, 20 daysan ordinary daydrift removedverdict
The rising wedgea fall1,739+0.74%+0.95%-0.26%does not survive
The falling wedgea rise962+1.01%+0.95%+0.36%does not survive
The bull flaga rise100+0.01%+0.95%-0.62%too few
The bear flaga fall51+1.58%+0.95%+0.68%too few
Head and shouldersa fall247+1.57%+0.95%+0.60%does not survive
Inverse head and shouldersa rise393+1.57%+0.95%+0.15%survives

One of the six passes every test. Three fail. Two have too few signals to judge. That is the honest state of it.

How each one was measured

Every detector can only see the past. A turning point needs 5 days on either side to be a turning point at all, so no detector is allowed to use one until 5 days after it happened. A test in tests/patterns.test.mjs cuts the history short at three places and checks that the signals before the cut do not change — if a detector were reading the future, that test would fail.

The history is 38 symbols of finished daily bars from the chart API: index and sector funds, the large names, and laggards (INTC, F, T, VZ, PFE, GE) on purpose, so the set is not only the winners. Each signal is measured to the close 5, 20 and 60 finished days later, and compared with four things: an ordinary day in the same history; the same symbol's own drift in the year around the signal; 300 random draws of the same number of days; and the same rule with its dials moved. Then the whole thing is cut in half by date and both halves are read separately.

A pattern is only called a survivor if it beats an ordinary day at 20 and 60 days, lands outside the random band at least once, still points the right way after its own drift is removed, and tells the same story in both halves of history. Those five tests were written before the numbers were looked at.

What survivor bias still does to these numbers

The chart API holds the symbols that are listed today. Every company that failed and was delisted is missing, and no detector here can see them. That flatters every upward number on this page, including the ordinary-day baselines. The “drift removed” column is the part that survives this objection — it compares a signal with what that same symbol was doing anyway — and it is always the smaller number. Where a pattern only looks good in the raw column and not in the drift-removed one, the honest reading is that the pattern found a rising market, not an edge.


The rising wedge

the pattern claims a fall · 1,739 signals found · does not survive

What the books say

A wedge slopes against itself: both boundaries run the same way and converge, and prices usually fall away from a rising wedge rather than break out of its top.Edwards & Magee, Technical Analysis of Stock Trends — the chapters on reversal phenomena — paraphrase, not a quotation

The rising wedge is read as a pause that leans the wrong way: rising, but with the buying getting weaker, so it is treated as bearish.Murphy, Technical Analysis of the Financial Markets — the chapter on continuation patterns — paraphrase, not a quotation

Bulkowski's own counts put wedges among the weaker patterns, with a high rate of what he calls throwbacks.Bulkowski, Encyclopedia of Chart Patterns — the rising-wedge chapter — paraphrase, not a quotation

The rule, in words

Higher highs and higher lows, but the floor rises faster than the ceiling, so the two lines close on each other. The reading is that buyers are tiring. The signal is the close that breaks the rising floor.

One real example

signal · 2026-06-2247.6535.762026-04-022026-09-16
NKE — the most recent complete example the rule found, drawn from the same daily bars the detector read. The dashes are the lines the rule used; the pale bars are before the signal, the dark ones are what followed. After this one: -3.96% at 5 days, -0.53% at 20, -17.16% at 60. One example proves nothing either way — the counts below are the evidence.

What followed, counted

horizonafter the signalfrom any daydrift removedrandom draws, same countsignals
5 days later53% up · +0.21%54% up · +0.27%-0.11%+0.15% to +0.42%1,736
20 days later56% up · +0.74%57% up · +0.95%-0.26%+0.72% to +1.24%1,723
60 days later60% up · +2.18%60% up · +2.46%-0.68%+2.15% to +3.01%1,710

“From any day” is every day of the same 38 symbols over the same history — the thing a signal has to beat. “Drift removed” subtracts what that same symbol was doing anyway in the year around each signal, which is the part of the answer survivor bias cannot reach. “Random draws” is 300 draws of the same number of days, picked at random from the same histories: the middle 90% of what luck looks like.

The same rule with the dials moved

settingsignals20 days upmiddle movedrift removed
pivot 4 days, closing to 60%1,36257%+0.80%-0.25%
pivot 4 days, closing to 75%1,62856%+0.73%-0.22%
pivot 4 days, closing to 90%1,84256%+0.73%-0.27%
pivot 5 days, closing to 60%1,45756%+0.74%-0.27%
pivot 5 days, closing to 75%1,73956%+0.74%-0.26%
pivot 5 days, closing to 90%1,97257%+0.77%-0.23%
pivot 7 days, closing to 60%1,22757%+0.86%-0.18%
pivot 7 days, closing to 75%1,54157%+0.89%-0.13%
pivot 7 days, closing to 90%1,77857%+0.96%-0.08%
three touches per line, pivot 4 days99858%+0.85%-0.24%
three touches per line, pivot 5 days78957%+0.87%-0.15%
three touches per line, pivot 7 days46255%+0.66%-0.21%

If one setting shines and its neighbours do not, that setting is luck, not a rule.

The two halves of history

2003–2014: 833 signals, middle move +0.61%, against +0.93% for an ordinary day in that half.
2015–2026: 890 signals, middle move +0.83%, against +0.97% for an ordinary day in that half.

Verdict

does not survive
1723 signals. It fails on: 20 days against chance; 60 days against chance.

The falling wedge

the pattern claims a rise · 962 signals found · does not survive

What the books say

The mirror of the rising wedge: two down-sloping lines closing on each other, from which prices usually escape upward.Edwards & Magee — the chapters on reversal phenomena — paraphrase, not a quotation

A falling wedge is read as selling that is running out, and is treated as bullish.Murphy — the chapter on continuation patterns — paraphrase, not a quotation

Measured, it is another of the modest ones.Bulkowski — the falling-wedge chapter — paraphrase, not a quotation

The rule, in words

Lower highs and lower lows, but the ceiling falls faster than the floor, so the lines close on each other. The signal is the close that breaks out through the falling ceiling.

One real example

signal · 2026-06-18111.8792.492026-04-212026-09-15
DIS — the most recent complete example the rule found, drawn from the same daily bars the detector read. The dashes are the lines the rule used; the pale bars are before the signal, the dark ones are what followed. After this one: -4.91% at 5 days, -7.20% at 20, +2.44% at 60. One example proves nothing either way — the counts below are the evidence.

What followed, counted

horizonafter the signalfrom any daydrift removedrandom draws, same countsignals
5 days later56% up · +0.45%54% up · +0.27%+0.21%+0.06% to +0.42%962
20 days later56% up · +1.01%57% up · +0.95%+0.36%+0.42% to +1.17%961
60 days later59% up · +2.70%60% up · +2.46%+1.03%+1.53% to +2.87%955

“From any day” is every day of the same 38 symbols over the same history — the thing a signal has to beat. “Drift removed” subtracts what that same symbol was doing anyway in the year around each signal, which is the part of the answer survivor bias cannot reach. “Random draws” is 300 draws of the same number of days, picked at random from the same histories: the middle 90% of what luck looks like.

The same rule with the dials moved

settingsignals20 days upmiddle movedrift removed
pivot 4 days, closing to 60%70556%+0.96%+0.43%
pivot 4 days, closing to 75%89157%+1.04%+0.42%
pivot 4 days, closing to 90%1,02157%+1.04%+0.38%
pivot 5 days, closing to 60%74556%+1.01%+0.33%
pivot 5 days, closing to 75%96256%+1.01%+0.36%
pivot 5 days, closing to 90%1,13856%+0.97%+0.23%
pivot 7 days, closing to 60%67958%+1.30%+0.63%
pivot 7 days, closing to 75%90657%+1.08%+0.42%
pivot 7 days, closing to 90%1,09557%+1.09%+0.36%
three touches per line, pivot 4 days41855%+0.58%+0.02%
three touches per line, pivot 5 days33956%+0.80%+0.45%
three touches per line, pivot 7 days21559%+1.39%+0.90%

If one setting shines and its neighbours do not, that setting is luck, not a rule.

The two halves of history

2003–2014: 442 signals, middle move +0.89%, against +0.93% for an ordinary day in that half.
2015–2026: 519 signals, middle move +1.18%, against +0.97% for an ordinary day in that half.

Verdict

does not survive
961 signals. It fails on: 20 days against chance; 60 days against chance; both halves of history.

The bull flag

the pattern claims a rise · 100 signals found · too few

What the books say

A flag is a short, compact drift against a steep prior move — the pause that “flies at half-mast” in the middle of a run.Edwards & Magee — the chapter on consolidation formations — paraphrase, not a quotation

Flags and pennants are brief pauses in a fast move, and the move is expected to continue afterwards.Murphy — the chapter on continuation patterns — paraphrase, not a quotation

Flags are numerous and short-lived; their measured edge is small.Bulkowski — the flag chapter — paraphrase, not a quotation

The rule, in words

A sharp run up (the pole), then a short tight pause that gives back only part of it (the flag), then a close above the pause's high. This is M17's detector, unchanged.

One real example

polepausesignal · 2026-04-24408.61272.112026-03-172026-07-22
GOOGL — the most recent complete example the rule found, drawn from the same daily bars the detector read. The dashes are the lines the rule used; the pale bars are before the signal, the dark ones are what followed. After this one: +11.99% at 5 days, +11.20% at 20, -0.67% at 60. One example proves nothing either way — the counts below are the evidence.

What followed, counted

horizonafter the signalfrom any daydrift removedrandom draws, same countsignals
5 days later55% up · +0.32%54% up · +0.27%-0.16%-0.41% to +0.97%100
20 days later51% up · +0.01%57% up · +0.95%-0.62%-0.17% to +2.69%99
60 days later61% up · +2.06%60% up · +2.46%-1.68%+0.82% to +5.98%98

“From any day” is every day of the same 38 symbols over the same history — the thing a signal has to beat. “Drift removed” subtracts what that same symbol was doing anyway in the year around each signal, which is the part of the answer survivor bias cannot reach. “Random draws” is 300 draws of the same number of days, picked at random from the same histories: the middle 90% of what luck looks like.

The same rule with the dials moved

settingsignals20 days upmiddle movedrift removed
rise 10%, gives back 40%23454%+1.17%-0.66%
rise 10%, gives back 50%31055%+0.47%-0.82%
rise 10%, gives back 62%36755%+0.90%-0.82%
rise 15%, gives back 40%7852%+0.34%+0.42%
rise 15%, gives back 50%10051%+0.01%-0.62%
rise 15%, gives back 62%12149%-0.26%-0.85%
rise 20%, gives back 40%3562%+2.70%+0.81%
rise 20%, gives back 50%4160%+1.49%+0.72%
rise 20%, gives back 62%4958%+1.49%+0.72%

If one setting shines and its neighbours do not, that setting is luck, not a rule.

The two halves of history

2003–2014: 31 signals, middle move +0.34%, against +0.93% for an ordinary day in that half.
2015–2026: 68 signals, middle move -0.26%, against +0.97% for an ordinary day in that half.

Verdict

too few
99 signals with a 20-day outcome. Fewer than 100 is not enough to lean on, whatever the numbers say.

The bear flag

the pattern claims a fall · 51 signals found · too few

What the books say

The same shape upside down: a steep fall, then a small drift back up, then the fall resuming.Edwards & Magee — the chapter on consolidation formations — paraphrase, not a quotation

A pause in a decline, expected to resolve downward.Murphy — the chapter on continuation patterns — paraphrase, not a quotation

Counted with the flags.Bulkowski — the flag chapter — paraphrase, not a quotation

The rule, in words

A sharp fall (the pole), then a short tight drift that recovers only part of it, then a close below the drift's low. The same rule as the bull flag, mirrored, so the two can be compared without arguing about the definition.

One real example

polepausesignal · 2026-02-17109.8360.372026-01-062026-05-13
SLV — the most recent complete example the rule found, drawn from the same daily bars the detector read. The dashes are the lines the rule used; the pale bars are before the signal, the dark ones are what followed. After this one: +19.15% at 5 days, +7.97% at 20, +19.56% at 60. One example proves nothing either way — the counts below are the evidence.

What followed, counted

horizonafter the signalfrom any daydrift removedrandom draws, same countsignals
5 days later63% up · +1.35%54% up · +0.27%+1.25%-0.56% to +1.10%51
20 days later55% up · +1.58%57% up · +0.95%+0.68%-1.03% to +2.63%51
60 days later58% up · +4.37%60% up · +2.46%+3.78%-0.55% to +5.96%50

“From any day” is every day of the same 38 symbols over the same history — the thing a signal has to beat. “Drift removed” subtracts what that same symbol was doing anyway in the year around each signal, which is the part of the answer survivor bias cannot reach. “Random draws” is 300 draws of the same number of days, picked at random from the same histories: the middle 90% of what luck looks like.

The same rule with the dials moved

settingsignals20 days upmiddle movedrift removed
fall 10%, gives back 40%10561%+1.96%+1.74%
fall 10%, gives back 50%16260%+2.07%+1.80%
fall 10%, gives back 62%22759%+1.96%+1.27%
fall 15%, gives back 40%3050%-0.42%-1.23%
fall 15%, gives back 50%5155%+1.58%+0.68%
fall 15%, gives back 62%6856%+1.73%+0.82%
fall 20%, gives back 40%1656%+7.46%+5.55%
fall 20%, gives back 50%2250%-1.24%-3.18%
fall 20%, gives back 62%2854%+2.47%+0.81%

If one setting shines and its neighbours do not, that setting is luck, not a rule.

The two halves of history

2003–2014: 36 signals, middle move -3.54%, against +0.93% for an ordinary day in that half.
2015–2026: 15 signals, middle move +9.93%, against +0.97% for an ordinary day in that half.

Verdict

too few
51 signals with a 20-day outcome. Fewer than 100 is not enough to lean on, whatever the numbers say.

Head and shoulders

the pattern claims a fall · 247 signals found · does not survive

What the books say

The best known reversal: a peak, a higher peak, a lower peak, and a neckline drawn through the two valleys between them. The pattern is not complete until the price closes through the neckline.Edwards & Magee — the chapter on important reversal patterns — paraphrase, not a quotation

The neckline break is the signal; everything before it is a shape that may still fail to form.Murphy — the chapter on reversal patterns — paraphrase, not a quotation

One of the better-performing classical patterns in his counts, with failure rates that rise sharply in strong bull markets.Bulkowski — the head-and-shoulders top chapter — paraphrase, not a quotation

The rule, in words

Three turning points with the middle one highest, shoulders within a little of each other, and a neckline through the two valleys. The signal is the close below that neckline — not the shape itself.

One real example

left shoulderheadright shouldersignal · 2026-06-18217.78164.782026-04-142026-09-15
CVX — the most recent complete example the rule found, drawn from the same daily bars the detector read. The dashes are the lines the rule used; the pale bars are before the signal, the dark ones are what followed. After this one: -1.48% at 5 days, +9.26% at 20, +25.42% at 60. One example proves nothing either way — the counts below are the evidence.

What followed, counted

horizonafter the signalfrom any daydrift removedrandom draws, same countsignals
5 days later50% up · +0.01%54% up · +0.27%-0.11%-0.08% to +0.59%247
20 days later61% up · +1.57%57% up · +0.95%+0.60%+0.10% to +1.60%246
60 days later61% up · +2.62%60% up · +2.46%+1.16%+0.90% to +3.66%246

“From any day” is every day of the same 38 symbols over the same history — the thing a signal has to beat. “Drift removed” subtracts what that same symbol was doing anyway in the year around each signal, which is the part of the answer survivor bias cannot reach. “Random draws” is 300 draws of the same number of days, picked at random from the same histories: the middle 90% of what luck looks like.

The same rule with the dials moved

settingsignals20 days upmiddle movedrift removed
pivot 4 days, shoulders within 8%19564%+2.19%+1.38%
pivot 4 days, shoulders within 12%20164%+2.15%+1.24%
pivot 4 days, shoulders within 18%20464%+2.16%+1.26%
pivot 5 days, shoulders within 8%24061%+1.45%+0.57%
pivot 5 days, shoulders within 12%24761%+1.57%+0.60%
pivot 5 days, shoulders within 18%25161%+1.43%+0.53%
pivot 7 days, shoulders within 8%20659%+0.82%+0.29%
pivot 7 days, shoulders within 12%21359%+1.07%+0.34%
pivot 7 days, shoulders within 18%21958%+0.85%+0.26%

If one setting shines and its neighbours do not, that setting is luck, not a rule.

The two halves of history

2003–2014: 108 signals, middle move +1.94%, against +0.93% for an ordinary day in that half.
2015–2026: 138 signals, middle move +1.30%, against +0.97% for an ordinary day in that half.

Verdict

does not survive
246 signals. It fails on: 20 days; 20 days against chance; 20 days after removing drift; 60 days; 60 days against chance; 60 days after removing drift; both halves of history.

Inverse head and shoulders

the pattern claims a rise · 393 signals found · survives

What the books say

The same figure inverted at a bottom, where the neckline is broken upward.Edwards & Magee — the chapter on important reversal patterns — paraphrase, not a quotation

Read as a bottom that has been tested three times, the middle test the deepest.Murphy — the chapter on reversal patterns — paraphrase, not a quotation

Among his stronger classical patterns.Bulkowski — the head-and-shoulders bottom chapter — paraphrase, not a quotation

The rule, in words

Three turning points with the middle one lowest, shoulders alike, a neckline through the two peaks between them, and a close above it as the signal.

One real example

left shoulderheadright shouldersignal · 2026-06-0465.2246.122026-01-092026-08-31
BAC — the most recent complete example the rule found, drawn from the same daily bars the detector read. The dashes are the lines the rule used; the pale bars are before the signal, the dark ones are what followed. After this one: +1.83% at 5 days, +10.58% at 20, +14.34% at 60. One example proves nothing either way — the counts below are the evidence.

What followed, counted

horizonafter the signalfrom any daydrift removedrandom draws, same countsignals
5 days later56% up · +0.26%54% up · +0.27%-0.09%+0.04% to +0.55%393
20 days later59% up · +1.57%57% up · +0.95%+0.15%+0.42% to +1.45%393
60 days later61% up · +3.15%60% up · +2.46%+0.11%+1.63% to +3.48%389

“From any day” is every day of the same 38 symbols over the same history — the thing a signal has to beat. “Drift removed” subtracts what that same symbol was doing anyway in the year around each signal, which is the part of the answer survivor bias cannot reach. “Random draws” is 300 draws of the same number of days, picked at random from the same histories: the middle 90% of what luck looks like.

The same rule with the dials moved

settingsignals20 days upmiddle movedrift removed
pivot 4 days, shoulders within 8%32761%+1.90%+0.85%
pivot 4 days, shoulders within 12%34861%+1.68%+0.80%
pivot 4 days, shoulders within 18%35261%+1.67%+0.78%
pivot 5 days, shoulders within 8%37259%+1.63%+0.17%
pivot 5 days, shoulders within 12%39359%+1.57%+0.15%
pivot 5 days, shoulders within 18%39559%+1.55%+0.14%
pivot 7 days, shoulders within 8%36952%+0.43%-0.66%
pivot 7 days, shoulders within 12%38653%+0.49%-0.65%
pivot 7 days, shoulders within 18%38953%+0.46%-0.66%

If one setting shines and its neighbours do not, that setting is luck, not a rule.

The two halves of history

2003–2014: 192 signals, middle move +1.22%, against +0.93% for an ordinary day in that half.
2015–2026: 201 signals, middle move +1.63%, against +0.97% for an ordinary day in that half.

Verdict

survives
393 signals, and it passes all five tests — though read the size of the edge, not only the word.

What could be wrong

What was not done