# Distribution Days

Also known as: distribution day, IBD distribution days, distribution day count.
A Breadth, Sentiment & External Data concept (Breadth) in the LuxAlgo Library, with 1 indicator implementation.

## What are distribution days?

A distribution day is a session in which a major stock index closes down at least 0.2% on higher volume than the session before, and the count tallies them over a rolling 25-session window as a gauge of institutional selling in William O'Neil's market-direction method. It is a core test for the M, market direction, in the CAN SLIM approach of O'Neil's How to Make Money in Stocks (first published in 1988), and Investor's Business Daily applies it daily, counting the Nasdaq Composite and the S&P 500 separately. The 0.2% threshold is not rounded: a 0.19% loss does not qualify.

Single days mean little; the count is the signal. In IBD's practice a distribution day stays in the count for 25 sessions, and drops out earlier if the index rallies 5% above that day's close. O'Neil wrote that a cluster of roughly four or five distribution days over four or five weeks is usually enough to turn an advancing market down, and IBD's market outlook moves from confirmed uptrend to uptrend under pressure, then to market in correction, as the tally builds and leading stocks falter.

O'Neil also counted a subtler form, the stalling day: heavy volume with little or no upward progress after an advance, the index-level version of [churn](https://www.luxalgo.com/library/concept/churn/).

The logic is that large funds cannot exit in a day, so their selling shows up as a series of high-volume down sessions near highs. The weaknesses are plain too: the 0.2% bar is low enough for ordinary noise to qualify, volume swells on index rebalancing and options expiration days, counts depend on the volume series used, and independent tests are scarce. It is a risk dial rather than a sell signal, paired with its bullish counterpart, the [follow-through day](https://www.luxalgo.com/library/concept/follow-through-day/).

## How it's calculated

A rolling count of high-volume down days on one index, with IBD's two expiry rules.

```
r_t = 100 × (C_t - C_t-1) / C_t-1
DD_t = 1 if r_t <= -0.2 and V_t > V_t-1, else 0
Active_s,t = 1 if DD_s = 1, t - s < 25, and max(C_s+1 ... C_t) < 1.05 × C_s, else 0
Count_t = Σ Active_s,t, summed over s = t-24 ... t

  C_t: index close on day t
  V_t: index volume on day t, or the series used in its place
  r_t: daily percentage change of the close
  DD_t: 1 when day t is a distribution day
  s: the day a distribution day occurred
  Active_s,t: 1 while the distribution day from day s still counts on day t
  Count_t: active distribution days on day t
  t: trading-day index
```

Some counters test the 5% removal against intraday highs rather than closes, and stalling days are added at the analyst's discretion, so published counts can differ.

## How traders use it

- Exposure control: O'Neil-style traders slow new buying and tighten stops as the count rises, rather than selling everything at one threshold.
- Rally health after a bottom: distribution days stacking up within days of a follow-through are an early sign the new uptrend is failing.
- Index divergence: a count building on the Nasdaq but not the S&P 500 points to selling concentrated in growth and technology names.
- Breadth confirmation: a rising count alongside [participation divergence](https://www.luxalgo.com/library/concept/participation-divergence-at-index-highs/) or weakening [up/down volume](https://www.luxalgo.com/library/concept/up-down-volume/) tells the same story from different data.

## Distribution days vs related concepts

- **Follow-through Day** (https://www.luxalgo.com/library/concept/follow-through-day/): The bullish counterpart in O'Neil's rules: a strong up day on higher volume confirming a new uptrend after a correction. Distribution days accumulate to question an uptrend; a follow-through day is a single event marking a possible bottom.
- **Up/down Volume** (https://www.luxalgo.com/library/concept/up-down-volume/): Splits exchange volume between advancing and declining stocks across the market. A distribution day uses only the index's change and total volume against the prior day, a much coarser test.
- **Churn** (https://www.luxalgo.com/library/concept/churn/): Churn is heavy volume with little price progress on any chart. O'Neil's stalling day is churn at the index level after an advance; the classic distribution day requires an actual decline.

## FAQ

### How many distribution days signal a market top?

There is no hard number. O'Neil described four or five within roughly four or five weeks as usually enough to turn an advancing market down, but counts at that level have also come and gone without a correction, so the count is weighed against how leading stocks are acting.

### How long does a distribution day stay in the count?

In IBD's practice, 25 trading sessions, or less if the index rallies 5% above its close on the distribution day, on the reasoning that a market able to climb that far has absorbed the selling.

### Does a big drop on lighter volume count?

No. Both conditions are required: a close-to-close loss of at least 0.2% and volume above the previous session's. A 2% drop on lighter volume is weak action, but not a distribution day.

### What is a stalling day?

A session in which the index closes flat or only slightly higher on heavier volume after an advance, which O'Neil treated as hidden distribution. Because 'slightly higher' is a judgment call, stalling days are applied less consistently than the 0.2% rule.

## Implementations in the Library

- Distribution Day Count (LuxAlgo): https://www.luxalgo.com/library/indicator/distribution-days/

## Related concepts

- Advance/decline Internals: https://www.luxalgo.com/library/concept/advance-decline-internals/
- Up/down Volume: https://www.luxalgo.com/library/concept/up-down-volume/
- TICK Index: https://www.luxalgo.com/library/concept/tick-index/
- % Stocks Above 20/50/200-day MA: https://www.luxalgo.com/library/concept/percent-stocks-above-20-50-200-day-ma/
- New Highs − New Lows: https://www.luxalgo.com/library/concept/new-highs-new-lows/
- Participation Divergence at Index Highs: https://www.luxalgo.com/library/concept/participation-divergence-at-index-highs/
- TRIN: https://www.luxalgo.com/library/concept/trin/
- McClellan Oscillator: https://www.luxalgo.com/library/concept/mcclellan-oscillator/
- Breadth Thrusts: https://www.luxalgo.com/library/concept/breadth-thrusts/
- Equal-weight vs Cap-weight Ratio: https://www.luxalgo.com/library/concept/equal-weight-vs-cap-weight-ratio/

---

Source: https://www.luxalgo.com/library/concept/distribution-days/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/