MFI 资金流量指标到底在算什么?一文讲透它的统计逻辑
很多人第一次看到 MFI(Money Flow Index,资金流量指标)时,会把它理解成“看资金进出的指标”,于是默认它读的是某种真实的资金流水数据。这是个常见误解。MFI 使用的是公开行情数据——最高价、最低价、收盘价、成交量——通过一套固定的统计规则,把价格位置和成交活跃度合成一个 0 到 100 之间的数值。理解了这个统计逻辑,你才知道 MFI 的数值到底在描述什么、什么时候它会失灵。
一、MFI 的四步统计链条:从一根K线到一个数值
MFI 的计算可以拆成四个连续环节,每一步都只依赖前一步的结果,链条清晰、可复现。这也是它常被称作“带成交量的 RSI”的原因。
第一步:求典型价格(Typical Price)
每一根K线先折算成一个代表价位,公式为:(最高价 + 最低价 + 收盘价)÷ 3。之所以取三价均值而不是直接取收盘价,是为了让单根K线内的价格波动区间也被纳入统计——一根收盘价居中但振幅很大的K线,和一根几乎不动的K线,典型价格相近,但后一步的成交量权重会让它们区分开来。
第二步:求原始资金流(Raw Money Flow)
原始资金流 = 典型价格 × 成交量。这一步是 MFI 与 RSI 拉开差距的关键:它把“价格所处的位置”和“这根K线的成交规模”绑定在一起。成交越大,同样的价格位置贡献的权重越高。
第三步:按价格涨跌拆成正值与负值
比较本根K线的典型价格与上一根的大小关系,分为三种情况:
- 典型价格高于上一根:本根原始资金流计入“正值资金流”(Positive Money Flow)。
- 典型价格低于上一根:本根原始资金流计入“负值资金流”(Negative Money Flow)。
- 典型价格等于上一根:这一根不参与正负累加,归零处理。这一条在横盘窄幅震荡中会频繁触发,是很多人复算结果对不上软件数值的直接原因。
第四步:求资金流比率与 MFI 值
在设定的统计周期 N 内(默认通常取 14),分别把正值资金流和负值资金流累加,得到两个窗口和。资金流比率 = N 周期正值资金流之和 ÷ N 周期负值资金流之和;再代入 MFI = 100 − 100 ÷(1 + 资金流比率),最终落在 0 到 100 的闭区间内。
这个公式的结构值得注意:当 N 周期内几乎没有负值资金流时,比率趋于无穷大,MFI 趋近 100;反之趋近 0。所以 MFI 本质是一段窗口内“涨向成交额”与“跌向成交额”的比例关系,而不是绝对金额。它衡量的是力量对比,不是资金规模。
二、MFI 和 RSI 差在哪:一个成交量权重问题
把两个指标的公式并排放,差别一目了然:RSI 用的是上涨幅度与下跌幅度之比,价格之外的维度一概不参与;MFI 用的是带成交量加权的资金流之比。因此同样一段上涨行情,RSI 只关心涨了多少,MFI 还会追问“这段涨幅是在多重的成交中完成的”。
| 对比维度 | MFI | RSI |
|---|---|---|
| 输入数据 | 典型价格 + 成交量 | 收盘价 |
| 拆分依据 | 典型价格的环比方向 | 收盘价的环比方向 |
| 取值范围 | 0–100 | 0–100 |
| 对数据完整度要求 | 必须有有效成交量 | 仅需价格 |
这个差异带来一个非常实际的限制:MFI 只对有真实成交量数据的标的有效。外汇现货市场是场外分散报价,没有统一的成交量统计口径,很多交易软件里外汇品种的 MFI 要么不可用,要么取的是报价商的成交笔数(tick volume),与股票市场的“成交量”含义并不等同。所以在跨资产对比 MFI 数值大小本身意义有限,同品种自身的历史纵向比较才有参考价值。
三、统计逻辑决定了它只该这样读
既然 MFI 是一段窗口内成交额方向比重的映射,它的解读就必须锚定“窗口”和“比重”这两个前提。
阈值是相对的,不是绝对的。常见的 80 以上、20 以下的划分只是约定俗成的起点。在单边趋势中,MFI 可以在 80 上方停留很长时间——这不是统计逻辑出错,而是窗口内涨向成交额持续压倒跌向成交额的自然结果。把阈值机械套用到所有品种、所有周期,是最常见的误用。
背离来自权重变化,不来自价格本身。价格创新高而 MFI 没有同步创新高,意味着这段新高是在相对更轻的成交中完成的,或者窗口内的跌向资金流占比回升了。这提供的是“参与强度是否跟上价格”的线索,而不构成对后续走势的断言。理解背离的成因,比记住“顶背离看跌”的口诀更有用。
周期 N 改变的是灵敏度,不是结论。把 N 调小,窗口变短,数值对近期成交变化更敏感,波动和假信号同步增多;调大则数值平滑,但反应滞后。同一段行情用 7 周期和 21 周期会得到完全不同的读数,这属于参数效应,不是指标互相矛盾。
四、想自己复算,先避开这几个坑
- 首根K线没有“上一根”,无法判定方向,通常直接跳过,导致第一个有效 MFI 读数出现在第 N+1 根而不是第 N 根。
- 典型价格相等时是否归零处理,不同软件实现存在差异,复算时务必按所用软件的规则对齐。
- 成交量单位不一致(手数与股数、张数与吨数)不影响 MFI 数值,因为比值运算会抵消量纲,但不要拿不同单位的原始资金流去横向比大小。
- 停牌、跳空、换月合约的数据缺口会污染窗口求和结果,做品种对比前先确认数据连续性。
常见问题速答
Q:MFI 的数值能说明具体有多少资金流入吗?
A:不能。它是无量纲的相对比率,0 到 100 只反映窗口内成交额方向分布,不指向任何金额规模。
Q:为什么同一时刻两个软件显示的 MFI 不一样?
A:大概率是数据源(成交量口径)、N 值、或典型价格相等时的处理规则不同,三者任何一个不一致都会产生偏差。
Q:外汇品种适合看 MFI 吗?
A:需要谨慎。场外市场缺乏统一成交量口径,软件取用的往往是成交笔数替代值,其统计含义与股票成交量不同,解读时应降低权重。
Q:MFI 超过 80 就一定意味着价格偏高吗?
A:只是统计意义上“涨向成交额占压倒性比重”。趋势行情中它可以长期维持高位,阈值判断必须结合所处市场状态。
判断标准回顾
检验自己是否真的掌握了 MFI 的统计逻辑,可以问四个问题:我能否不看资料说清典型价格、原始资金流、正负拆分、窗口求和这四步的顺序?我是否知道 MFI 衡量的是比重而非金额?我用的品种是否有真实且口径一致的成交量数据?我设置的 N 值与当前分析的时间尺度是否匹配?这四个问题答得清楚,MFI 就不会被当作一个含义模糊的“神奇数值”来使用。
本文内容仅供参考,不构成任何建议。








