Trading Dev AcademyFree quant education

Free lesson · Technical analysis

Elliott Wave: count hypotheses, rules and invalidation

Open interactive lessonPractice calculationsExplore labs

Start with the idea

An Elliott count labels a proposed sequence of swings. More than one count may fit the same observations.

Symbols, units & horizon
  • P₀,…,P₅: sequential pivot prices in a completed proposed impulse
  • ℓ₁,ℓ₃,ℓ₅: positive price lengths of motive waves 1,3,5
  • min: shorter of waves 1 and 5
  • ≥: wave 3 is not strictly shorter than both

When and why to use this

Use explicit wave-count candidates as research labels or scenario annotations. Keep candidate history to measure revision and hindsight bias.

  • The common impulse illustration has five waves followed by an A–B–C correction. Treat this as a classification hypothesis.
  • Under a standard non-diagonal impulse convention, wave 2 does not retrace beyond the start of wave 1, wave 3 is not the shortest among 1/3/5, and wave 4 does not overlap wave 1 territory.
  • Diagonal and corrective variants use different rules. State the allowed pattern family before counting.
  • A rule such as “wave 3 is not shortest” cannot be finally checked until wave 5 is observed. Do not pretend the finished count was known at wave 3.
  • Build pivots using a fixed causal reversal threshold or delayed confirmation. Save every provisional count and its invalidation time.
  • Compare competing counts and a simple swing/trend baseline. An LLM may describe candidates, but numerical code should check their constraints.
  • Measure predictive value from the timestamp the candidate was available, not from the earliest labeled turning point.
ℓ1=|P1−P0|,ℓ3=|P3−P2|,ℓ5=|P5−P4|,ℓ3≥min⁡(ℓ1,ℓ5)
Specified chart rule · derivation and arithmetic

Elliott Wave: count hypotheses, rules and invalidation

  1. For pivots [100,110,105,123,115,127], wave lengths are 10,18,12.
  2. Compare wave 3 with min(10,12)=10: 18≥10 passes.
  3. This checks only one completed-count condition. Wave direction, overlap and retracement rules remain separate.
Work it by hand

Lengths 10,8,12 fail because 8

Use the rule

  • Fix the definition, units and information timestamp.
  • Compute the example and inspect the graph.
  • Compare with a simple baseline on untouched periods after costs.

Before moving on

Write the exact rule, its availability time, an invalidation condition and a fair out-of-sample test.

Research checkpoint · reviewed 12 September 2026

  • Status: accepted ICAART 2025 conference paper; arXiv abstract and bibliographic metadata reviewed only.
  • Scope: combines wave analysis with language models, retrieval and reinforcement learning on historical major US-company data. Exact dates, split design and executable costs were not verified from the abstract.
  • Use as an architecture research lead. Benchmark any implementation against fixed numerical swing rules and audit pretraining, retrospective wave labels and available information. No reported performance is adopted here.

Wawer & Chudziak · ElliottAgents (ICAART 2025) ↗

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

def wave_three_not_shortest(pivots):
    if len(pivots)!=6: raise ValueError("Six completed pivots required")
    p=pivots
    lengths=[abs(p[1]-p[0]),abs(p[3]-p[2]),abs(p[5]-p[4])]
    return lengths,lengths[1]>=min(lengths[0],lengths[2])

print(wave_three_not_shortest([100,110,105,123,115,127]))

Continue learning

Technical Analysis: Geometry, Structure & Evidence — all lessons
  1. Support, resistance and reversal: start with a price zone
  2. Breakout detection, false breaks and retests
  3. Fibonacci retracements: anchors before ratios
  4. Harmonic patterns: ratio constraints and competing candidates
  5. Elliott Wave: count hypotheses, rules and invalidation
  6. Fair value gaps (FVG): three-bar geometry and fill measurement
  7. Heikin-Ashi: smoothed candles are synthetic prices
  8. Renko: price-driven bricks and the missing time axis
  9. Dynamic support, trend lines and Gann angles
  10. Momentum indicators, oscillators and divergence
  11. Volume, supply/demand zones and what OHLCV cannot reveal
  12. Market structure, BOS and CHOCH as a state machine
  13. Moon phases: encode a calendar hypothesis and try to falsify it

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations