Yamagishi Complexity Torus LabYamagishi Lab

[F016] Chart Patterns Appear Just as Often on a Synthetic Random Walk

Abstract

This paper asks whether chart patterns appear because of the market — the answer is that they appear because of the zigzag. It claims neither a new mathematical theorem nor a new law.

First, a zigzag was drawn on one-hour bars (a reversal is confirmed when price retraces 1.00 ATR from the latest extreme) and three patterns were counted. The medians per thousand bars are 37.2886 for the double top, 4.0011 for the triple top and 11.1283 for head and shoulders (Section 3).

Second, and this is the core of the paper, doing the same on synthetic series built from independent normal increments down to the movement inside each bar gives 46.2858 double tops per thousand bars. More than the measurement (Section 4).

Third, the measured-to-random ratio has a median of 0.8042, ranging from 0.5963 to 0.8783, and is below one in all twelve cells (three patterns times four series). The patterns appear more often on a random walk (Section 4).

Fourth, the directional information over 24 bars from the completing bar (the close beyond the neckline) is +2.8352 pips for the double top, +10.6255 pips for the triple top and +3.7470 pips for head and shoulders. But 0 of 12 cells reach a daily t of 2 in absolute value (chance gives about 0.5) (Section 5).

Fifth, the difference between the pattern's move and the move over all bars in the same period has a median of +3.6078 pips, ranging from −13.2119 to +16.7383 pips. The scatter is larger than the difference (Section 6).

Sixth, splitting into five non-overlapping sessions, the daily t reaches 2 in absolute value in 0 of 17 cells, against about 0.8 by chance (Section 7).

Scope of this paper (scope note): No new mathematical theorem and no new law is claimed — how a zigzag is drawn, the true range and random walks are all known. No particular product or proponent is discussed — no real course, author, or vendor is the subject here, and none is named. What is treated is the public patterns themselves. Trading is not discussed — what is measured is occurrence rates and directional information, not trading performance including commissions, fills and money management. The scope is intraday and a small number of instruments — four series, three years, one-hour bars. Monthly time-series momentum (dozens of markets, holding one to twelve months) is documented in the literature, and this paper does not contradict it. ★ Finding the patterns is mechanised one way — a 1.00 ATR retracement for the zigzag and 0.25 ATR for "the same height". That is not the pattern a person finds by eye. This is the chief limitation (Section 8). Three patterns only — triangles, flags and cup-with-handle are not treated. The overlap is not removed — the horizon is 24 bars (with about one observation a day, the overlap is limited). No forecast is claimed. Relation to earlier papers: this series always reports, alongside a rate, what it would be by chance. F011 placed fake levels and F015 placed fake definitions — this paper places a fake series (a synthetic random walk). What is added here is comparing the occurrence rate itself against a random walk, writing the pattern-finding procedure so that it carries no look-ahead, and placing the pattern's move beside the move over all bars.

1. Notation and the question

There is a way of speaking that says "a double top means the ceiling" and "head and shoulders is the reversal pattern".

PatternShapeWhat is said about it
Double toptwo peaks of the same heighta ceiling; sell on the break of the neckline
Triple topthree peaks of the same heighta stronger ceiling
Head and shouldersthree peaks with the middle highestthe classic reversal

Observation 1.1: "price fell sixty percent of the time after the pattern" says nothing on its own, because it does not say what share fell when the pattern was absent.

Observation 1.2: and there is something to ask first. Does that pattern appear because of the market at all? Draw a zigzag and peaks and troughs necessarily line up. Two peaks of the same height in a row happen without anything making them happen.

Observation 1.3: the question settles by placing a fake series alongside. Count the same patterns, by the same procedure, on a synthetic series known by construction to carry zero directional information. If they appear as often, the patterns are a property of the zigzag, not of the market.

Question: do chart patterns appear because of the market?

2. Writing the quantity and the design in advance

Design (declared before running and unchanged at run time)

ItemDecision
Latticeone-hour bars, mid price, completed bars only
Zigzaga reversal is confirmed when price retraces 1.00 ATR from the latest extreme
Double topthe two consecutive peaks differ by at most 0.25 ATR
Triple topthree consecutive peaks all within 0.25 ATR
Head and shouldersthe middle of three peaks is highest and the outer two differ by at most 0.25 ATR
Necklinethe opposite extreme immediately before the last peak
Completionthe bar whose close crosses the neckline; the signal sits there
Directional informationthe move over the next 24 bars in the direction the pattern predicts (pips)
Baselinesynthetic series random down to the movement inside each bar (10 realisations)
InstrumentsUSDJPY, EURUSD, GBPUSD, XAUUSD
Period2019–2024. Evaluation 2022–2024

Observation 2.1: ★ a reversal is confirmed on the bar that retraces, not on the extreme itself. At the extreme it is not yet known to be an extreme. Treating the extreme's bar as the confirmation would be a look-ahead. The neckline crossing is searched for only after the bar on which the last peak was confirmed.

Observation 2.2: the trough side (double bottoms and so on) is counted by the same procedure and combined with signs reversed. Counting only peaks would be dragged by which way the period happened to go.

Observation 2.3: the synthetic series has zero directional information by construction. That is what makes "do the patterns appear anyway" answerable.

In the evaluation period the bar counts are 17,865 for USDJPY, 17,891 for EURUSD, 17,874 for GBPUSD and 17,495 for XAUUSD, with 11,104, 10,467, 10,417 and 10,252 zigzag turning points.

3. How often the patterns appear

Calculation 3.1 Occurrences (evaluation period)

InstrumentPatternCountPer 1,000 bars
USDJPYdouble top63735.6563
USDJPYtriple top653.6384
USDJPYhead and shoulders20311.3630
EURUSDdouble top67537.7285
EURUSDtriple top965.3658
EURUSDhead and shoulders19510.8993
GBPUSDdouble top67337.6525
GBPUSDtriple top784.3639
GBPUSDhead and shoulders20311.3573
XAUUSDdouble top64636.9248
XAUUSDtriple top633.6010
XAUUSDhead and shoulders18410.5173

Observation 3.2: the medians per thousand bars are 37.2886 for the double top, 4.0011 for the triple top and 11.1283 for head and shoulders.

Observation 3.3: the four series agree well. The double top falls between 35.6563 and 37.7285. Different markets and different volatilities, and the same frequency.

Observation 3.4: ★ that agreement is itself a clue. If patterns came from the market's circumstances (sellers making a ceiling, buyers picking a bottom), the frequency could differ from market to market.

4. The baseline — how often the patterns appear on a random walk

Calculation 4.1 Synthetic series whose within-bar movement is also random (10 realisations, evaluation period, per 1,000 bars)

InstrumentPatternMeasuredRandom walkRatio
USDJPYdouble top35.656346.28040.7704
USDJPYtriple top3.63846.10130.5963
USDJPYhead and shoulders11.363013.48450.8427
EURUSDdouble top37.728546.28580.8151
EURUSDtriple top5.36586.10920.8783
EURUSDhead and shoulders10.899313.48160.8085
GBPUSDdouble top37.652546.29070.8134
GBPUSDtriple top4.36396.09820.7156
GBPUSDhead and shoulders11.357313.48330.8423
XAUUSDdouble top36.924846.15600.8000
XAUUSDtriple top3.60106.01310.5989
XAUUSDhead and shoulders10.517313.31810.7897

Observation 4.2: ★ a synthetic random walk has no ceiling, no floor, no sellers, no buyers and no psychology. Double tops appear anyway, 46.1560 to 46.2907 times per thousand bars.

Observation 4.3: the measured-to-random ratio has a median of 0.8042, ranging from 0.5963 to 0.8783. It is below one in all twelve cells. The patterns appear more often on a random walk.

Observation 4.4: the random-walk values are almost identical across the four series (46.1560 to 46.2907 for the double top). They are built the same way, so that is to be expected. ★ And the measurement also agreed well, from 35.6563 to 37.7285. The frequency of the patterns is set by the procedure, not by the market.

Observation 4.5: that the measurement is lower is not read here as "markets produce fewer patterns". The synthetic series uses independent normal increments and its volatility changes more simply than a real market's. That difference may act on how the zigzag is drawn, and this paper does not separate it.

Figure 1 The patterns appear just as often on a synthetic random walk

Figure 1: occurrences per thousand bars for the three patterns, one panel per instrument. The dark bars (measured) and the light ones (random walk) stand at similar heights.

