The Money Flow Index indicator (MFI) is an oscillator that uses price and volume to measure momentum. It’s also known as a volume-weighted RSI and can be used in a similar way.
In this article I will be testing a strategy that I found on a popular trading website.
Oversold MFI With Pin Bar Strategy
According to an article on TradingSim, an MFI(14) reading of below 20 indicates a stock is oversold and the price will likely increase. If that oversold reading is accompanied with a bullish price action bar (pin bar) “you could have easily placed a BUY order with confidence”.
The rules for this strategy then, is to go long a stock when we get a bullish pin bar candle and MFI(14) is under 20. We will then sell when MFI(14) moves above 80.
I tested this strategy using daily bars on S&P 100 stocks between 1/2000 – 1/2017. I used a position size of $1000 per trade on a starting capital of $50K and recorded the following results and equity curve:
- Net Profit on 50K: $19,675
- Total Return: 39.35%
- Annualised Return (CAR): 1.97%
- Risk Adjusted Return (RAR): 10.09%
- Maximum Drawdown: -30.11%
- CAR/MDD: 0.07
- Win Rate: 69.38%
- # Trades: 454
- Average P/L Per Trade: 4.38%
As you can see, the results of this strategy are not particularly good. Although the win rate and average profit per trade is high, the overall performance is poor and lower than buy and hold (CAR of 4.51% on SPY).
One glimmer of hope, however, would be to use a market timing filter. If it wasn’t for 2008 (where this system lost 17%) performance might have been OK. If you can turn this system off during bad market conditions then it might be worth further research.
What About Intraday?
At this point there is an argument for saying this strategy should be tested on intraday data and not daily data. After all, the website in question provides one example using five minute bars.
I therefore tested this strategy again using the same rules as before but this time using 5-minute bars for IBM stock. Following is an example trade set up that occurred on the 29th February 2016.
You can see that MFI dropped below 20 and we got a pin bar setup just after 12 pm so we went long on the next bar. We then closed the trade when MFI moved above 80 at 10:40 am the next day:
For this test, position size was set at $10,000 per trade and the simulation was run between 1/2000 and 1/2017. The following results and equity curve were recorded:
- Net Profit on 10K: $8,878
- Total Return: 88.79%
- Annualised Return (CAR): 3.81%
- Risk Adjusted Return (RAR): 28.47%
- Maximum Drawdown: -16.01%
- CAR/MDD: 0.24
- Win Rate: 67.28%
- # Trades: 654
- Average P/L Per Trade: 0.14%
At first glance, the results from this strategy are not particularly good either although the risk-adjusted return is OK. What we can say is that it is moderately better than using daily bars.
Actually, this strategy has performed better than the IBM buy and hold return which was 2.57% with max drawdown of -60%.
As usual, it is the case that most articles on the web about technical analysis are based on faith and not backed by any hard evidence. Such articles are usually written in a confident manner and can be quite harmful to readers.
In this case, two theories involving MFI(14) were tested and the results were not very good.
As it happens, MFI is actually a decent indicator and the strategies presented today may have been much better with a few simple adjustments.
In my experience, MFI has a lot of good traits. It is similar to RSI and I recommend users experiment with shorter lookbacks.
Thank You For Reading
Joe Marwood is an independent trader and the founder of Decoding Markets. He worked as a professional futures trader and has a passion for investing and building mechanical trading strategies. If you are interested in more quantitative trading strategies, investing ideas and tutorials make sure to check out our program Marwood Research.
This post expresses the opinions of the writer and is for information or entertainment purposes only. It is not a recommendation or personalised investment advice. Joe Marwood is not a registered financial advisor or certified analyst. The reader agrees to assume all risk resulting from the application of any of the information provided. Past performance, historical or simulated results are not a reliable indicator of future returns and may not account for real world settings. Financial trading is full of risk and margin trading can lead to financial losses totalling more than what is in your investment account. We take care to present accurate analysis but mistakes in backtesting and presenting of analysis regularly occur. Please read the Full disclaimer.
Thank you to everyone who takes the time to leave a comment. Your feedback, constructive criticism and identification of mistakes is welcome. In order to concentrate on work I may not have time to respond to all comments.