MFI 资金流量指标:带成交量的 RSI

青 青柠量化
2026-10-16
MFI信号:牛市超卖回升超额为负,熊市超卖回升超额大幅为正。

一句话结论:MFI(14) 超卖回升(穿越20线)在牛市超额−0.46%、熊市超额+3.42%,完全相反。MFI<30 持有是本系列(第41–47课)成交量指标里唯一一个扣成本后超额为正(+0.10%)的信号,但样本期仅一年,不能过度解读。

MFI 是带成交量权重的 RSI——计算框架和 RSI 相同(第25课),区别是把价格动量乘以成交量,让"大成交量的涨跌"比"小成交量的涨跌"权重更高。

MFI信号:牛市超卖回升超额为负,熊市超卖回升超额大幅为正。
MFI信号:牛市超卖回升超额为负,熊市超卖回升超额大幅为正。

一、原理与公式

第一步:计算典型价格

$$Typ_t = \frac{H_t + L_t + C_t}{3}$$

第二步:计算资金流量

$$MF_t = Typ_t \times V_t$$

若 \(Typ_t > Typ_{t-1}\),则为正资金流(Positive Money Flow);否则为负资金流。

第三步:14日正负资金流之比

$$MFR = \frac{\sum_{14}PMF}{\sum_{14}NMF}$$

第四步:转化为0-100的振荡器(和RSI公式完全相同)

$$MFI = 100 – \frac{100}{1 + MFR}$$

MFI 范围 0–100;超卖阈值:20(严格)或 30(宽松);超买阈值:80(严格)或 70(宽松)。原作者建议极端值 10/90 才是"真正"的超买超卖。


二、MFI 和 RSI 的区别

对比项RSIMFI
价格方向用价格涨跌幅用 Typ = (H+L+C)/3 的涨跌方向
成交量不考虑乘以成交量作为权重
直觉价格动量资金动量:大量成交的涨/跌更重要
参数默认14日默认14日(相同)
阈值70/30 常见80/20 常见

大成交量的涨/跌日在 MFI 中权重更高,理论上对机构大单更敏感。但实际中 A 股成交量噪声多,这个优势是否显著需要数据验证。


三、青柠数据实验

股票池:全A股(排除ST、北交所),后复权,近一年(2025-10-15 至 2026-10-16,共 244 交易日,4,980 只股票)。信号日收盘确认,次日开盘买,持有20日。超额 = 个股收益 − 同日全部股票平均。

三个信号汇总

信号信号次数20日收益胜率20日超额扣0.15%成本
MFI穿越20线(超卖回升)10,706+0.36%46.4%−0.13%−0.28%
MFI < 30(宽松超卖持有)111,837+0.60%46.2%+0.25%+0.10%
MFI穿越80线(超买回落)14,898+0.08%42.6%+0.23%+0.08%

MFI<30 持有的 +0.25% 超额是本章(第41–47课)成交量指标里唯一扣成本后为正的信号,但信号次数 11 万次,平均每天每只股票都可能触发,选股区分度有限。

牛熊市拆分(MFI穿越20线)

市场环境信号次数20日收益胜率20日超额扣成本
牛市(HS300 > MA250)9,357−0.39%44.3%−0.46%−0.61%
熊市(HS300 < MA250)1,349+8.34%68.7%+3.42%+3.27%

结果截然相反。牛市中 MFI 触及超卖的股票,往往是强势市场里的弱势股("掉刀子"),持有后继续下跌。熊市中触及超卖的信号,反而对应均值回归,20日后大幅反弹。

注意:熊市样本只有 1,349 次,数据期仅一年,请勿过度解读。


四、常见误区

「MFI 超卖就是买点」

近一年牛市中,MFI 穿越20线后 20 日超额−0.46%。超卖在趋势强的市场意味着这只股票相对更弱,不是均值回归信号。

「MFI 比 RSI 更准」