5. The move after a pattern completes

Calculation 5.1 A signal on the bar that crosses the neckline (evaluation period)

PatternInstrumentCountD (pips)Dd (daily mean)Daily tDaysSpread
Double topUSDJPY6374.15934.09340.954650.60
Double topEURUSD6752.45763.17191.504790.30
Double topGBPUSD6703.21284.31851.494850.90
Double topXAUUSD6451.21125.99350.774543.44
Triple topUSDJPY65−13.8138−12.9463−1.03610.60
Triple topEURUSD966.02667.90151.63850.30
Triple topGBPUSD7816.936513.90861.89710.90
Triple topXAUUSD6315.22448.00380.38583.41
Head and shouldersUSDJPY2036.86019.54751.181780.60
Head and shouldersEURUSD1952.20642.29500.661760.30
Head and shouldersGBPUSD2035.28776.82191.531840.90
Head and shouldersXAUUSD184−3.94711.01770.071683.47

Observation 5.2: the median D is +2.8352 for the double top, +10.6255 for the triple top and +3.7470 pips for head and shoulders, against a median spread of 0.7500 pips. The signs are as the patterns predict (positive).

Observation 5.3: ★ but the daily t reaches 2 in absolute value in 0 of 12 cells. Chance gives about 0.5, so the measurement is below chance.

Observation 5.4: the triple top has the largest D (+10.6255 pips) and the fewest observations, 63 to 96. Its daily t runs from −1.03 to +1.89. The size is large because the count is small.

Observation 5.5: only USDJPY's triple top is strongly negative (−13.8138 pips), a value inside 65 observations. The other three series are positive, so the signs do not agree either.

Observation 5.6: with about 1.0 observation a day, looking 24 bars ahead leaves limited overlap across days. It is not zero.

Figure 2 The move after the pattern completes

Figure 2: directional information for the three patterns, by instrument. The signs do not agree and the heights are not stable.

6. Comparison with bars where no pattern appeared

Design: over all bars in the same period, form a mean reflecting only the same buy-sell imbalance as the pattern, and take that as the baseline.

Calculation 6.1 The pattern's move against the move over all bars (evaluation period, pips)

InstrumentPatternPattern's DAll bars, same imbalanceDifference
USDJPYdouble top4.15930.1141+4.0452
USDJPYtriple top−13.8138−0.6020−13.2119
USDJPYhead and shoulders6.86010.4130+6.4470
EURUSDdouble top2.4576−0.0357+2.4932
EURUSDtriple top6.02660.0264+6.0002
EURUSDhead and shoulders2.20640.1234+2.0830
GBPUSDdouble top3.21280.0423+3.1704
GBPUSDtriple top16.93650.1983+16.7383
GBPUSDhead and shoulders5.28770.1079+5.1798
XAUUSDdouble top1.2112−0.3570+1.5681
XAUUSDtriple top15.22440.1740+15.0504
XAUUSDhead and shoulders−3.94710.5959−4.5430

Observation 6.2: the median difference is +3.6078 pips, with a median absolute value of 4.8614 pips and a range from −13.2119 to +16.7383 pips.

Observation 6.3: ten of the twelve differences are positive. That reads as "price moves more after a pattern than without one".

Observation 6.4: ★ but the scatter is larger than the difference. Against a median of +3.6078 the range spans 30 pips. And as Section 5 showed, by daily t it is 0 of 12.

Observation 6.5: this baseline carries no error band. The all-bar mean has many observations and little error, but the pattern side has 63 to 675. The significance of the difference should be read from the t in Section 5.

7. Splitting by session

Design: five non-overlapping bins in Coordinated Universal Time. The signal is the double top.

Calculation 7.1 Directional information in each of the five bins (evaluation period)

InstrumentTokyo 0–7London 7–12Overlap 12–16NY late 16–21Night 21–24
USDJPY0.68 (t 0.42)8.44 (t 0.79)7.63 (t 0.97)−0.37 (t −0.27)−3.40 (t −0.26)
EURUSD1.55 (t 0.37)1.75 (t 0.56)4.93 (t 1.24)−4.70 (t −1.08)too few
GBPUSD9.99 (t 1.63)2.39 (t 0.03)1.94 (t 0.50)−3.38 (t −0.43)too few
XAUUSD−1.64 (t −0.02)−5.89 (t −0.11)−1.61 (t 0.11)38.16 (t 1.06)too few

