Home Trading strategies Chande Momentum Oscillator Trading Strategy – Setup, Rules, Python Backtest

Chande Momentum Oscillator Trading Strategy – Setup, Rules, Python Backtest

There are countless technical indicators that traders look at. Among the most popular that try to gauge momentum are the RSI and the stochastic indicator. However, today, we will learn about one that is not so well-known: Chande momentum oscillator (trading strategy).

The Chande momentum oscillator is a technical indicator that measures momentum through the daily value change in the security. But the question arises: Can a profitable strategy be developed using it?

In this article, we are going to look at what the Chande momentum oscillator is, how to calculate it, and backtest a trading strategy using Python to see whether it is profitable or not.

Related reading:

What is the Chande Momentum Oscillator?

The Chande momentum oscillator is a technical indicator similar to the RSI and stochastic indicator, introduced by Tushar Chande in his 1994 book The New Technical Trader. It measures momentum in both the up days and down days.

The indicator oscillates between +100 and -100, and triggers oversold signals when under -50 and overbought signals when over +50. It is also possible to add a moving average to the indicator to act as a signal line.

How to Calculate The Chande Momentum Oscillator

The Chande momentum oscillator is pretty easy to calculate. Here is a step-by-step guide to how to do it:

Chande Momentum Oscillator = ((UP – DOWN) / (UP + DOWN)) * 100

  1. Determine the change between the closing price of the current period(i) and the preceding one(i-1). 
  2. When the change is a positive value, add it to the cumulative total of up days (UP) within the designated time frame. 
  3. Conversely, if the change is negative, include its absolute value(positive) in the cumulative total of down days (DOWN) over the specified interval. 
  4. To compute the Chande Momentum over the prescribed period, calculate the difference between UP and DOWN and divide it by the combined overall movement (UP + DOWN).
  5. The result is expressed as a percentage, so multiply it by 100.

Chande Momentum Oscillator – trading rules

We are going to backtest a trading strategy using the Chande momentum oscillator for a 9-day period (this is the most used timeframe).

The trading rules are the following:

  • We buy when the Chande momentum oscillator is under -50
  • We sell either when the oscillator crosses above 50 or 5 days after the buy signal was triggered

Chande Momentum Oscillator – backtest

We backtested the trading strategy using the SPY ETF. The data is adjusted for dividends. Here is the equity curve for our Python backtest:

The returns don’t look appealing at first, but here are some good metrics and performance statistics about the strategy:

  • CAGR is 4.19% (buy and hold 9.90%)
  • Time spent in the market is 15.63%
  • Risk-adjusted return is 26.80% (CAGR divided by time spent in the market)
  • Maximum drawdown is -34.63% (-55.19%)

As you can see, the oscillator works better than we imagined by just looking at the equity curve. Because it is invested so little time, the risk-adjusted return is very high, and the drawdown is much lower than buy and hold. 

It is also important to note that we put a 5-day maximum holding period because we noted that it worked pretty well. However as we increased the holding period to 10, 15, and 30 days, the returns of the strategy decreased.

Chande Momentum Oscillator – conclusion

To sum up, the Chande momentum oscillator can be used to develop a profitable trading strategy. Although there are many ways to do it, today we show you one where, on a risk-adjusted basis, beats buy and hold by a sizable amount. If combined with other indicators and incorporated into a trading system, the potential for the indicator may be more significant than anticipated.