Money Flow Index (MFI)

What Is the Money Flow Index (MFI)?

The Money Flow Index (MFI) is an oscillator that uses price and volume to measure buying and selling pressure. Created by Gene Quong and Avrum Soudack, MFI is also known as volume-weighted Relative Strength Index (RSI).

MFI starts with the typical price for each period. Money flow is positive when the typical price rises (buying pressure) and negative when the typical price declines (selling pressure). A ratio of positive and negative money flow is then plugged into an RSI formula to create an oscillator that moves between zero and one hundred. As a momentum oscillator tied to volume, MFI is best suited to identify reversals and price extremes with several signals.

Calculating the MFI

There are several steps involved in the MFI calculation. The example below is based on a 14-period MFI, which is the default setting in SharpCharts and the setting recommended by the creators.

Typical Price = (High + Low + Close)/3

Raw Money Flow = Typical Price x Volume
Money Flow Ratio = (14-period Positive Money Flow)/(14-period Negative Money Flow)

Money Flow Index = 100 - 100/(1 + Money Flow Ratio)

First, notice that Raw Money Flow is essentially dollar volume because the formula is volume multiplied by the typical price. Raw Money Flow is positive when the typical price advances from one period to the next and negative when the typical price declines. The Raw Money Flow values are not used when the typical price is unchanged. The Money Flow Ratio in step 3 forms the basis for the Money Flow Index.

Positive and Negative Money Flow are summed for the look-back period (14) and the Positive Money Flow sum is divided by the Negative Money Flow sum to create the ratio. The RSI formula is then applied to create a volume-weighted indicator. The table below shows a calculation example taken from an Excel spreadsheet.

Click below for the MFI calculation (Excel spreadsheet).

Interpreting the MFI

As a volume-weighted version of RSI, the Money Flow Index (MFI) can be interpreted similarly to RSI. The big difference is, of course, volume. Because volume is added to the mix, the Money Flow Index will act differently than RSI. Theories suggest that volume leads price. RSI is a momentum oscillator that already leads prices. Incorporating volume can increase this lead time.

Quong and Soudack identified three basic signals using the MFI. They are:

  1. Look for overbought or oversold levels to warn of unsustainable price extremes.

  2. Bullish and bearish divergence can be used to anticipate trend reversals.

  3. Failure swings at 80 or 20 can also be used to identify potential price reversals.

In this article, the divergences and failure swings are combined to create one signal group and increase robustness.

Overbought/Oversold

Overbought and oversold levels can be used to identify unsustainable price extremes. Typically, MFI above 80 is considered overbought and MFI below 20 is considered oversold. Strong trends can present a problem for these classic overbought and oversold levels. MFI can become overbought (>80) and prices can simply continue higher when the uptrend is strong. Conversely, MFI can become oversold (<20) and prices can continue lower when the downtrend is strong. Quong and Soudack recommended expanding these extremes to further qualify signals. A move above 90 is truly overbought, and a move below 10 is truly oversold. Moves above 90 and below 10 are rare occurrences that suggest a price move is unsustainable.

Admittedly, many stocks will trade for a long time without reaching the 90/10 extremes. However, you can use the StockCharts.com scan engine to find those that do. Links to such scans are provided at the end of this article.

In the chart below, the MFI moved below 10 in January 2024. The prior decline was sharp enough to produce these readings, but the extreme oversold level suggests the decline was unsustainable.

Oversold levels alone are not reason enough to turn bullish. There needs to be a reversal or upturn to confirm that prices have turned a corner.

In the chart below, MFI was overbought when the MFI moved above 90 in August 2021. Extremes in MFI suggest the advance is unsustainable and a pullback is likely.

After MFI reached an extremely overbought level, the stock price continued to move higher. This was an indication that the upmove was close to exhaustion and the stock price is likely to pull back. You can see from the chart that the stock price pulled back, but went higher while the MFI continued to decline, moving below the 80 level.

MFI dipped below 20 in early 2022 after which the stock price consolidated until late 2023. MFI crossed above 80, hit a peak and then significantly declined.

Divergences and Failures

Failure swings and divergences can be combined to create more robust signals. A bullish failure swing occurs when MFI becomes oversold below 20, surges above 20, holds above 20 on a pullback and then breaks above its prior reaction high. A bullish divergence forms when prices move to a lower low, but the indicator forms a higher low to show improving money flow or momentum.

A bearish failure swing occurs when MFI becomes overbought above 80, plunges below 80, fails to exceed 80 on a bounce and then breaks below the prior reaction low. A bearish divergence forms when the stock forges a higher high and the indicator forms a lower high, which indicates deteriorating money flow or momentum.

In the chart below you see examples of divergences and failures. The blue oval on the left shows the MFI below 20. Even though MFI was oversold, price moved sideways and higher. When MFI crossed above 20 and started to move higher, the price pulled back, MFI held above 20, and went above its past high. This is considered a bullish failure swing.

A bearish divergence formed between March and May. The stock price moved higher but the MFI was forming lower highs.

The Bottom Line

The Money Flow Index is a unique indicator that combines momentum and volume with an RSI formula. RSI momentum generally favors the bulls when the indicator is above 50 and the bears when below 50. Even though MFI is considered a volume-weighted RSI, using the centerline to determine a bullish or bearish bias isn't ideal. Instead, MFI is better suited to identify potential reversals with overbought/oversold levels, bullish/bearish divergences and bullish/bearish failure swings. As with all indicators, MFI should not be used by itself. A pure momentum oscillator, such as RSI, or pattern analysis can be combined with MFI to increase signal robustness.


Using with SharpCharts

The Money Flow Index is available as a SharpCharts indicator that can be placed above, below or behind the price plot of the underlying security. Placing MFI directly behind the price makes it easy to compare indicator swings with price movements. The default setting is 14-periods, but this can be adjusted to suit analysis needs. A shorter timeframe makes the indicator more sensitive. A longer timeframe makes it less sensitive. Users can click the green arrow next to Advanced Options to add horizontal lines for custom overbought and oversold levels. Two lines can be added by separating the numbers with a comma: (10,90).



Suggested Scans

MFI Oversold

This scan searches for stocks that are above $20 per share, trade over 100,000 shares per day and have oversold Money Flow Index (<10). Consider this a starting point for further analysis and due diligence.

[type = stock] AND [country = US] 
AND [Daily SMA(20,Daily Volume) > 40000] 
AND [Daily SMA(60,Daily Close) > 20] 

AND [Daily MFI(14) < 10]

MFI Overbought

This scan searches for stocks that are above $20 per share, trade over 100,000 shares per day and have overbought Money Flow Index (>90). Consider this a starting point for further analysis and due diligence.

[type = stock] AND [country = US] 
AND [Daily SMA(20,Daily Volume) > 100000] 
AND [Daily SMA(60,Daily Close) > 20] 

AND [Daily MFI(14) > 90]

Learn More. For more details on the syntax for Money Flow Index scans, please see our Scanning Indicator Reference in the Support Center.

Further Study

Last updated