MFI is RSI with volume baked in. Up-bar money flow uses the bar's volume as the weight for positive readings; down-bar money flow uses volume for negative readings. The result is a 0-100 oscillator similar in shape to RSI but sensitive to volume.
Formula
typical = (high + low + close) / 3
raw_flow = typical * volume
pos_flow = sum of raw_flow on up bars (period)
neg_flow = sum of raw_flow on down bars (period)
ratio = pos_flow / neg_flow
mfi = 100 - 100 / (1 + ratio)Params
period- window for the flow sums. Default 14.
Output
Single column named after your indicator (e.g. mfi).
Common thresholds
| Range | Meaning |
|---|---|
| > 80 | Overbought (stricter than RSI's 70) |
| < 20 | Oversold (stricter than RSI's 30) |
MFI uses tighter thresholds than RSI because volume weighting makes extremes rarer.
Usage
- Mean reversion with volume confirmation: buy
mfi < 20, fademfi > 80. - Trend confirmation: like RSI, sustained readings above 50 support an uptrend.
- Divergence: same pattern as RSI/MACD, not auto-detected.
Pitfalls
Same as OBV and other volume-aware indicators: depends on accurate volume data, and venues with weak or missing volume produce unreliable MFI.