Observation 7.2: the daily t reaches 2 in absolute value in 0 of 17 cells, against about 0.8 by chance — below chance.

Observation 7.3: the night bin had too few observations in three series. Patterns complete mostly while the market is moving.

Observation 7.4: XAUUSD in NY late shows a large 38.16 pips, but its t is 1.06. The size comes from the size of gold's moves.

8. Limitations

  1. ★ Finding the patterns is mechanised one way, a 1.00 ATR retracement for the zigzag and 0.25 ATR for "the same height". That is not the pattern a person finds by eye; in practice a person decides which peaks to take. What is denied is the claim that the patterns themselves have a special frequency, not a practice that includes choosing the peaks. This is the chief limitation.
  2. Three patterns only. Triangles, flags and cup-with-handle are not treated.
  3. ★ Why the measurement produces fewer patterns is not explained. The synthetic series uses independent normal increments and its volatility changes more simply than a real market's. That difference may act on the zigzag, and this paper does not separate it.
  4. The baseline in Section 6 carries no error band. The significance should be read from the t in Section 5.
  5. The overlap is not removed. The horizon is 24 bars; with about one observation a day the overlap is limited, but not zero.
  6. The synthetic baseline uses independent normal increments. Volatility clustering is not included.
  7. Four instruments over three years. Nothing is said about other markets or other periods.

Conclusion

A double top appears 37.2886 times per thousand bars and head and shoulders 11.1283 times, agreeing well across four series.

But on a synthetic series known by construction to carry zero directional information, a double top appears 46.2858 times per thousand bars. More than in the measurement. The ratio has a median of 0.8042 and is below one in all twelve cells.

A synthetic random walk has no ceiling, no floor, no sellers, no buyers and no psychology. The patterns appear anyway.

The move after a pattern completes is +2.8352 pips for the double top, +10.6255 pips for the triple top and +3.7470 pips for head and shoulders, with signs as predicted. But 0 of 12 cells reach a daily t of 2 in absolute value (chance gives 0.5), and splitting into sessions gives 0 of 17.

The patterns appear not because of the market but because of the zigzag.

And what this paper could measure is only the patterns on a mechanically drawn zigzag. About a practice in which a person chooses which peaks to take, nothing is answered here.

Data and reproduction

DataCurrency ticks from Dukascopy (agreement to the millisecond, bid and ask, verified from 2019 onward). Gold from Dukascopy
Period2019–2024 (six years). Evaluation 2022–2024
InstrumentsUSDJPY, EURUSD, GBPUSD, XAUUSD
BarsOne-hour, mid price, closing value of completed bars only. Bars with no ticks are not created
ZigzagA reversal is confirmed on the bar that retraces 1.00 ATR from the latest extreme (never on the extreme's own bar)
Verification検算/F016.py (with --zu it also writes the figures). Every number in the text is taken from 検算/F016_output.txt
Figures図/F016_zu1, 図/F016_zu2 (png, svg, English versions)
Random seedsFixed at 0–9. Re-running gives the same values
Audit of the foundation_ツール/audit_bars.py (look-ahead in the bars, daylight saving, the day boundary). The record is _土台の検査.txt

References

  • Yamagishi, Y. (2026). Round Numbers Do Not Attract Price [F011]. Zenodo. 10.5281/zenodo.22891487
  • Yamagishi, Y. (2026). The Failure Rate of a "Fakeout" Is Set by the Definition [F015]. Zenodo. 10.5281/zenodo.22891741

Reference

Yamagishi, Y. (2026). Chart Patterns Appear Just as Often on a Synthetic Random Walk [F016]. Zenodo.
DOI: 10.5281/zenodo.22891793
YOI: https://www.yamagishiyuuki.com/yoi/F016
ORCID: 0009-0006-8587-3450

PDF (English) · PDF (Japanese) · Date proof of the English PDF (OpenTimestamps .ots) · SHA256SUMS

The record page for this paper (in Japanese, with the PDFs in each language and the date proof): YOI F016. This paper is a preprint and has not been peer reviewed.