Category: Investing Insight

Investing insight to make you a better investor.

Trending Momentum

Can a simple moving-average be used to time momentum indices? Returns from 2010 through 2015 of NIFTY MIDCAP150 MOMENTUM 50 TR and NIFTY200 MOMENTUM 30 TR under different SMA strategies look like this:

It appears the moving averages with short lookbacks can at least help reduce drawdowns, if not boost returns. If you pick the “best” config from the dataset and apply it across data from 2016 through 2022, it looks promising.

Should expect trend returns to be much lower after incorporating taxes and transaction costs but the lower drawdowns merit a closer look.

Given how our trend-midcap strategy has performed, we expect trend effects to be stronger in midcap-momentum than in the largecap version.

Code and charts: github

Volatility and Returns of Momentum Indices

The standard deviation over 200-days and future 20-day returns from 2010 through 2015 of NIFTY MIDCAP150 MOMENTUM 50 TR and NIFTY200 MOMENTUM 30 TR looks like this:

Can historical volatility, as measured by standard deviation, be used to enter and exit momentum strategies?

On a rolling basis, there doesn’t seem to be a strong correlation between historical volatility and future returns. Back-tests over this period might give you a config that might look like it works but it is probably a fluke.

Given that liquid ETFs for these indices are not available and we are stuck with index funds for the foreseeable future, we setup a back-test to calculate the 200-day std. dev. at the end of each month to decide whether to hold it for the next month. Needless to say, the results were pretty lackluster.

We chose the 2010-2015 period because it avoids the 2008 crash and the subsequent recovery. The back-tests look phenomenal when you include that data but we wanted to see how such a strategy would perform in “normal” markets before stress-testing it. We don’t want to be the generals always fighting the last war.

Code & charts: github

Related:

Adventures in Pattern Matching, Part I

Hypothesis: If a price segment is similar to a set of historical segments, then there should be a correlation between historical and future returns.

Setup: Take 60-minute segments of 1-minute bars. Match them with 200 of the most recent days’ with times aligned. Take the top 40 days with the closest match and calculate their median next 30-minute returns. Plot the median vs. actual.

Simplifications:

  1. Non-overlapping segments. Its can be argued that patterns don’t start and stop and perfectly aligned boundaries.
  2. Most-recent 200 day look-back period. What if that’s not enough? Or too much?
  3. 30-minute prediction. Too short? Too long?

Verdict: There is no discernable relationship.

Code: github

Related: Euclidean Distance for Pattern Matching

Volume Clock, Candles

Our previous post showed how a chrono-clock frequency can be translated into a volume-clock frequency. The aggregated High-Low price data looks very similar to a candle-stick chart.

The difference between the high and the low on each “candle” of the longest living contract doesn’t vary a lot between the two clocks.

The distribution is based on a month’s worth of streaming data. As we accumulate more data points, it is likely that the divergence between the Chrono-Clock and the Volume-Clock increases.

Volume Clock, picking an Interval

In our brief intro to the volume clock, we showed how you use a volume based aggregation to match the sampling frequency with information flow frequency. To further expand on that intuition, lets say that as a trader, you are used to watch the 5-minute chart. However, when markets turn volatile, you reach for the 1-minute or sometimes even the 30-second chart. Why is that?

In liquid futures markets like the NIFTY, volatility is associated with increased volume. A 5-minute window captures quite a wide range of volume.

While, on average, 10000 contracts get traded in a 5-minute interval, there are times when the market goes “berserk.” This is where the volume-clock begins to make sense. If you fix the volume at 10000, then your aggregation automatically tracks information flow without you having to zoom in and out.

Notice how the width of the window automatically expands and shrinks?

You can choose the volume interval to aggregate based on the current clock frequency that you use to trade.