Stocks CardDashboard →

Peril

Who's really doing the buying?

Updated June 3, 2026

What it actually measures. Price tells you what the last trade was. This tries to tell you which side wrote the bigger checks over the last quarter. It adds up dollar volume on up-days, subtracts dollar volume on down-days, and reports which way the balance leaned. A high score means more money changed hands on the way up — the footprint of quiet accumulation. A low score means the heavier money was on down-days — distribution.

How to read it

If you see…It means…
High Flow + High PerformConfirmation. The price is up and the money is paying for it. The strongest reading on this panel.
High Flow + Flat/Red priceAccumulation into weakness. Capital may be positioning ahead of a move that hasn't happened. The most interesting case — and easy to be wrong about.
Low Flow + High PerformBeing chased, not accumulated. The price is climbing while the heavier money sells into it. Vulnerable to a snap-back.
Low Flow + Low PerformCapital and price agree on the way down. No near-term setup unless the rest of the card says otherwise.

Using it in an IRA

The card tells you about the stock. Your account tells you how much to own.

The fine print — formula, evidence, and where it fails

accumDistFlow = the signed dollar-volume share over the last 60 trading days. Each day's dollar volume (shares × close) counts positive on up-days, negative on down-days; summed and divided by total dollar volume in the window, giving a number in [−1, +1]. Then percentile-ranked across the universe. Dollar volume (not share volume) so a $20 stock and a $200 stock sit on the same axis; a ratio (not a raw total) so market cap doesn't dominate. It's the simplest directional, normalized member of the Chaikin family (PVT, OBV, Chaikin A/D answer the same question with different weightings).

Stability. The fastest-moving tile — 22% stay-rate, 51% within ±1. That's by design: short-horizon flow regimes should shift quickly.

Independence. Average absolute correlation +0.12; strongest +0.31 with Perform (recent buyers are mechanically recent winners). Marginal information contribution is negative (−0.009) — added to a composite it slightly hurts forward signal, which is why it's framed as a divergence read, not a sort key.

Tier-1 evidence

A single tile's job is to describe a stable, distinct dimension of stock character — not to produce alpha on its own. We test that with three questions: does the metric stay where it puts a stock month-over-month (stability), is it independent of the other tiles on the card (orthogonality), and does it carry information the others don't (marginal contribution).

Stay in same decile
22%
51% stay within ±1 decile · 71% within ±2
Avg |correlation| (other tiles)
+0.12
Max +0.31 with Perform · window: 19y
Marginal IC contribution
-0.009
IC without +0.007 → with -0.002

Correlation with the other panel headlines

Perform
+0.31
Persist
-0.00
Profit
+0.05

Diagnostics regenerated 2026-06-01

The decile evidence. Survivor-contaminated and slightly inverted: on the current-list cohort every decile shows positive forward excess (the names all survived into 2026), and within that, bottom-flow D1 (≈ +1.04pp) actually beats top-flow D10 (≈ +0.79pp) — consistent with mean reversion. The decile picture will likely change materially once the test extends to point-in-time membership.

Evidence — decile screening

Mean forward excess return vs SPY for each decile of the metric, averaged across 373 anchors from 1995-03-29 to 2026-04-15. Cohort: S&P 500 + NDX (current list).

mean fwd excess (pp/period)
value
support
D10
+0.79 pp
n=373
D9
+0.53 pp
n=373
D8
+0.39 pp
n=373
D7
+0.44 pp
n=373
D6
+0.57 pp
n=373
D5
+0.33 pp
n=373
D4
+0.52 pp
n=373
D3
+0.45 pp
n=373
D2
+0.59 pp
n=373
D1
+1.04 pp
n=373

Failure modes

  • Survivorship lift dominates the decile signal — every decile in the current-list S&P 500 + NDX universe has positive forward excess vs SPY (the cohort is precisely the names that survived into 2026, plus their pre-membership history). Within this survivor cohort, the decile gradient is weak and slightly inverted: bottom-flow names outperform top-flow names by a small margin, consistent with mean reversion. The decile picture will look very different once the script extends to PIT membership.
  • Volume on advance days is noisy at the single-stock level — one earnings beat can dominate the 60-day sum. The percentile rank smooths the cross-sectional noise but not the per-stock idiosyncrasy.
  • ETFs and high-AUM names compress to mid-band — large index constituents trade close to symmetric flow most days; deciles 4-7 for these names carry essentially no signal.
  • Counter-cyclical at regime turns — accumDistFlow stays positive on names being distributed into a falling tape (the 60-day window captures the prior advance) and stays negative on names being accumulated into a rising tape coming out of a bear. The signal is best read on a 1-month delta, not a level, near regime turns.
  • No split adjustment for volume — the canonical bars store split-adjusted close but raw volume. Stocks that split inside the 60-day window have artificially-high dollar-volume on post-split days. Affects a small minority of names per quarter.

Signal = signed dollar-volume share over the last 60 trading days. Forward = next 21-day excess return vs SPY. Top-decile basket = top 20 by signal, equal-weighted; stats are computed on the per-anchor excess-return series so Sharpe = Information Ratio and CAGR = annualized excess vs SPY. Bars sourced from the canonical archive (~30 years).

Evidence regenerated 2026-06-01