Systemicalpha

Accumulation Distribution Index

systemic:core-adiIndicatorsfunction1 cr

Inputs

NameTypeDescription
Price HighfloatarrayThe highest traded price during each period (candle). This input defines the upper boundary of the period's price range.
Price LowfloatarrayThe lowest traded price during each period (candle). This input defines the lower boundary of the period's price range.
Price ClosefloatarrayThe closing (or last) price at the end of each period. This is the most critical price input for ADI, as it determines the position within the high-low range.
VolumefloatarrayThe total trading volume during each period—the number of shares, contracts, or tokens exchanged.

Outputs

NameTypeDescription
ADIfloatarrayThe cumulative Accumulation Distribution Index value for each period. This is a running total that reflects the net flow of money into or out of the asset over time.

The Accumulation Distribution Index (ADI), also known as the Accumulation Distribution Line (ADL), is a cumulative volume-based indicator that reveals the flow of money into or out of an asset. Developed by Marc Chaikin, it combines price and volume to estimate buying and selling pressure—helping traders confirm trends, spot divergences, and identify potential reversals.


Why ADI Matters

In trading, price tells you what happened, but volume tells you how strongly the market believed in that move. The ADI bridges these two by asking: "Where did the close land within the day's range, and how much volume backed it?"

  • For equities: ADI reveals whether rallies are supported by genuine institutional buying or are hollow moves prone to reversal
  • For cryptocurrencies: ADI helps filter out wash trading and detect manipulation—especially in illiquid tokens where price moves aren't backed by real demand

Mathematical Formulation

The ADI is computed in three steps:

Step 1: Money Flow Multiplier (MFM)

The MFM measures where the close falls within the high-low range:

MFMt=(Closet−Lowt)−(Hight−Closet)Hight−Lowt\text{MFM}_t = \frac{(\text{Close}_t - \text{Low}_t) - (\text{High}_t - \text{Close}_t)}{\text{High}_t - \text{Low}_t}
  • If the close is at the high: MFM = +1 (strong buying)
  • If the close is at the low: MFM = -1 (strong selling)
  • If the close is at the midpoint: MFM = 0 (neutral)

Step 2: Money Flow Volume (MFV)

Scale the MFM by the period's volume:

MFVt=MFMt×Volumet\text{MFV}_t = \text{MFM}_t \times \text{Volume}_t

Step 3: Cumulative ADI

The ADI is a running total of the Money Flow Volume:

ADIt=ADIt−1+MFVt\text{ADI}_t = \text{ADI}_{t-1} + \text{MFV}_t

Calculation Flow

graph TD
    A[High, Low, Close, Volume] --> B[Compute MFM]
    B --> C[Compute MFV]
    C --> D[Accumulate to ADI]
    D --> E[Plot ADI vs Price]

Interpreting ADI: Trend Confirmation & Divergence

Trend Confirmation

When price and ADI move together, the trend has conviction:

PriceADIInterpretation
↑ Rising↑ RisingStrong uptrend — accumulation supports the rally
↓ Falling↓ FallingStrong downtrend — distribution confirms selling

Divergence: The Warning Signal

Divergence occurs when price and ADI move in opposite directions—often a precursor to reversals:

graph LR
    PriceUp[Price: Higher Highs]
    ADIFlat[ADI: Flat or Lower Highs]
    PriceUp -- Bearish Divergence --> ADIFlat
    ADIFlat -- Warning --> Reversal[Potential Reversal]

Bearish Divergence: Price makes new highs, but ADI fails to confirm → weakening demand, possible top

Bullish Divergence: Price makes new lows, but ADI holds or rises → accumulation beneath the surface, possible bottom


Regime Analysis Decision Tree

flowchart TD
    A[Price Up] -->|ADI Up| B[Strong Uptrend]
    A -->|ADI Flat/Down| C[Weak Uptrend, Caution]
    D[Price Down] -->|ADI Down| E[Strong Downtrend]
    D -->|ADI Flat/Up| F[Weak Downtrend, Possible Reversal]

Trading Heuristics

