Today, we are going to talk about a day trading strategy for the Emini SP500 futures contract.
Contained in this strategy will be a comprehensive description, including exact code and statistical output.
Before I jump into this, I want the viewer to understand that I am not a big fan of’day trading’, typically the only people who make money are the agents.
However day trading is extremely seductive. The idea that a person can get up each morning, scalp a few trades for several hundred bucks and then enjoy the remainder of the day with no risk or exposure is a delightful fantasy. Yes, it may be done. But it is not simple. Nearly everyone fails.
Why do most people fail at day trading?
This part is going to be controversial. I am going to give you my honest opinion, in order of importance.
- Inability to execute limit orders.
- Failing to take a loss.
- Failing to take a winner.
- Assigning emotional rewards.
(1) In my opinion, you cannot ‘scalp’ trade successfully, unless you can execute at least 85% of your entry and exits on a limit order. You must be able to capture the bid/ask spread. Make the counterparty pay for the privilege of executing a market order.
Hardly anyone ever talks about the importance of limit order execution. I am putting it front and center. You must use limit orders.
There is a reason why Virtue Financial went 6 years with only 1 losing day–they execute thousands of limit order trades each day, with little regard to predicting price direction.
(2) Don’t believe what the chart is telling you. You may believe that you are looking at a classic consolidation pattern coupled with a diamond formation. Yet another person may look at the exact same price chart and see a ham sandwich.
Our minds are wired to search for meaning, to search for an opportunity within a noisy surface. This is the fallacy of patternicity. When we think we are seeing something of importance, but what is actually occurring is just random noise.
Patternicity worked great for the ancient caveman or the modern homeless person that rummages through a dumpster in search of scraps of food. But Patternicity DOES NOT WORK with financial markets.
Instead, rely on hard data. A clearly defined framework of variables that can be tested and scrutinized with some modicum of statistical inference. In short, believe nothing that ‘experts’ tell you, instead you must test everything. You must verify the authenticity of everything–especially trading ‘truisms’.
(3) Exits must be built into the strategy. Failing to take a loss may work ‘here and there’ but eventually the inability to take a loss will result in the inevitable evil runner. That one trade that runs against you. And it keeps on running. Until it grinds your account down to pocket change.
Automate your exit. Build it into the strategy. Let the machine save you from yourself. Let it be the uncomfortable parachute that rips you from the perilous downward plunge.
(4) Take comfort in exiting a winning trade. There is nothing more wonderful than basking in the ego inflating experience of sitting on a winning trade. But the comfort is all too fleeting. And it is just a just a mirage of emotions that have no meaning.
Let the machine execute the profitable exit. Don’t succumb to the temptation of “trailing a stop.” Know the exact exit point, before the entry.
(5) Too often we assign an emotional score to winning or losing. We win a trade and add to the score, we lose a trade and we subtract from the score. But this is just a fallacy, a fantasy within our mind. The market could care less about the score. Certainly not about your feelings or emotions.
Instead, assign a high emotional value to your ability to execute with cold and remorseless precision, regardless of whether the trade is a winner or a loser. Execution of the rules is all that matters.
Wow, that was quite the rant. Before I started this post, I swore to myself that I would not rant. And rant I did! Anyway, let’s talk about this strategy.
Step One: Emini SP500 Futures
Ok, step one. Create a chart of the Emini SP500 (day session), using only 5-minute bar charts. The following is an example of August 14, 2017.
Step Two: Calculate and plot the Midpoint
The midpoint of the trading session is simply the middle price of the trading day. The Midpoint of the trading day contains a significant statistical edge, which I have written about here.
As costs make new highs and new lows throughout the trading day, the midpoint will always readjust. It’s a vibrant indicator that simply divides the day into two sections. An upper part, and a lower segment. Example below:
The Midpoint is an extremely simple concept to learn. The key takeaway is that if prices are above the Midpoint, then we only want to take Long trades. We want to be a buyer, hoping for higher prices. We want to stay on the side of the dominant trend. We don’t want to fight the tide, we want to align ourselves with the tide. Nothing fancy here. If prices are higher than the Midpoint, then look to be a buyer.
Step Three: Define and calculate an entry point and exit point
The market ebbs and flows. We wish to be a buyer when the market ebbs. We want to enter our commerce as it pulls back. On the other hand, the pullback must remain above the Midpoint. How can we calculate a pullback? Truth be told, there are hundreds of indicators that work just fine. Whether it’s a moving average, an oscillator, Bollinger ring, or even a Fibonacci point…it does not matter.
Many a charlatan will attempt to sell you some sort of magical indicator that supposedly can predict short term support zones. Ridiculous nonsense, with silly names like Volume Delta, Order Flow Divergence, Moonbeam Oscillation Fan Sequence, Hyper-convergent Alpha Tooth Fairy. You get the point.
One of my favorites is the Keltner Channel. Which is nothing more than a moving average that plots the standard deviation of the moving average. No, there is nothing predictive of the Keltner Channel. However, it serves the simple purpose of displaying areas just outside of the current price.
For this strategy, we will plot the Keltner Channel of 6,1. What does this mean? We are only using a 6-period moving average, and plotting the upper and lower band of 1 standard deviation. Don’t let this be confusing or scare you away. It’s really simple, and available on all modern trading platforms. Example below:
Looking at the above visual sample, we can see the Midpoint of the day’s range as plotted by the solid blue line. And we can see a simple Keltner Channel. Notice how the price ebbs and flows between Keltner Channel.
Once again, there is nothing predictive about the Keltner Channel. Nothing magical is happening. The market is not “looking” at the Keltner Channel, or any other trading indicator and taking its cue from these indicators. Instead, the Keltner Channel is simply plotting a single standard deviation of a 6 period moving average.
However, by simple observation, we can see that price tends to bounce back and forth between the channel. But this is just an observation, and we must remember the fallacy of patternicity. That the human mind is uniquely flawed into believing that something is real when it fact it’s just noise.
So what should we do? We have to test the theory. We have to build a fully automated strategy based upon clearly defined variables. In this case, we want to test the theory that we should buy the emini SP500 futures contract at the bottom of the Keltner Channel. And we should exit the trade for a profit at the upper portion of the channel. The graphic below is visual representation:
Ok, so let’s define the market condition for this system in its entirety:
- The price of the emini SP500 must be above the Midpoint
- The low of the Keltner Channel must be above the Midpoint
If this is true, then we need to define the point of entry, and point of profitable exit:
- Enter a long trade at the low of the Keltner Channel
- Exit the trade at the high of the Keltner Channel
- Exit any open trade at the end of the day
The graphic below is what a series of successful trades look like:
But what about losing trades? When do we take a loss?
- If the HIGH of any 5-minute bar crosses below the Midpoint, immediately exit for a loss. The following graphic is what a losing trade looks like:
So now we know the exact rules, let’s test the theory. The following is the equity curve for this ‘scalping system’ going back January 2002.
As we take a quick glance at this equity curve, this tells us only one thing–that the concept is robust.
However, what about the individual trade metrics? Is this currently a tradable system? What about slippage and commission costs? Let’s look deeper into the numbers:
The key metrics that you need to focus on:
- Total Trades: with 7,300+ trades, this is a huge sample size which negates the possibility of randomness.
- Average Trade Size: $16 per trade is too small.
- Max Intra-trade Drawdown: Too large at -$9,000.
The conclusion is that this ‘scalping system’ is not a viable trading system. However, we currently have a massive sample size of 7,300 trades. And we have a robust concept. How can improve this system?
In the following section, we are going to add an additional filter.
The Secret Sauce: Adding a VIX volatility filter
Many readers are probably looking at this concept and thinking to themselves, “Hey, it ain’t too bad. I can trade this for a few ticks and make a profit.” Yes, you can. However, we are not in this to make only a few dollars profit each trade. We are in this to make actual money that we can spend on food and diapers.
In a prior post, I talked about a scalping strategy for the crude oil market that uses a volatility filter to day trade the Crude Oil Futures market. You can read about that strategy here.
In that strategy, we used an obscure volatility indicator named the OVX. Which essentially measures options prices for crude oil stocks.
With our current strategy, we are going to use the VIX index as a filter. What is the VIX index? Essentially, when the VIX is rising, then options prices for stocks within the SP500 are becoming unstable and fear is entering the market.
When the VIX is rising, we need to be cautious about entering long trades. The VIX is a warning us that a sell-off could happen at any moment or is currently happening.
For our following test, we are going to test our Keltner Channel system with a VIX overlay.
Instead of taking each and every trade, we only want to take trades if the VIX is decreasing. So, let’s ask our data the following question:
What happens to performance if the VIX is DOWN intraday, in increments of 1% to 20%? The following is the performance graphic:
Ok, so what are we looking at? This is a graphical display of only taking trades if the VIX is below 0 for the trading day. Additionally, we tested if the VIX is down 1%, 2%, 3%…all the way to 20%.
As you can see, the lower the VIX, the higher our average trade and profit factor. As a rule of thumb, you only want to consider a day trading system that has a minimum of 1000 trades. The larger the sample size, the lower the chance of a random outcome.
Which would I choose? For myself, I would select the parameters from test #13. In other words, I would only trade this system if the VIX were down a minimum of 8% intraday. The market is clearly stating that fear is rapidly leaving the market, and higher Emini SP500 prices are a near certainty.
Once again, if the VIX is down 8% intraday, the market is clearly stating that fear is rapidly leaving the market, and higher Emini SP500 prices are a near certainty into the close. The following graphic is the performance metric and equity curve for only trading our Keltner Channel system if the VIX is down a minimum of 8% intraday:
Ok, so looking at the performance metrics we can see that with a stupid simple filter…we have created something actually tradeable, and made the following improvements:
- Average trade size has jumped from $17 to $42.
- Maximum Intra-trade drawdown has decreased from $9,200 to $1,825.
- Profit factor increased from 1.34 to 2.10.
- Average trade lasts only 34 minutes.
Wrapping things up
Wow, that was a long post. A whopping 2200 words! Congratulations for making it this far.
So what is the key takeaway? The most obvious are that if you are going to ‘scalp’ trade for small profits…you need to find an exploitable edge. And work the edge.
You need to test everything. If someone tells you, “my magical software plots institutional money flow,” then OK…lets test the theory, let’s define it and test it. Usually, they slink back under the rock from which they came. Don’t believe anybody in this business. Especially someone selling a magical trading indicator. You must take control of your trading and you must test everything.
The system that I have written about is something you can use tomorrow. Hopefully, you won’t. My sincere hope is that you will take the concept and improve upon it. And believe me when I tell you…it can be improved to something so compelling that the money will practically beg to jump into your trading account.
The ‘holy grail’ of trading is not contained within a singular trading system or trading indicator. Instead, the holy grail is having a large stable of trading systems. Only take trades where you know beforehand…that you have a statistical advantage. Treat your trading like a casino. Like you own the casino. Not a patron.
Thanks for reading. I love to read those comments. Especially the curmudgeonly trolls.