More on Using VXO to Time the S&P 500

16Jan13

This is a follow up to Don’t Fear the Bear’s excellent post using the volatility index VXO to time the S&P 500.

This is a weekly strategy: go long the S&P 500 at the close on the last day of the week when VXO will close higher than the previous week, otherwise move to cash.

20130116.01
[logarithmically-scaled, growth of $1]

Above I’ve shown the S&P 500 in grey, DFTB’s strategy in red, and what would be a daily variation of the strategy in blue, from 1986. The daily variation buys at the close on any day when the VXO will close higher than 5-days prior.

Geek notes: entries/exits based on the S&P 500 price index, but returns include dividends. Transaction costs, slippage, and return on cash ignored. I’ve used the S&P 500 for simplicity’s sake, but similar conclusions would be had with the ETF SPY or other broad market indices.

Clearly the weekly variation of the strategy has been the more effective of the two. Changing things up a bit, a 6-day look back has been more effective than 5-days, but still not as effective as the weekly.

Numbers for the number lovers showing all variations…

20130116.02

Clearly, the benefit of the strategy has been in improving returns relative to volatility (Sharpe) and losses (UPI), and reducing exposure to the market.

. . . . .

I was curious whether there’s value in trading on the last day of the week specifically, or whether just the fact that the strategy is trading weekly (which helps to smooth the data) was responsible.

Below are results for the same weekly strategy, but executing on other days of the week: the first day of the week (usually Monday), second (Tuesday), day-before the last (Thursday), and DFTB’s last day of the week.

20130116.03

Over the period tested, DFTB’s last day of the week (Friday) has been the most effective, with the first day of the week (Monday) a close second.

. . . . .

In my previous post, I mentioned that I think there are more effective “intermediate-term mean-reversion” strategies than the one tested. I think this is a good (and oh so simple) example of one of those better strategies.

I’m leaving a lot of number crunching out for the sake of brevity, but I will say that I think out-of-sample, the 6-day daily variation of the strategy and/or a weekly strategy executing on other days of the week will likely produce similar results as the strategy originally presented.

I think a bit of the outperformance in the strategy originally presented was a market anomaly that no longer exists and I think a bit was noise.

But I also think that all variations, from a risk and volatility-adjusted perspective, are a big step up from a straight buy & hold.

Big ups to Don’t Fear the Bear for the share!

Happy Trading,
ms

. . . . .

To stay up to date with what’s happening at the MarketSci Blog, we recommend subscribing to our RSS Feed or Email Feed.



4 Responses to “More on Using VXO to Time the S&P 500”

  1. Thanks for the follow up post with the extra number crunching! Take care.

    Mike

  2. 2 Alex Argyros

    Thanks, Michael.

    I was wondering what you think of Don’t Fear the Bear’s tweak of this strategy:

    “Hold SPX when VXO rose during the previous week AND VXO closed the previous week less than 20% above its 5 week average, else hold cash.”

    • 3 MarketSci

      Hello Alex – I haven’t played much with the parameters, but I like the concept of filtering out trades during periods of market stress. A trend-following filter (applied to the S&P 500 rather than VXO) might make sense too. michael


  1. 1 What I’m Reading This Weekend | System Trading with Woodshedder

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s