Skip to content

VIX-Adjusted Momentum

July 29, 2014

The addition of many small details can make a big difference in seemingly simple strategies. I often like to use cooking analogies, and so I like to think of tomato sauce as a classic example: it contains few ingredients and is simple to make but difficult to master without understanding the interaction between components. Trend-following strategies are no different: anyone can create a simple strategy, few can master the nuances. One of the problems in measuring trends in financial market data is that the variance is not constant. In statistics we know that heteroscedacity can render the use of traditional regression analysis meaningless. Therefore, to use un-adjusted price data in conjunction with a moving average strategy, or even taking the simple compound return or ROC (rate of change) can lead to potentially poor timing decisions and increase the frequency of trading.

The good news is that it is well-accepted that volatility is highly predictable in financial markets. Perhaps one of the best measures of volatility is implied volatility reflected by market participants in the VIX. A simple idea would be to use the VIX to adjust daily returns in order to create a trend-following strategy that is more robust to non-constant variance. The method as follows is very simple:

1) compute daily returns or log returns for the S&P500 time series
2) divide each daily return by the VIX level on the same day
3) take a lag of your choosing and compute the simple average–say 200-days in this example

Strategy: Go LONG when the VIX-Adjusted Momentum>0, Go to cash if sma, cash if not) and a 200-day traditional momentum strategy (go long when the ROC>0, cash if not).

vix mom table

here is a graph comparing the strategies:

vix mom graph

Clearly the VIX-ajusted momentum is superior to the traditional trend-following strategies using this set of parameters. This concept can be extended in several different ways- for example, one could instead use historical volatility, or the difference between historical and implied in other creative ways. Hopefully readers will be inspired to take a fresh look at improving upon a simple and traditional strategy.

14 Comments leave one →
  1. Chris permalink
    July 29, 2014 12:37 pm

    Hi David,

    Hope all is well with you. My own testing confirms what you’ve already outlined. 2-3 years back, I modified your AggM in a way that incorporated the VIX. Basically, when the VIX was elevated (VIX Close Value >.xx PERCENTRANK(Close,252)), the calculation of the AggM was adjusted, adding weight to the mean reverting component. Vice versa when the VIX was low. I believe I had setup my algo to shift between a 25/75;50/50;75/25 weighting scheme, as opposed to a static 50/50. I recall this tweak being very effective in the long term, so I hope your post will inspire others to do the same.

    • david varadi permalink*
      July 30, 2014 12:22 am

      hi Chris, hope you are well also–long time. I think that is a very interesting idea–I haven’t looked at that in a while (AggM) but it makes sense. I like the multiple entry scheme also– makes things more robust.
      Nice suggestion!

  2. July 30, 2014 12:18 am

    Hi David,
    It seems that the critical two-liner with the description of your three illustrated strategies got garbled–can you restore/rephrase it? (“Strategy: Go LONG when the VIX-Adjusted Momentum>0, Go to cash if sma, cash if not) and a 200-day traditional momentum strategy (go long when the ROC>0, cash if not)”.

    • david varadi permalink*
      July 30, 2014 12:24 am

      hi Wg, you are being kind when you say “garbled” 🙂 I often put together these posts late at night after the coffee has long worn off. I will re-emphasize that in my next post, thank you.

      • July 30, 2014 4:50 pm

        No problem, David. The reality is most of us operate on the same schedule 😉
        Let us know when you straighten out the rules, or even better–if you have a spreadsheet, attach it, as the language of formulas is always clearer than any verbal description. For instance it is not clear if you divide the raw return of the index by the raw level of the VIX or the VIX’s return… lots of those questions that a spreadsheet will answer instantaneously.

  3. Thoughts by Mr P permalink
    March 30, 2015 6:28 am

    Hello David,

    Thank you again for your very inspiration blog. I am wondering about the third step here.

    3) take a lag of your choosing and compute the simple average–say 200-days in this example

    How do you calculate the 200 SMA in Excel for example when you have divided the daily returns and not the price series itself?

    I have tried to take the average of 200 daily returns or the product sum of 200 daily returns but it does not give me the same signals as when you apply the moving average to the price series.

    Kind regards,

    • david varadi permalink*
      March 30, 2015 12:54 pm

      hi Peter, thank you for the kind words. the calculation is on the returns– standardize (divide) each return by the trailing error, then take the 200-day moving average of those adjusted values. Signals are generated by looking at the sign of the average of the adjusted values- long if >0, cash if <0. There is no need to convert this to price-based moving average, nor should it match up in terms of signals. hope that helps.

      • Thoughts by Mr P permalink
        March 31, 2015 12:08 pm

        Thank you David. I understand completely now. I’ve just tried 200 ROC and the average of 200 daily returns. These two give the signal at the same time. So the VIX-adjusted signal is like a 200 day “error”-adjusted ROC 🙂

        Kind regards,


  1. Error-Adjusted Momentum | CSSA
  2. The Whole Street’s Daily Wrap for 7/29/2014 | The Whole Street
  3. Adjusted Momentum | Systematic Investor
  4. What I am reading: 8/25/2014 » Alvarez Quant Trading
  5. VIX and Trend Following – Justin Czyszczewski
  6. Adaptive VIX Moving Average | CSSA

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: