Like anything else in trading this seemingly works some of the time and with scary accuracy. I took data points from the last 30 days of trading, threw the data in some visualization tool and then applied the idea to the chart. The goal of this article is flush out these ideas on paper and share my findings in hopes that a reader may be inspired and possibly take my work a bit further.

I would like to first acknowledge Brent Donnelly for his article Week 45: Regime Flux. That is where I got the inspiration for this article. Brent suggests that volatility should affect your position sizing and one can use the VIX’s previous day value to predict the current day’s range. Apparently there is a correlation with yesterday’s VIX numbers and the current day E-Mini range.

S&P 500 Range % vs Yesterday’s Vix Close

The chart above is taken from Brent’s article but, I had to do my own reasearch to see if this information has value beyond position sizing. Could we determine a days range? What if we could trade based solely on expected volatility and the opening price? Let’s dive into to my initial findings and then we can dive into where I will take this data.

Finding A Correlation Between S&P 500 and VIX

The first thing I did was look back about 30 days, I wanted a decent sample size with recent data. I wrote the dates and all of closing prices of the VIX for the corresponding date. Then I pulled up an E-Mini daily chart and started with the date + 1 day (remember we are using yesterday’s VIX closing price) on the excel sheet. At this point I was entering the difference of the high and low (high – low = range) within its respective date. That data can be found below.

I had a ton of data and nothing to help me visualize the data. So, I tossed the Excel sheet into Looker Studio in hopes that I could find some sort of correlation. You can see below that this chart looks similar to Brent’s where the goruping of ranges vs VIX levels are on the bottom left of the chart. We also see some outliers. Yet, I was still having some trouble finding correlation so, I tried to filter based on a pattern that I am seeing.

The lower the VIX number is, the less erractic the range is. At least that is what I thought. I added a filter to show only the plots with a VIX value less than or equal to 13.

Here I can see that VIX value under 12.8 begins to act more predictably. Taking a deeper look, I can see that values under 12.29 all have ranges S&P 500 ranges under 50 points! Now we are on to something. While the sample size is small, I can at least confirm that the lower VIX value is, the more reasonably price reacts. This is why Brent suggests trading with less risk when the VIX is higher.

Predicting Tomorrow’s S&P500 Range

Now that I can visualize the data and see a pattern, I want to divide my excel sheet up into a a few different averages. Under 12.8, 12.29 ,13 and over 13. There are only 2 instances of values greater than 14 and I can cleary see the over 13 ranges start to spread out a bit.

Not much of drop off from 12.8 to 12.29 so we can probably just use ranges under 12.8 for our next step. The drop from 13 to 12.8 is about 3 points which confims what we are seeing in the visualization of data. Ranges begin to get pretty erractic once the VIX is over 12.8.

Predicting range of the day is easy as looking at yesterday’s VIX closing value and then looking at the average range from the table above. Here is how we do it. Let’s take a look at 6-7-2024, the closing VIX price for the previous day was 12.58. We will be using 42.61842105 as our range since it is under 12.8. For simplicity sake, I think we can just round this number down to 42.50. Now we can split the range in half 42.5 / 2 = 21.25. Once we get this number we will add it to the opening price to get the range high (opeing price + 21.5 = range high)and subtract it from opening price to get range low (opening price – 21.5 = range low). Congrats we have just predicted the range for 6-7-2024. Let see the results on a 5 minute chart!

That is pretty incredible, huh!? I did cherry pick this scenario but, it is worth noting that I took a look at couple of these examples and each time, the range high seems to have some sort of pullback once it was reached. A couple times range low was not hit at all and when I applied this to Friday’s close, none of the ranges were touched. I think this concept should prove to be a good indicator of tomorrow’s range when the VIX is below 12.8.

What’s Next?

Ok, so we successfully dove into some data and applied a theory that looks to work pretty well. The current process is this:

  • Look at yesteray’s VIX close
  • If its under 12.8, get the average range for the last 30 days where VIX is under 12.8.
  • Divide that range in half
  • Add the half range to opening price for range high
  • Subtract the half range from opening price for range low

From here we will need to backtest this. I am considering something likes this:

  • When price touches a range high or low buy/sell
  • Stop loss with be half of the half range or a quarter of the total range.
  • Take profit will be the opposite range.

The plus side to this system is that it is easy to execuete and provides us with a 2:1 Reward to Risk ratio. So, it can be wrong over 50% of the time. I am not saying go out and trade this right away. More work needs to be done here. Backtesting, larger sample sizes and strategy development but, this is a great starting place. From here I plan to forward track this data so that I always have the most recent data. I also think if the first iteration of this strategy proves to be successful then I will create an indicator and some software surrounding this concept.

Stay tuned for part 2 where I will break down the backtesting data!

One response to “Predicting E-Mini S&P 500 Range Using Yesterday’s VIX Closing Price Part 1”

Leave a Reply

Your email address will not be published. Required fields are marked *