What We Can Learn from a Simple Yet Robust Mechanical VIX Based Swing Trading Strategy
Many traders love to know how to utilize various market breadth statistics to improve their trading. However, majority of the narratives out there are all guess work based on visual inspection and speculation on how a market breadth statistics can be interpreted. Unless you have in-depth knowledge about market breadth, it is difficult to tell how misleading these trading tips and techniques are. In this article I am going to show you a very simple mechanical swing trading strategy based on VIX only. What that means is that all the trading decisions are made without help from the price data (i.e. Emini S&P or SPY). It will help me illustrating several important points on swing trading Emini S&P and the index in general.
Content
- Background Information
- Historical Performance of the Strategy
- The Strategy in Action
- The Rules of the Strategy
- Why It Works and Why It Will Continue to Work in the Future
- What We Learn from the Optimization Process
- An Important Message for Those Who Never Tried to Build Their Own Automated Trading Strategies
- What We Learn from this Strategy About VIX and Its Relationship with Emini S&P500 and SPY
- Integrating the Concept into Your Own Trading
- Why The Volatility Filter Matters
- Summary
- Resources
(Part of Market Breadth Primer series)
Background Information
I could not load data for VIX before year 2003 from Tradestation so results will be limited to historical backtesting from year 2003 to 2020. I am using 30-min bars for both Emini S&P and VIX. Sessions are controlled to include only normal stock market hours of 9:30 am to 4:00 pm Eastern Time.
This is a swing strategy that holds positions overnight.
The strategy is written in TradeStation EasyLanguage.
Actual code for the strategy is now available in the download area for premium members.
Backtesting done with trading one lot Emini S&P, $10 round turn commission and 1-tick slippage per trade.
Historical performance report can be downloaded from the Resource section below.
Historical Performance of the Strategy
Profit curve from mid 2003 to May 2020.
Trading performance summary.
At about $161,000 profit after commission and slippage, it works out to approximately $9,900 profit per year. Due to the serious drawdown concern you see on the equity curve, it is probably best to trade it with $45,000 to $50,000 initial capital. So, it is a swing trading strategy with about 20% return. Not bad at all.
The Strategy in Action
Here is an example of the strategy in action.
Here is another screenshot.
The Rules of the Strategy
Let’s define VIXROC (N) = (VIX / VIX [N Bars Ago] – 1) * 100
1. Go Long if VIXROC (39) < –5
2. Go Short if VIXROC (13) > 25
3. if VIX average 30-min bar range over the last 13 bars > 3, Go Flat or Stay Flat
In plain English, I am looking for VIX going lower in value by 5% or more to go long while waiting for VIX to go higher in value by 25% or more to go short.
Should the average range for the 30-min bars exceeds 3, stay out of the market.
Simple enough?
Why It Works and Why It Will Continue to Work in the Future
I call this style of entry an event based entry. In this case, I am looking for VIX to jump lower which may signal a rally will accelerate in Emini. By the same token, if VIX rushes higher, it may signal the acceleration of a selloff. I am not trying to capture the exact top or bottom of a swing here. I am trying to get on board of a swing that is likely started already and VIX is confirming the move.
Many gurus out there tried so hard to utilize VIX to produce spectacular trading performance yet their strategies all fall apart in live trading with no exception. If you are burnt by these strategies, pay attention to the entries they use. If the intention is to capture “counter-trend” top and bottom, or whatever “mean-reversion” bullshit, these strategies will breakdown eventually.
No one can foretell if the market will “mean-revert” the same way now like 5 years ago let alone 10 years later. Superficial timing like this is the product of optimization based on historical data which will not work in the future. Unluckily every single VIX strategy I have seen out there belongs to this category.
Unlike those curve-fitted strategies, the strategy I presented here can be used without optimization as it works across a broad spectrum of parameters. Getting yourself familiar with the approach is more important than leaning on a specific set of parameters for best performance.
What We Learn from the Optimization Process
Many of you must be wondering how I come up with the magic numbers of 13, 39, etc.
They are not magic numbers. They are not the best combination which produced the highest net profit either.
I use optimization to show me if there is a recurring theme in the signal generation so that I can focus on what works best.
If you have not figured this out yet, 13 is the number of bars per day. And of course, 39 is 3 times that.
Thus what I’ve learned is that long signal for VIX has to be comparing with values from a few days ago and short signal works better with values right from previous trading day.
This knowledge can help you in the future when working on other VIX based trading strategies.
An Important Message for Those Who Never Tried to Build Their Own Automated Trading Strategies
Many people do not understand the value of building your own robust trading strategies.
All kinds of excuses are made to avoid taking on the task. From telling themselves that mechanical strategies are no good in the long run, to programming strategies being too complicated to learn, I have seen them all. At the end of the day, not doing it means more time wasted on learning useless trading techniques, developing fancy indicators and imagining trading rules from their visual inspection of the charts.
That implies you will be stuck at the same place doing the same thing next year, and the year after.
Creating your own mechanical trading strategies properly is the fastest way to master trading. The process of coding a “trading setup” and backtesting that against the historical data will expose everything about the idea – the good, the bad and the ugly. You will learn more about a trading idea through backtesting it for a week than sitting there pretending that you are studying the idea over months of screen time.
In short, it will straighten you quickly from the illusion of perfect timing with some fancy indicators you see out there.
The most important thing to remember is that you are exploring the data and not goal seeking to build trading strategies that fit your imagination. You do not have the knowledge and expertise to do so in the beginning.
I know, the hard part is coming up with something that works, right?
So here it is, I am giving you yet another fully mechanical trading strategy. It is now on you to try it out and learn from it.
NinjaTrader fans do not read this: Some of you probably complaining already why there is no NinjaTrader version of the strategy provided. The truth is, if I give you the code in NinjaTrader or whatever platforms that are designed to make trading strategies more complicated than they should be, you will not be able to learn from the code as all your energy is wasted on the syntax and language details.
What We Learn from this Strategy About VIX and Its Relationship with Emini S&P500 and SPY
From the trading performance summary, you can see that the winning percentage is about 50%. Even if you optimize hard, the result will improve with either an increase in net profit, or an increase in winning percentage, but not both.
The reason is quite obvious – VIX is not Emini itself. The intraday short term moves in S&P index are not directly influenced by the changes in VIX. Thus, even if VIX has strong predictive characteristic on S&P, it may still be off by a small percentage on average.
So what else do we learn from this strategy then?
In order the the strategy to strike a balance to obtain good results while having only 2 events responsible for not just the entry but also the signal to end the current position, it limits the possible choices that can produce good results.
Thus, the short side entry is really the controlling “rare” event that keeps the strategy staying long for as long as possible since S&P has been long bias all along.
So keep this in mind when you are using the strategy as a form of confirmation of your own trading ideas.
Integrating the Concept into Your Own Trading
As a discretionary trader, the entry events tell you nothing more than a coin toss chance of Emini S&P will move in your favour. However, if it is confirming what you are doing (i.e. the direction of your position) and that Emini S&P has already been moving in your favour, you can expect it to go pretty far. For long trades, the average winners net more than 100 points. And for short trades, they average more than 60 points. This gives you a rough idea when you need to focus on protecting your profits.
For mechanical traders, even though the strategy has very good historical performance, you will probably want to improve the performance with better exit strategies since the entries are not designed to help locking in the profit for the current open position.
As explained in last section, the short entry signal is not really picked for its profit potential. Thus if you are interested in developing this idea further, it is best to rewrite the strategy into two atomic trading strategies.
In addition, combining this VIX strategy with other top and bottom picking entries is not likely going to improve the results. Since the VIX entries are chosen such that price reversals are likely happened already, your better timing tools based on other criteria, including price based oscillators, will not be able to enter a new position until confirmed by the VIX entries.
Why The Volatility Filter Matters
By turning off the volatility filter, the net profit is actually much better.
But would I choose to turn it off in live trading or ignoring that with my own trading?
No.
This is a classic example of using common sense in strategy design.
You know the entries are based on the happening of specific events. If VIX fluctuates too much every 30 minutes, it implies there is no stability for the signals generated. And you simply cannot trust those signals.
Just think of what happen when you adjust the strategy by increasing or decreasing the number of bars between the VIX values for generating the ratio. If there is stability with VIX, then the adjustment you made will only affect the outcome slightly. If there is no stability with VIX, meaning that the VIX values are very different from one bar to the next, the strategy will not be producing stable results.
Hence the volatility filter is a way to ensure you do not take on a position because of noisy signals.
Summary
Robust swing trading strategies are very easy to create if you use market breadth statistics to generate your entries. You must remember that trading strategy design should be a mindful process. Hence you must build up your expertise properly, like having an in-depth understanding of chart reading, so that you know what you need to put into your trading strategies.
VIX is a great market breadth statistics for market timing as it reflects the actions taken by a specific class of traders which provides us with information that we do not otherwise have access to. Even though VIX is a very good market breadth statistics, it does not move perfectly in sync with S&P. So be reminded that it cannot produce high probability trading strategies by itself.
This is no longer 1930s. We have computers. Back then traders can only draw their charts by hand. Modern discretionary traders should always backtest their trading ideas rigorously. Avoiding that will only hinder your progress in trading mastery.
Resources
Historical Performance Report