MarketInOut Stock Screener Log In | Sign Up

Money Flow Index (MFI)

By MarketInOut · Updated October 30, 2026

The Money Flow Index (MFI) is a momentum oscillator that combines price and volume. It works like RSI, but each day’s move is weighted by the volume traded, so a rise on heavy volume counts for more than the same rise on light volume. It moves between 0 and 100. MFI is generally credited to Gene Quong and Avrum Soudack.

How it is calculated

Typical price  TP = (High + Low + Close) / 3
Raw money flow    = TP x Volume
Positive flow     = sum of raw money flow on bars where TP rose  (N bars)
Negative flow     = sum of raw money flow on bars where TP fell  (N bars)
Money ratio       = Positive flow / Negative flow
MFI               = 100 - 100 / (1 + Money ratio)

The standard period is 14 bars. When most of the volume came on up days, the money ratio is high and MFI approaches 100. When most came on down days, MFI approaches 0. The final step is the same as in RSI; the difference is that MFI sums volume-weighted flows instead of averaging price changes.

How to read it

  • Overbought and oversold. Readings above 80 are traditionally overbought and below 20 oversold. Some traders use 90 and 10 for stronger signals. As with RSI, an extreme reading describes a stretched market, not a reversal.
  • Divergence. MFI’s best-known signal. Price makes a lower low while MFI makes a higher low: selling volume is shrinking at the lows (bullish). Price makes a higher high while MFI makes a lower high: buying volume is not keeping up (bearish).
  • Exits from the extremes. A move back above 20 after an oversold reading, or below 80 after an overbought one, shows the volume-weighted momentum turning.
  • Confirmation. A breakout with MFI rising shows volume behind the move; a breakout with MFI flat or falling is weaker.

Settings and common mistakes

  • Period. 14 is the standard. Shorter periods react faster and reach the extremes more often.
  • Using it on thin volume. MFI depends on volume, so a few unusual days can distort it in illiquid stocks. Apply a liquidity filter first, and avoid it on instruments with no reliable volume, such as spot forex.
  • Assuming it shows who is buying. “Money flow” here is price times volume on up or down days. It does not show whether buyers or sellers started the trades.
  • Selling every reading above 80. In a strong uptrend with steady volume, MFI can stay high for a long time. Check the trend before acting on an extreme.

SPY (S&P 500 ETF), daily, with Money Flow Index MFI(14).

Live chart: SPY (S&P 500 ETF), daily, with Money Flow Index MFI(14). The chart updates every trading day.

Screen for it on MarketInOut

MFI is built into our formula language as mfi(period). Oversold stocks that are still above their 200-day average:

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and price > sma(200) and mfi(14) < 20

Stocks with a bullish MFI divergence, where price made lower lows but MFI made higher lows:

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and mfi(14) div_bull

Related: Relative Strength Index (RSI), On Balance Volume (OBV), Stochastic oscillator.




Disclaimer - Privacy Policy - Terms of Service - Cookies - FAQ - Affiliates - Blog