MFI(资金流量指标)
资金流量指标(MFI,英文全名 Money Flow Index)是相对强弱指标(RSI)和人气指标(OBV)两者的结合。MFI 指标可以用于测度交易量的动量和投资兴趣,而交易量的变化为股价未来的变化提供了线索,所以 MFI 指标可以帮助判断股票价格变化的趋势。
计算方法
1. 先计算 N 日内每天的典型价格(即 TVP),它等于最高价,最低价和收盘价三者的均值。
2. 如果当天的典型价格大于昨天的则定义为流入,反之为流出,流入流出金额为典型价格乘以当天交易量。这样把 N 日内每天结果计算出来,然后再把流出额和流入额分别加总,得到 N 日内的流入总额和流出总额,接着前者除以后者,大于 1 则 N 日内的资金为流入,反之为流出。V 就是代表这个比值。
3.MFI=100-[100/(1+V)]
参数 N 一般设为 14 日。
指标参数:
y |
MFI 输出列 |
n |
时间周期,如 14 |
函数代码:
A |
B |
|
1 |
func MFI(A,$y,n) |
=A.derive@o(:mfi_tvp,:mfi_pv,:mfi_nv,:mfi_v) |
2 |
=A.run((最高 + 最低 + 收盘)/3:mfi_tvp, if(mfi_tvp>mfi_tvp[-1],mfi_tvp* 成交量,0):mfi_pv,if(mfi_tvp<mfi_tvp[-1],mfi_tvp* 成交量,0):mfi_nv,sum(mfi_pv[1-n:0])/sum(mfi_nv[1-n:0]):mfi_v) |
|
3 |
=A.run(100*mfi_v/(1+mfi_v):${y}) |
|
4 |
=A.alter(;mfi_tvp,mfi_pv,mfi_nv,mfi_v) |
将函数保存在 indicator.splx 中。
举例:调用脚本计算浦发银行 2024 年的资金流量指标 MFI,n 取 14。。
A |
B |
|
… |
… |
|
5 |
=call@f("indicator.splx") |
登记脚本中的函数 |
6 |
… |
计算出源数据 |
7 |
=A6.derive(:MFI) |
增加要返回的指标字段 |
8 |
=MFI(A7,MFI,14) |
调用函数计算指标 |
运行效果: