CCI vs Money Flow Index
Donald Lambert's commodity channel index divides the gap between typical price and its 20-period mean by 0.015 times the mean deviation, with no ceiling. The money flow index, from Gene Quong and Avrum Soudack, is an RSI-style ratio of rising to falling typical price times volume over 14 periods, fixed from 0 to 100.
These two differ on two counts at once: one has no ceiling and the other is boxed between 0 and 100, and only one of them multiplies by volume. On SPY the volume part turned out to matter most at the bottom of the scale.
What each one is
The CCI is a stretch reading. Donald Lambert’s indicator takes today’s typical price (the high, low and close averaged), finds how far it sits above or below its 20-period mean, and scales that gap by the mean deviation and his constant of 0.015. The commodity channel index walks through it.
The money flow index weighs rising and falling days by dollar volume. StockCharts credits it to Gene Quong and Avrum Soudack and calls it a volume-weighted RSI. Each day’s raw money flow is typical price times volume, counted as positive when the typical price rose and negative when it fell; 14 days of each are summed and turned into a 0 to 100 reading. The money flow index covers it.
So one reads distance and the other reads balance. The CCI asks how far price is from its recent mean, whereas the money flow index asks whether more dollars traded on up days or on down days.
Where they differ
Room at the top. The CCI can print any value; on SPY it reached 310.2. The money flow index cannot leave 0 to 100, though on SPY it never got closer than 95.33.
Whether volume is in the arithmetic. Only in the money flow index. Remove it and the same formula gives a different reading on most days, by a median of 3.53 points on SPY.
How much data quality matters. The CCI needs highs, lows and closes, which every feed has. The money flow index also needs a volume figure that covers the whole market for that instrument.
How long the extremes last. The money flow index went above 80 in 98 separate runs on SPY, and the median run lasted 2 sessions; the longest lasted 13.
Which one to use: CCI or Money Flow Index?
Use the money flow index when volume is real and you want it to count. On a listed fund like SPY the weighting changed the 80/20 call on 230 sessions, so it is adding something price alone does not.
Use the commodity channel index when you trust only price, or when stretch is the question. It needs no volume and has no ceiling, so a strong move keeps registering.
Use the CCI on anything with a partial volume feed. A money flow reading weighted by one venue’s volume looks exactly as finished as a real one.
And when you run both, expect the CCI to be extreme far more often. On SPY the money flow index was above 80 on 303 sessions; the CCI was above +100 on many times that number.
What volume did to SPY’s money flow index
The test. The money flow index was worked out twice for each SPY trading day between 3 January 1994 and 2 October 2026: once as published, and once with every session’s volume set to one, so that only the typical price was left. The difference between the two is what volume did.
Volume changed the reading’s zone on 230 sessions (2.79%). Above 80: 303 sessions with volume, 195 without; 182 sessions were above 80 both ways, 121 only with volume and 13 only without. Below 20: 112 sessions with volume, 16 without, and all 16 were also below 20 with volume.
The low readings came from heavier down days. On the 96 sessions below 20 only because of volume, the average falling day in the 14-session window carried a median of about 1.3 times the shares of the average rising day. The biggest single gap was on 5 July 1994: 72.52 with volume, 38.13 without.
At the extremes the CCI usually agreed. On 235 of the 303 sessions above 80 (77.56%) the CCI was above +100, and on 100 of the 112 below 20 (89.29%) it was below minus 100. The reverse did not hold: on 262 sessions the CCI was above +100 while the money flow index was under 50.
Volume tipped the reading: SPY, 20 April 2026
A recent case: 20 April 2026. SPY closed at $708.72 with the CCI at 128.4. The money flow index read 81.24; without volume it read 78.75. In the 14-session window the typical price rose on 11 days and fell on 3, and the rising days averaged 70.8 million shares against 60.6 million, which was enough to lift the reading over 80.
The original data
The sample. SPY daily prices and share counts from Yahoo Finance, late January 1993 to 2 October 2026, counted from 3 January 1994 once both readings have enough history.
The formulas. From the StockCharts pages for each indicator, checked on 4 October 2026. CCI(20): today’s typical price minus the 20-period simple average, over 0.015 times the average distance of the last 20 typical prices from that same average. MFI(14): raw money flow = typical price x volume, positive when the typical price rose from the prior day, negative when it fell, unused when unchanged; ratio = 14-day positive sum / negative sum; MFI = 100 - 100 / (1 + ratio). TradingView gives the usual levels as 80 and 20.
What is not measured. Nothing here tests what SPY did after any reading, so no level is shown to predict a turn. SPY’s volume is consolidated, so the result says nothing about a feed that covers one venue. The SPY daily CCI and money flow file lists every session’s CCI and both money flow readings.
When it fails
The failure is reading a money flow index under 20 as price being stretched to the downside. On SPY, 96 of the 112 readings under 20 would not have been under 20 without volume. They said the falling days in the window were heavier, which is a statement about shares traded, not about distance from the mean. A trader treating them as an oversold price reading is using the volume part of the indicator without knowing it, and would see the same signal on a day when price had barely moved.
A second failure is waiting for the money flow index to pin at 100. On SPY it never got there.
A third is running both for confirmation. They are built from the same bars.
A fourth is carrying a CCI threshold between markets without checking how often it is crossed there.
And a fifth is trusting volume that covers one venue. The weighting then describes a slice of the trading.
Related
The commodity channel index covers Lambert’s stretch reading. The money flow index covers the volume-weighted ratio. And volume analysis covers whether the volume figure can be trusted.
Check what volume is doing to your money flow reading before you trust a low one. On SPY most readings under 20 existed only because falling days carried more shares, so read them as a statement about volume, not about how far price had dropped.
— Michael Whitman
This page is educational, not financial advice. Test every idea on your own charts before risking money.