22 — Market Cycles

Accumulation & Distribution#

Heuristic
◆ The PatternRichard Wyckoff's four market phases: Accumulation (smart money buys quietly), Markup (trend up, public joins), Distribution (smart money sells to public), Markdown (trend down, public panics).

Accumulation & Distribution — Wyckoff's framework for understanding market phases through the lens of "smart money" behavior.

Four phases:
1. Accumulation: Smart money quietly buys. Volume low. Public uninterested.
2. Markup: Price rises. Public notices. Volume increases. FOMO begins.
3. Distribution: Smart money sells to eager public. High volume. Media attention peaks.
4. Markdown: Price falls. Public panics. Smart money waits to re-accumulate.

Wyckoff's "Composite Man" = the aggregate of well-informed money deliberately accumulating or distributing.

Worked example

After a fall from 60, the last ten days trade in a box 7.3% wide. Inside it, average volume on up days is 1.5 times volume on down days. A Wyckoff reader calls that accumulation: someone buying on rallies while sellers dry up. The code finds the pattern; the story about who is behind it is an interpretation.

Where it misleads
  • The “Composite Man” is a narrative device. The same volume can be read as accumulation or distribution, and no peer-reviewed test has validated Wyckoff’s schematics.
  • Volume does carry information about prices (Blume, Easley & O’Hara 1994), which is the part worth keeping.
  • A range can resolve either way; the label is only confirmed by the breakout.
In code
df = pd.DataFrame({                              # a fall, then a sideways range, made up
    'close':  [60, 56, 52, 49, 47, 48, 46, 47.5, 47, 48.5, 47.5, 49, 48, 49.5],
    'volume': [30, 35, 40, 45, 50, 38, 22, 36, 20, 40, 21, 42, 19, 44]})
box = df.tail(10)                                    # the last ten days
width = (box.close.max() - box.close.min()) / box.close.mean()
up = box.close.diff() > 0
up_down_volume = box.volume[up].mean() / box.volume[~up].mean()   # > 1 is read as quiet buying
Python, in your browser — edit the code and run it again

Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up.

Sources
  • R. D. Wyckoff, The Richard D. Wyckoff Method of Trading and Investing in Stocks, course, 1931
  • L. Blume, D. Easley & M. O’Hara, “Market Statistics and Technical Analysis: The Role of Volume”, Journal of Finance 49(1), 1994
  • The Three Skills of Top Trading, H. O. Pruden, Wiley, 2007

Last reviewed October 2026 · How this site checks its content · Report a mistake

Pattern bridge: Smart money quietly building positions before the crowd notices. In ML, gradient accumulation before an optimizer step is the same: gather signals silently, then act.
Linked from 1
← Previous
Market Sentiment Cycle
Open in the full reader, with the topic sidebar