ScenarioAction
Price ↑, ADI ↑Confirm trend, consider adding to longs
Price ↑, ADI ↓Divergence warning—reduce risk, tighten stops
Price ↓, ADI ↓Confirm downtrend, avoid longs
Price ↓, ADI ↑Possible accumulation—watch for reversal signals

Missing Data (Closed-Market Bars)

A bar is only usable when High, Low, Close, and Volume are all present — a gap in any one of the four (a weekend, a holiday, a stale exchange feed) voids the whole bar. ADI never fabricates a neutral bar for a gap: the cumulative total simply skips it and resumes from the next fully-observed bar (a Friday-to-Monday jump is compared directly, N-bar meaning N observed bars, weekends bridged), so no accumulation is silently invented or discarded.

Slot conditionADI output
Any of High/Low/Close/Volume missingNone — the bar contributes nothing, and no stale total is repeated
Every input observed, but High equals LowGenuine 0 contribution (a flat bar has no directional pressure to accumulate) — not a missing-data marker

There is no partial-window warm-up to describe: ADI has no lookback window, so the only None slots are the missing bars themselves.


Use Cases: Securities vs. Cryptocurrencies

Equities

  • Confirm breakouts: If price breaks resistance and ADI rises, the breakout has institutional backing
  • Spot false moves: Price rises but ADI lags? Beware of bull traps
  • Identify distribution: Insiders often sell into rallies—a falling ADI during an uptrend can reveal this

Cryptocurrencies

  • Filter wash trading: Crypto exchanges are notorious for fake volume. ADI helps identify moves backed by real buying
  • Detect manipulation: In illiquid altcoins, divergences are common and can expose pump-and-dump schemes
  • Confirm on-chain activity: Combine ADI with on-chain volume metrics for a fuller picture

Creative Use Case: The "Smart Money Detector"

Institutional investors and whales often accumulate positions gradually to avoid moving the market. This shows up as ADI rising while price remains flat or consolidates—the "smart money" is buying before the move.

Strategy concept:

  1. Identify periods where price is range-bound (consolidation)
  2. Look for ADI trending upward during this consolidation
  3. A breakout from consolidation with rising ADI signals strong follow-through potential

This pattern appears in both equities (institutional accumulation) and crypto (whale activity before major moves).


Practical Notes

  • Data quality matters: In crypto, volume data varies wildly across exchanges. Use aggregated or on-chain volume where possible
  • ADI is a filter, not a signal: Combine with price action, support/resistance, and other indicators (RSI, MACD) for confirmation
  • Works across timeframes: Daily ADI for swing trading, intraday for shorter-term moves

Key Takeaways

ConceptDescription
AccumulationBuying pressure, typically by large players
DistributionSelling pressure, often as insiders exit
DivergencePrice and ADI move opposite—reversal warning
ConfirmationPrice and ADI move together—trend has conviction

Further Reading


Indicator Assessment

---
config:
  xyChart:
    width: 600
    height: 400
  themeVariables:
    xyChart:
      plotColorPalette: "#4a90d9, #e74c3c"
---
xychart-beta horizontal
    title "ADI Indicator Assessment (Scale: 1-10)"
    x-axis ["Popularity", "Reliability", "Complexity", "Versatility", "Recent Interest"]
    y-axis "Score" 0 --> 10
    bar [7, 6, 3, 7, 5]
    bar [5, 4, 3, 6, 6]

Legend: First bar (blue) = Equities | Second bar (red) = Cryptocurrency

Dimension Explanations

DimensionEquitiesCryptoRationale
Popularity75Well-known among technical traders; included in most charting platforms. Less commonly used in crypto due to volume data quality concerns.
Reliability64Effective for confirming trends in liquid markets with accurate volume data. In crypto, unreliable volume from wash trading reduces effectiveness.
Complexity33Simple formula with no configurable parameters. Easy to interpret once the concept of money flow is understood.
Versatility76Works across timeframes and asset classes with reliable volume. Limited in crypto markets where volume accuracy is questionable.
Recent Interest56Stable interest in traditional markets. Growing attention in crypto as exchanges improve volume reporting and on-chain data becomes available.
Rendering diagrams...
© 2026 WanoLabs. All rights reservedAlpha build v0.1.5