Volatility Targeting

There are a number of ways to construct low-volatility portfolios. You could either use a bottom-up approach of selecting individual stocks that have low-volatility or you could you could run them through a portfolio optimizer (Low Volatility: Stock vs. Portfolio) to get target weights. However, if you are trading a single index, then you could use its own volatility to scale your exposure up and down. The advantage here is that if you trade index futures, you can set the volatility and leverage dials to the risk that you are most comfortable with.

Let’s take our own NIFTY 50, for example. Calculate the std-dev of daily returns over a sensible window. The index exposure is simply the ratio of the median std-dev vs. the current std-dev. Use a scaling factor (tvf) to further fine-tune the risk. To reduce transaction costs, rebalance once a week.

A tvf of 0.25 has roughly half the returns of buy & hold but with superior risk metrics that makes it receptive to leverage.

The problem with this approach is that the weights are continuous. What if you want them discrete so that it directly maps to how many lots of NIFTY you need to trade?

Here, we bucket the std. dev. into quintiles and use that to set our exposures in discrete steps.

At 2x leverage, you will outperform buy & hold by 5% with only half its drawdown.

The same for NIFTY MIDCAP SELECT looks like this:

The stats for this index looks worse than buy & hold. However, volatility sizing has resulted in lower drawdowns.

Stats and charts for different indices and code are on github.

Also read: Large Moves Happen Together