Tag: quant

Sector Momentum

Previously, we had looked at using the momentum of S&P 500 Sector SPDRs for potential rotation strategies. How would the Indian story unfold?

We take 16 sector indices, use a 6-month look-back window and go long the sector with the highest returns, holding it for a month.

You end up with higher returns but lower Sharpe – makes sense given the super-concentrated nature of the portfolio.

The 4 points of out-performance (after costs, pre-tax) over the NIFTY 100 index is not much to write home about. Besides, this strategy trailed the benchmark pre-2020. If this were pitched back then, nobody would’ve deployed it and nobody would’ve been around for the post-2020 out-performance. On a positive note, the availability of index funds and ETFs should make this strategy fairly easy to implement.

The main caveat is that the index construction rules themselves are subject to change. Mid last year, SEBI capped the maximum concentration of a single stock for a sector index at 35% and required them to have at least 10 stocks.

Code and charts are on github.

Here are some other things we tried, so that you don’t have to:

Equal-weight all Sector Indices

Inverse-volatility weight all Sector Indices

Equal-weight Sectors in an Up Trend

Inverse-volatility weight Sectors in an Up Trend

The excess returns of these alternatives do not justify the costs.

Macro: Timing the NIFTY 50

Prior research has shown that there is no correlation between GDP growth and stock market returns (see: The Enigma of Economic Growth and Stock Market Returns).

GDP is a trailing measure. However, does the relationship change if we use leading economic indicators?

To answer this question, we look to the OECD Composite Leading Indicator database. It is a monthly time series of CLIs of different regions. Here’s India’s and the G7’s charted from 1980:

If we scatter India’s CLI with next month’s NIFTY 50 returns, we get:

No correlation whatsoever.

However, we know that the market likes growth. So, what happens if we scatter the diff of the CLI over returns?

Noisy, but not hopeless!

Turns out, if you go long NIFTY 50 only when the CLI is improving, you get a 2% boost over the long run return.

The kicker here is that the drawdowns are a lot less severe.

Code and charts are on github.

Roll’s Serial Covariance Spread Estimator

The book Trading and Exchanges (Amazon,) has a section on Roll’s Serial Covariance Spread Estimator which tackles the problem of estimating the bid/ask spread with only the price series.

The Roll’s serial covariance spread estimator is an econometric model designed to estimate the average bid/ask spread (or effective spread) of a security using only transaction prices, without needing quotation data. It is one of the best-known estimators based on price change serial covariances.

The idea is from the 90’s and we’ve come a long way since then. Now, we have streaming quotes from which the spread can be directly computed. What makes this approach interesting is the decomposition of volatility that was used to estimate the spread can be used to estimate fundamental volatility instead.

Total Volatility = Fundamental Volatility + Transitory Volatility

Fundamental volatility consists of seemingly random price changes that do not revert. These changes often have the properties of a random walk.

Transitory volatility consists of price changes that ultimately revert. This price reversal creates negative serial correlation in the series of price changes.

Using Roll’s model, Fundamental Volatility = Total Volatility – (Effective Spread)2/4

Here’s NIFTY through Roll’s model:

Code on Github.

Buy Highs/Sell Lows

In equities, buying stocks that hit their All Time Highs is a decent strategy. When combined with a trailing stop loss, it beats the NIFTY 50 index with a Sharpe of around 1.8.

Can a similar long/short strategy work in crypto?

Since everything happens faster in crypto, we need to relax the “All-Time” constraint and consider shorter time-frames. For example, here’s the 200-day Highs stats, for returns of subsequent 1/5/10 & 20 days of L1 and L2 coins:

And here’s the same for 20-day Highs stats:

A similar thing plays out with 200- and 20-day lows.

Theoretically, you can go long coins making 20/50-day highs and go short coins making 20/50-day lows. Apply a reasonable trailing stop loss and you might have a decent strategy.

Code and charts on github.

Intra-Stock Correlation and Momentum Returns

Vojtko, Radovan and Pauchlyová, Margaréta, How to Improve Commodity Momentum Using Intra-Market Correlation (SSRN) discusses using short-term and long-term correlations between constituents to bet on momentum and reversal.

Since we are always on the lookout for strategies for reducing momentum drawdowns, we did a quick check to find out if a similar strategy can be used for long-only momentum.

The rule is fairly basic. Using the momentum portfolio already formed, if 20-day average correlation between them is greater than 200-day average correlation, then go long, else, go to cash.

Ignoring transaction costs, it looked like it avoided the brutal 2018-2019 drawdown. So, we dived a bit deeper to see if it was materially better than our 50-day SMA idea.

Here, COR_RET represents using only correlations to go long/cash, SMA_RET represents using only SMA, EITHER_RET is correlation or SMA and COMBINED_RET is correlations and SMA.

Going long if either correlations or SMA (EITHER_RET) seemed to be a winning strategy. However, high transaction costs in India can turn any decent strategy into a loser in a heartbeat.

25bps in transaction costs negates most of the advantages of considering the correlation signal. However, the post-COVID data does point towards EITHER_RET outperforming SMA_RET.

The biggest disappointment for us was that there was no improvement in drawdown metrics but 5% of outperformance might be worth the additional complexity.

Code and charts are on github.