Dual Momentum: NIFTY vs MIDCAP

In Global Equities Momentum, we looked at how toggling between US Equity Momentum and World ex-US Equity Momentum ETFs gave superior returns to buy-and-hold. Can the same framework be applied to toggle between NIFTY 50, MIDCAP 100 and bonds?

Relative Performance

For dual momentum to work, you need the excess returns of the two equity assets to be un-correlated (or very loosely correlated.) Here is the plot of rolling 200-day cumulative returns of the equity indices minus that of the 0-5 year bond total return index:

excess returns of NIFTY and MIDCAP
The line marked RELATIVE is the difference between MIDCAP 100 returns and NIFTY 50 returns.

What we see here is that there is a high degree of correlation between the two when it comes to excess returns over bonds. At the same time, however, the relative performance between the two equity indices tends to be sticky. So, a dual momentum model tuned to sniff out the “regime” should be able to give returns better than buy-and-hold.

For reference, here is how buy-and-hold performed:
buy-and-hold NIFTY/MIDCAP/bonds

Backtest

Over different look-back periods, here is how the dual-momentum strategy worked:
NIFTY/MIDCAP dual momentum over different look-back periods

Over 3- and 4- month look-backs, the model does seem to show higher returns and lower drawdowns than buy-and-hold. But this is probably going to over-fit past data. But what happens if we specify the model to use “any” of the lookbacks? i.e., stay in equities if any of the look-backs signals the NIFTY 50 has out-performed bonds over the same period?

NIFTY 50/MIDCAP 100 dual momentum over any lookback

Here are its worst drawdowns:
drawdowns of NIFTY 50/MIDCAP 100 dual momentum over any lookback

A model setup this way has lower drawdowns and returns that better than NIFTY 50 but lower than that of MIDCAP 100 buy-and-hold. It really just boils down to how much pain you can bear – for those with a lot of testicular fortitude, buy-and-hold MIDCAPs are the best. But for the rest of us mere mortals, this strategy makes sense. And unlike an SMA model that checks for potential trades every day, this one checks only once a month. This keeps transaction costs low for long-term investors.

Code and more charts are on github.

Comments are closed, but trackbacks and pingbacks are open.