When you decompose the series, you can see the ebb and flow of monthly seasonality.
The pattern largely holds post-COVID as well — even after Bitcoin began its journey as an institutionally accepted asset.
Zooming in on the seasonal component alone, you can see how it troughs around October-November.
And this has tracked post-COVID as well.
The seasonal component has been negative during the months of July through December indicating that the volatility experienced during that time was idiosyncratic.
Open sourced by Meta back in 2017, Prophet is a procedure for forecasting time series data. How does it compare to GARCH(1,1) and locf (last one carried forward) for forecasting VIX 20 days out?
We fit 500-days of rolling VIX data using Prophet and GARCH(1,1) and forecast forward 20-days. We then calculate the RMSE (Root Mean Squared Error) of the forecast vs. actual of both the models and locf. Plot RMSE of all three.
Ideally, you want the error to be low and the tail of errors to be as short as possible. GARCH(1,1) looks worse than Prophet. However, locf beat both?
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.
Previously, we discussed how overnight volatility is not necessarily the scary boogeyman that it is made out to be. However, what maybe true for the NIFTY may not be true for other indices. For example, commodity stocks could carry larger overnight risks than, say, FMCG stocks.
If you look at the median volatilities of the two indices, commodity stocks have larger close-close volatility than FMCG stocks. However, FMCG stocks have lower volatility in general, so not sure if the differences are meaningful.
What about QQQs (US tech) and XLE (US Energy)?
Most energy related reports are released during US market hours while earnings reports are not. That could explain why XLE relative overnight volatility is lower than QQQ’s? Also, weekend risks averaging less than daily and overnight risks is surprising as well.
Our previous post discussed how the implied volatility (IV) of OTM puts are often higher than the IV of OTM calls. We would like to add that this “smirk” is very much warranted – it is not an invitation to sell OTM puts. Returns of financial instruments often have negative skew – a fancy way to say that they often take an escalator up, and an elevator down.
Here are the daily and weekly return skews of the NIFTY 50 TR index and the SPY ETF:
The market is willing to pay up to hedge against this risk. If you sell the skew, you’ll have to hedge against it by some other means. Otherwise, it is like picking up pennies in front of a bulldozer.