Price tells you where a stock closed. Volume tells you how many shares changed hands getting there. The chaikin money flow indicator tries to join the two into one number: was the volume over the last few weeks mostly coming in near the top of each day’s range, or near the bottom? If you’ve ever watched a stock grind higher on thin, half-hearted closes and wondered whether the move had any real buying behind it, this is the sort of tool built for that question.
We’ll go through where the indicator comes from, the formula line by line, a worked example with made-up numbers you can check on a calculator, the signals traders actually use, and the two situations where it quietly misleads you. The definitions here follow StockCharts’ ChartSchool entry on Chaikin Money Flow and Fidelity’s technical indicator guide. If indicators are new to you, our guide to technical analysis for Indian stocks is a better first stop.
In this article
Where the Chaikin Money Flow indicator comes from
The indicator was developed by Marc Chaikin, who also built the Accumulation Distribution Line and the Chaikin Oscillator. All three start from the same raw ingredient, something called Money Flow Volume. The difference is what each one does with it.
- Accumulation Distribution Line keeps a running total of Money Flow Volume forever. It never resets, so it’s a cumulative line.
- Chaikin Oscillator takes that cumulative line and subtracts its 10-day exponential moving average from its 3-day exponential moving average, much like MACD does with price. Investopedia’s Chaikin Oscillator page sets out that formula.
- Chaikin Money Flow (CMF) skips the running total. It adds up Money Flow Volume over a fixed look-back window, usually 20 or 21 sessions, and divides by the total volume in that same window.
That last step matters more than it looks. Because CMF only ever looks at a fixed window, old data drops out. A stock that was heavily sold three months ago doesn’t carry that baggage into today’s reading. The result swings above and below a zero line like an oscillator, which makes it easy to read at a glance.
People mix these three up, but they’re different indicators. If your charting platform shows a line that’s built from 3-day and 10-day averages, you’re looking at the oscillator, not money flow.
The CMF formula, step by step
There are three steps, and each is simple on its own.
Step 1: the Money Flow Multiplier. For every session, work out where the close sits inside that day’s high-low range:
Multiplier = [(Close − Low) − (High − Close)] / (High − Low)
If the stock closes right at the high, the multiplier is +1. Close at the low and it’s −1. A close exactly in the middle of the range gives zero. Anything in the upper half of the range is positive and anything in the lower half is negative.
Step 2: Money Flow Volume. Multiply the day’s volume by that multiplier. A close near the high means most of the day’s volume gets counted as buying pressure. A close in the middle means very little of it counts either way. Only at the extremes of +1 or −1 does the full volume pass through.
Step 3: the ratio. Add up Money Flow Volume for the last n sessions and divide by the total volume for those same n sessions. Fidelity writes the whole thing as:
CMF = n-day sum of [((C − L) − (H − C)) / (H − L) × Volume] / n-day sum of Volume
Fidelity gives 21 days as the standard period. StockCharts says 20 or 21 is typical and uses 20 as its default setting. On daily NSE charts the gap between the two is a single session, so don’t lose sleep over which one your platform picks.
The output can only sit between −1 and +1. In practice it almost never gets there. StockCharts points out that a 20-day CMF would need 20 consecutive closes right on the high to hit +1, and says the indicator usually moves between −0.50 and +0.50.
CMF doesn’t care how far a stock moved from yesterday’s close. It only asks where today’s close landed inside today’s range, and how much volume came with it.
A worked example on a hypothetical NSE stock
Let’s run the numbers on an imaginary stock, call it XYZ Ltd. These are example figures, not real market data. To keep the arithmetic short we’ll use a 5-day window instead of the usual 20 or 21. The method is identical; only the length changes.
| Day | High (₹) | Low (₹) | Close (₹) | Volume | Multiplier | Money Flow Volume |
|---|---|---|---|---|---|---|
| 1 | 520 | 500 | 518 | 2,00,000 | +0.80 | +1,60,000 |
| 2 | 525 | 510 | 512 | 1,50,000 | −0.73 | −1,10,000 |
| 3 | 530 | 512 | 527 | 3,00,000 | +0.67 | +2,00,000 |
| 4 | 528 | 515 | 521.50 | 1,00,000 | 0.00 | 0 |
| 5 | 535 | 520 | 533 | 2,50,000 | +0.73 | +1,83,333 |
Take Day 1. The close of ₹518 is ₹18 above the low and ₹2 below the high. So the multiplier is (18 − 2) / 20 = 0.80, and 0.80 × 2,00,000 shares gives Money Flow Volume of +1,60,000.
Day 2 is the opposite. The stock closed at ₹512, only ₹2 off the low and ₹13 below the high. That’s (2 − 13) / 15, or about −0.73, which turns 1,50,000 shares into −1,10,000.
Day 4 is the neat one. ₹521.50 is exactly halfway between ₹515 and ₹528, so the multiplier is zero and the whole day’s volume counts for nothing.
Now add it up. Money Flow Volume over the five days is 1,60,000 − 1,10,000 + 2,00,000 + 0 + 1,83,333 = 4,33,333. Total volume is 10,00,000. So the 5-day CMF is 4,33,333 / 10,00,000, roughly +0.43. That’s a strong reading. Four of five sessions closed in the upper half of their range, and the biggest-volume day, Day 3, was one of them.
What happens when the window rolls forward
Here’s where it gets interesting. Say Day 6 brings a new high of ₹540, but the stock fades and closes at ₹524, with the low at ₹522. Volume jumps to 4,00,000 shares.
The multiplier is (2 − 16) / 18, about −0.78. Money Flow Volume for the day is about −3,11,111. Day 1 now drops out of the 5-day window, taking its +1,60,000 with it.
The new sum is 4,33,333 − 1,60,000 − 3,11,111 = about −37,778. Total volume becomes 10,00,000 − 2,00,000 + 4,00,000 = 12,00,000. CMF falls to roughly −0.03.
Look at what just happened. The price chart shows a fresh high. A casual glance says the trend is fine. But one heavy session that closed near its low was enough to wipe out the whole positive reading. That’s the kind of disagreement between price and money flow the indicator exists to surface. Whether it means anything is a separate question, which brings us to signals.
How traders read CMF signals
Positive or negative territory
The simplest read is which side of zero CMF sits on. StockCharts describes a positive reading as buying pressure and a negative one as selling pressure. Fidelity frames it as strength above zero and weakness below. The useful bit is using this to question the price trend. A rising stock with positive CMF has volume backing it. A rising stock with negative CMF is going up without much conviction at the close, and we’d want to know why.
Zero-line crosses, with a buffer
A cross above zero suggests buying pressure has taken over, and a cross below suggests the reverse. The catch is that CMF often pokes just past zero and then falls back. StockCharts calls these whipsaws and suggests a simple filter: treat it as bullish only above +0.05 and bearish only below −0.05. In its Freeport-McMoRan example from 2010, the raw zero line was crossed at least 10 times between February and December, and the buffer cut that down to three signals. They came later, but there were far fewer false starts.
Apply that to our XYZ example. Day 6’s reading of −0.03 is inside the buffer. With the ±0.05 rule, it’s a warning, not a sell signal. Plenty of traders would wait for one more session before reading anything into it.
Confirming a breakout
Fidelity’s suggestion is practical: when price breaks through resistance, wait for CMF to be positive before trusting the move. A breakout on negative money flow means the stock is clearing a level while most of the recent volume has been landing in the lower half of each day’s range. That’s not a great sign. It fits neatly alongside the rules in our piece on volume confirmation in trading, since CMF is basically a more detailed way of asking whether volume agrees with price.
Divergences
Fidelity describes a sell signal as price making a higher high while CMF makes a lower high and starts to fall, and a buy signal as price making a lower low while CMF makes a higher low and starts to rise. StockCharts adds an important caveat. A bullish divergence while CMF is still below zero only shows less selling pressure. It takes a move into positive territory to show actual buying pressure. So a divergence is a heads-up, and the zero line is the confirmation.
A bullish divergence below zero tells you the sellers are tiring. It doesn’t tell you the buyers have arrived.
Where the Chaikin Money Flow indicator misleads you
Gap days
This is the big one. It shows up on results days and after big overnight news, when a stock can open well away from the previous close. The multiplier only looks at the close relative to the day’s own high and low. It ignores yesterday’s close entirely.
Picture XYZ closing at ₹600 one day, then gapping down on poor results. The next session trades between ₹565 and ₹580 and closes at ₹578 on 5,00,000 shares. The stock is down about 3.7% on the day. But ₹578 sits near the top of that day’s range, so the multiplier is (13 − 2) / 15, about +0.73. Roughly 3,66,667 shares get counted as positive money flow. CMF goes up on a day the stock fell sharply.
StockCharts shows exactly this with a Clorox chart, and the reverse with Travelers gapping up, closing near its low and dragging CMF down despite a higher close. The fix isn’t complicated. On any big gap day, look at the price chart before you trust what CMF just did.
Choppy, trendless stocks
CMF works best when a stock has some kind of trend. In a stock that swings around without direction, it flips back and forth across the buffer lines and throws out signal after signal. StockCharts’ example is P.F. Chang’s, which produced 18 crosses above +0.05 or below −0.05 in its sample. Their advice is blunt: for that kind of stock, use a different indicator.
A note on circuit days
One quirk worth thinking about on NSE stocks: if a stock opens at its circuit limit and never moves, the high and low are the same price. The multiplier’s denominator becomes zero and the formula has no answer for that day. Check how your charting platform handles it before you trust the reading around such sessions.
Putting CMF to work on NSE charts
CMF works better as a second opinion than as a trigger. StockCharts recommends pairing it with a pure price oscillator such as MACD or RSI, and says it shouldn’t be used alone. That’s how we’d use it too.
A workable routine looks something like this:
- Start with the price trend. Is the stock making higher highs and higher lows, lower highs and lower lows, or neither? If it’s neither, CMF is likely to whipsaw, as noted above.
- Check which side of the buffer CMF sits. Above +0.05 supports an uptrend, below −0.05 supports a downtrend, and anything in between is noise.
- Use it to vet breakouts. A move through resistance with CMF above +0.05 is worth more attention than one with CMF below zero.
- Look for divergences near extremes. A new high on falling CMF is a reason to tighten a stop, not necessarily to exit.
- Scan for gaps. Any recent gap day can distort the window for the next 20 or so sessions until it rolls out.
StockCharts also suggests plotting two CMF lines of different lengths, such as 20 and 60 days, on the same chart. When both are positive, money flow is strong over both the short and the longer window. That’s a tidy way to separate a short burst of buying from a trend with real staying power. If you want a sense of where volume actually traded rather than where it closed, volume profile trading answers a related but different question.
CMF compared with its relatives
| Indicator | What it does with Money Flow Volume | How it’s read |
|---|---|---|
| Accumulation Distribution Line | Running total, never resets | Direction of the line over time |
| Chaikin Oscillator | 3-day EMA minus 10-day EMA of the running total | Momentum of accumulation, above or below zero |
| Chaikin Money Flow | Sum over 20 or 21 sessions, divided by total volume | Level between −1 and +1, usually −0.5 to +0.5 |
The plain version: if you want a single bounded number that tells you whether recent closes and volume lean bullish or bearish, CMF is the one. It’s simple enough that you can sanity-check it by hand, as we did above, and that alone puts it ahead of a lot of black-box indicators.
Just remember what it’s really measuring. It’s a summary of where stocks closed within their own daily ranges, weighted by volume. It knows nothing about gaps, news or the wider market. Used with that in mind, it’s a sharp little filter. Used as a buy-sell button, it’ll trip you up on the very days that matter most.
Disclaimer: This article is for information and education only and is not investment advice or a recommendation to buy or sell any security. The Chaikin Money Flow formula, default periods, signal rules and examples are summarised from StockCharts’ ChartSchool, Fidelity’s technical indicator guide and Investopedia’s Chaikin Oscillator page. XYZ Ltd and all its prices and volumes are hypothetical example data, and the calculations are our own arithmetic. Technical indicators can and do give false signals, so consult a SEBI-registered investment adviser before making investment decisions.

Leave a Reply
Join the conversation
Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.
Sign up to comment Log in