Systemicalpha

Chaikin Money Flow

systemic:core-cmfIndicatorsfunction1 cr

Inputs

NameTypeDescription
Windowinteger- **Description**; The number of periods over which the CMF is calculated (e.g., 20 days).
Price Highfloatarray- **Description**; The highest price of the asset during the specified period.
Price Lowfloatarray- **Description**; The lowest price of the asset during the specified period.
Price Closefloatarray- **Description**; The closing price of the asset for each period.
Volumefloatarray- **Description**; The trading volume of the asset during the specified period.

Outputs

NameTypeDescription
CMFfloatarray- **Description**; The primary output value of the CMF indicator. It represents the net flow of money into or out of an asset over a specified period.

A comprehensive guide to using the Chaikin Money Flow (CMF) indicator for measuring volume-weighted buying and selling pressure, confirming trends, and identifying reversals in both traditional and crypto markets.


Overview

The Chaikin Money Flow (CMF) is a volume-based technical indicator developed by Marc Chaikin. It quantifies the flow of money into and out of an asset over a specified period by combining price and volume. CMF helps traders and investors assess the strength of buying or selling pressure, confirm trends, and spot potential reversals or divergences.

Why CMF matters:

  • Volume-weighted insight: Integrates both price and volume, revealing conviction behind price moves.
  • Trend confirmation: Confirms the strength of uptrends and downtrends.
  • Divergence detection: Identifies early signs of trend exhaustion or reversal.
  • Cross-asset utility: Works on stocks, ETFs, commodities, and cryptocurrencies.
  • Pairs well with other indicators: Complements price-only or momentum indicators for robust signals.

Quick links:


How It Works

CMF measures the accumulation and distribution of an asset by comparing where the close falls within the period's range and weighting it by volume. The result is a normalized value between -1 and +1 (often shown as -0.5 to +0.5 or -100 to +100 in some charting platforms).

Formulas

1. Money Flow Multiplier (MFM):

MFM=(Close−Low)−(High−Close)High−Low\text{MFM} = \frac{(\text{Close} - \text{Low}) - (\text{High} - \text{Close})}{\text{High} - \text{Low}}

2. Money Flow Volume (MFV):

MFV=MFM×Volume\text{MFV} = \text{MFM} \times \text{Volume}

3. Chaikin Money Flow (CMF):

CMF=∑MFV over n periods∑Volume over n periods\text{CMF} = \frac{\sum \text{MFV over n periods}}{\sum \text{Volume over n periods}}

Where nn is the lookback period (commonly 20 or 21).

Calculation Flow

flowchart TD
    Price[High, Low, Close, Volume] --> MFM[Calculate Money Flow Multiplier]
    MFM --> MFV[Calculate Money Flow Volume]
    MFV --> SumMFV[Sum MFV over n periods]
    Price --> SumVol[Sum Volume over n periods]
    SumMFV --> CMF[Compute CMF]
    SumVol --> CMF

Interpretation and Use Cases

Typical Ranges

  • CMF values: Range from -1 to +1 (or -100 to +100). Positive = buying pressure; negative = selling pressure.
  • Zero line: Crossing above/below zero can signal shifts in market pressure.

Signal Logic

  • Positive CMF: Sustained buying pressure; supports uptrends.
  • Negative CMF: Sustained selling pressure; supports downtrends.
  • Divergence: Price makes new high/low but CMF does not—potential reversal.
  • Zero Cross: CMF crossing zero can confirm trend direction or signal a regime shift.

Use Case 1: Stock Trend Confirmation

  • Scenario: S&P 500 stock in an uptrend, CMF remains positive for several weeks.
  • Interpretation: Confirms strong institutional buying; trend likely to persist.
  • Reference: Fidelity: CMF in Stock Trading

Use Case 2: Crypto Divergence Signal

  • Scenario: Bitcoin price makes a new high, but CMF fails to confirm and turns negative.
  • Interpretation: Bearish divergence; possible exhaustion of buying pressure and risk of reversal.
  • Reference: Binance Academy: CMF in Crypto

Use Case 3: Entry/Exit Timing

  • Scenario: Ethereum CMF crosses above zero as price breaks out of consolidation.
  • Interpretation: Confirms breakout with volume; potential entry point.

Use Case 4: Multi-Indicator System

  • Scenario: CMF turns positive while RSI is oversold and price breaks above a moving average.
  • Interpretation: Strong buy signal; multiple confirmations increase conviction.

Decision Flow Example

flowchart TD
    S[New CMF Value] --> A{CMF > 0?}
    A -->|Yes| B[Buying Pressure]
    A -->|No| C{CMF < 0?}
    C -->|Yes| D[Selling Pressure]
    C -->|No| E[Neutral/No Signal]

CMF in Multi-Indicator Systems

CMF is often combined with:

  • Momentum indicators (e.g., RSI, MACD): Confirm price moves with volume.
  • Trend indicators (e.g., moving averages): Filter CMF signals by trend direction.
  • Volatility indicators (e.g., ATR): Avoid false signals in low-volatility regimes.
flowchart LR
    A[CMF Signal] --> B{Trend Confirmed?}
    B -->|Yes| C{Momentum Confirmed?}
    C -->|Yes| D[High Conviction Trade]
    C -->|No| E[Moderate Conviction]
    B -->|No| F[Wait or Ignore]