两者框架相同,MFI 加了成交量权重。本课近一年 A 股中,MFI 超卖信号(10,706次)比 RSI(14)<30 同口径信号(第25课,约15,000次)表现类似,没有显著优势。

「超买到80就该卖」

MFI 穿越 80 线回落信号(超买回落)近一年超额+0.23%——反而略正,说明超买后持续强势的概率高于均值回归。不要把超买当做反手卖出信号。

「MFI < 10 才是真正的超卖(极端信号)」

原作者 Quong & Soudack 建议用 10/90 作为极端阈值,但极端信号很少出现。一年内 MFI<10 的次数远少于 MFI<20,统计上样本不足,本课不单独展示。


五、在青柠中实操

  1. 1. 在指标列表中搜索「MFI」,参数默认14日、阈值 20/80。
  2. 2. 用数值比较组件:「MFI 上穿 20」实现超卖回升筛选。
  3. 3. 建议配合大盘判断:熊市环境下(第53课)才开启 MFI 超卖买入;牛市中改用趋势跟踪信号。
  4. 4. MFI<30 的持仓策略适合用作剔除条件的反面——MFI>70 的股票相对强势,可以在趋势策略中优先选择。
策略库回测 · 沪深A股 · 近 1 年日 K · 默认参数 更新于 2026-09-11 19:02 · 每日重算
# 策略 类型 年化收益 夏普 最大回撤 胜率 评级
01 左侧趋势抄底·急跌收阳 趋势 +1.3% 0.85 16.4% 83% A 导入复现
02 MACD金叉死叉 趋势 +0.9% 0.08 20.8% 35% PRO 导入复现
03 RSI超买超卖 震荡 +0.8% 0.23 30.8% 45% PRO 导入复现

更多策略可以在青柠策略市场查看。


六、下一课和相关课程

下一课(第47课):VR 成交量比率,更简单直接——只看涨日成交量和跌日成交量的比值,不涉及典型价格计算。

相关课程:


常见问题

MFI 和 CMF 都和资金流相关,有什么区别?

CMF(第45课)用的是 A/D Line 里的 CLV 来计算资金流向,衡量"收盘在K线内的位置";MFI 用典型价格 Typ=(H+L+C)/3 判断方向,然后乘以成交量计算正负资金流比率。本质上 CMF 是振荡指标,MFI 是类 RSI 振荡指标,两者计算思路和值域不同。

为什么 MFI<30 的信号比 MFI 穿越 20 多得多?

MFI穿越20是"动作",当日刚从20以下回升才触发,一年只触发约10,700次。MFI<30 是"持续状态",只要 MFI 处于30以下每天都算一次信号,因此 11 万次要多得多。

一字板涨停时 Typ = C = H = L,MFI 怎么处理?

一字板时 Typ 保持不变,MFI 不会变化(当日归入正资金流或负资金流取决于前一日的 Typ),信号不失真,但也没有额外信息。


口径说明

股票池为全 A 股,排除 ST(按当前名称)和北交所,剔除未复权收盘价低于 3 元的股票,价格后复权。信号期 2025-10-15 至 2026-10-16,共 4,980 只股票、244 个交易日。MFI(14):Typ=(H+L+C)/3,MF=Typ×V,PMF=14日正资金流总和(Typ≥前日Typ时为正),NMF=14日负资金流总和,MFI=100×PMF/(PMF+NMF);需满14根K线。MFI穿越20:前日MFI<20,当日MFI≥20。MFI<30:当日MFI低于30(持续状态信号)。MFI穿越80:前日MFI>80,当日MFI≤80。牛熊:沪深300收盘相对MA250,需满250日方判定。信号日收盘确认,次日开盘买入,持有至第20日收盘;次日一字涨停剔除。超额收益 = 信号股票收益 − 同日股票池全部股票同口径平均。个股每笔来回成本 0.15%。历史统计不代表未来表现,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。