Data Notes & Practical Usage

  • Frequency: CMF works on any timeframe (daily, hourly, etc.), but signals are more reliable on higher timeframes.
  • Period selection: 20 or 21 is standard, but shorter periods = more signals/noise; longer = smoother, slower signals.
  • Asset class: Crypto and small caps may show more erratic CMF swings than large-cap stocks.
  • Pitfalls: CMF can whipsaw in choppy/range-bound markets; combine with trend/volatility filters.
  • Volume data: In crypto, volume data may be fragmented or unreliable—use major exchanges or aggregated feeds.

Missing Data (Closed-Market Bars)

A bar missing any of high, low, close, or volume (a weekend, holiday, or data gap) never fabricates a value: CMF emits null at that slot instead of assuming a neutral or carried-forward reading. The Money Flow Volume and total-volume sums run over the N most recently observed bars ("N-bar CMF" = N observed bars, weekends bridged — a Friday-to-Monday pair is treated as adjacent), so a gap never dilutes or freezes the ratio. A row where high equals low keeps its genuine Money Flow Multiplier of 0 (the price closed exactly mid-range — a real reading, not a missing one); only a window whose total volume is zero has no determinable ratio and is null.


Conceptual CMF Regime Distribution

In most markets, CMF spends the majority of time near the zero line, with less frequent excursions into strong positive or negative territory. This conceptual pie chart illustrates a typical distribution (actual values will vary by asset and timeframe):

pie title Conceptual CMF Regime Distribution
    "Neutral (-0.1 to 0.1)" : 60
    "Positive (>0.1)" : 20
    "Negative (<-0.1)" : 20

Note: This chart is conceptual and for illustration only. Actual regime frequencies will vary by market and period.


Historical Context: CMF Regimes

stateDiagram-v2
    [*] --> Neutral
    Neutral: -0.1 < CMF < 0.1
    Neutral --> Positive: CMF > 0.1
    Positive --> Neutral: CMF drops below 0.1
    Neutral --> Negative: CMF < -0.1
    Negative --> Neutral: CMF rises above -0.1
    Positive --> Negative: Sharp reversal
    Negative --> Positive: Sharp reversal

Practical Example

Suppose you have the following for a 5-day period:

  • Day 1: High = 10, Low = 8, Close = 9, Volume = 1000
  • Day 2: High = 11, Low = 9, Close = 10, Volume = 1200
  • ...

Step 1: Calculate MFM for Day 1:

MFM1=(9−8)−(10−9)10−8=1−12=0\text{MFM}_1 = \frac{(9 - 8) - (10 - 9)}{10 - 8} = \frac{1 - 1}{2} = 0

Step 2: Calculate MFV for Day 1:

MFV1=0×1000=0\text{MFV}_1 = 0 \times 1000 = 0

Step 3: Calculate CMF over 5 days:

  • Sum MFV = ...
  • Sum Volume = ...
  • CMF = Sum MFV / Sum Volume
DayHighLowCloseVolumeMFMMFV
11089100000
2119101200......
.....................

Implementation & Backtesting Notes

  • Data hygiene: Use consistent price and volume sources; avoid look-ahead bias.
  • Parameter tuning: Backtest different periods for your asset and timeframe; 20 is a starting point.
  • Risk management: Use CMF with stop-losses and position sizing; avoid trading every signal in choppy markets.
  • Combine with other indicators: CMF is best as part of a system, not standalone.

Comparison: CMF vs. Other Volume/Price Indicators

IndicatorMeasuresOutputBest For
CMFVolume-weighted price pressure-1 to +1Trend confirmation, divergence
OBVCumulative volume by directionLineTrend, volume confirmation
MFIPrice and volume momentum0–100Overbought/oversold, reversals
Accum/DistPrice-volume flowLineAccumulation/distribution
  • CMF is unique in normalizing by total volume, making it robust to volume spikes.
  • OBV is simpler but can be noisy in volatile markets.
  • MFI is more sensitive to overbought/oversold conditions.
  • Accumulation/Distribution focuses on price-volume flow but not normalized.

Glossary

  • Money Flow Multiplier (MFM): Measures where the close falls within the period's range
  • Money Flow Volume (MFV): MFM multiplied by volume
  • CMF: Ratio of MFV sum to total volume over a period
  • Divergence: When price and indicator move in opposite directions
  • Accumulation/Distribution: Buying/selling pressure inferred from price and volume
  • Backtesting: Simulating a strategy on historical data to evaluate performance

References and Further Reading


Indicator Assessment

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

Legend: First bar (teal) = Equities/Forex | Second bar (red) = Cryptocurrency

Dimension Explanations

DimensionEquities/ForexCryptoRationale
Popularity76Well-established indicator from Marc Chaikin. Available on most platforms. Less common in crypto-native tools.
Reliability75Effective when volume data is accurate. Crypto volume data can be fragmented or unreliable (wash trading, fragmented exchanges).
Complexity55Requires understanding of MFM, MFV, and volume weighting. Moderate learning curve.
Versatility77Works across all liquid markets with reliable volume data. Useful for trend confirmation and divergence.
Recent Interest67Steady interest in traditional markets. Growing adoption in crypto as traders seek volume-based confirmation.

For best results, use CMF with other indicators, robust risk management, and always backtest your strategy before live trading.

Rendering diagrams...
© 2026 WanoLabs. All rights reservedAlpha build v0.1.5