Opening Gaps in SPY/S&P 500, part 3, Anatomy of Fading Gaps
Last Updated on November 21, 2020 by Oddmund Groette
I decided to look more into opening gaps in SPY (S&P 500). After all, a lot of traders claim to make good money on this strategy, at least according to my search on the web. For me, this is unknown territory as up until this date I have only been daytrading stocks, and my experience in trading indices is close to zero.
My database in this sample is from January 2005 until October 2012. I’m using EOD data on SPY downloaded from Yahoo!Finance. This means I only check the SPY’s Open, High, Low and Close for the day. There is no intraday data. I suspect the results are a good deal better than to expect in live trading, keep that in mind.
In my first post about opening gaps, I faded (going against the gap) gaps under 0.6%. In my findings below I’m fading every gap between 0.1% to 0.6% (and vise versa). Target is 75% of the gap size from the close.
Day of week
Mondays:
Total in % | #fills | #wins | Avg |
12.05 | 200 | 160 | 0.060 |
Tuesdays:
Total in % | #fills | #wins | Avg |
11.76 | 231 | 182 | 0.051 |
Wednesdays:
Total in % | #fills | #wins | Avg |
22.68 | 239 | 202 | 0.095 |
Thursdays:
Total in % | #fills | #wins | Avg |
18.94 | 213 | 181 | 0.089 |
Fridays:
Total in % | #fills | #wins | Avg |
17.99 | 210 | 172 | 0.086 |
The equity curve looks the best on Fridays, a lot steadier on that day. The later in the week, the better. I don’t know why. But it opens opportunities to trade other twists earlier in the week.
Period of month
Day 1 to (and including) 10:
Total in % | #fills | #wins | Avg |
22.05 | 349 | 277 | 0.063 |
Day 11 to 20:
Total in % | #fills | #wins | Avg |
27.11 | 366 | 303 | 0.074 |
Day 21 to 31:
Total in % | #fills | #wins | Avg |
34.27 | 378 | 317 | 0.091 |
Worth noting is that the 1st day of the month is horrible. The last two days of the month are very good.
Gaps inside yesterday’s bar
When SPY either opens below yesterday’s high or above yesterday’s low:
Total in % | #fills | #wins | Avg |
43.56 | 734 | 610 | 0.059 |
Gaps outside yesterday’s bar
When SPY opens above yesterday’s high or below yesterday’s low:
Total in % | #fills | #wins | Avg |
39.88 | 359 | 287 | 0.111 |
The equity curve looks a lot better for gaps outside yesterday’s bar than those gaps inside. The average is also a lot better.
Gaps outside 3 days range
Gap up must open higher than the high of the previous 3 days and vice versa for longs.
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
24.14 | 197 | 158 | 0.123 | 6.65 | 17.50 | 56 | 141 |
This equity curve looks really nice! These days we can even trade gaps up until 0.75% with very good results.
Yesterday unfilled gap down
If yesterday gapped down (when high of yesterday is lower than low two days ago):
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
5.21 | 33 | 30 | 0.158 | 3.21 | 2.00 | 12 | 21 |
Very good results, but not surprisingly it’s long which is best. All longs hit the target. A good example of reverting to the mean.
Yesterday unfilled gap up
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
8.97 | 66 | 58 | 0.136 | 6.48 | 2.49 | 34 | 32 |
If it’s a gap up the day before, both directions are good. In general, if unfilled gap yesterday, the better chances to fade the gap.
Gaps after a high range day
What happens if yesterday had a higher range (HIGH-LOW) than the 15 days average?
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
34.30 | 439 | 363 | 0.078 | 19.57 | 14.73 | 168 | 271 |
Gaps after a low range day
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
48.86 | 640 | 527 | 0.076 | 18.52 | 30.34 | 297 | 343 |
Gaps when yesterdays close was above 10 day moving average
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
56.94 | 682 | 561 | 0.083 | 23.85 | 33.09 | 326 | 356 |
Gaps when yesterdays close was lower than 10 day moving average
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
26.32 | 404 | 332 | 0.065 | 14.24 | 12.08 | 141 | 263 |
Gaps when yesterdays close was at least 2% above 10 day moving average
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
11.23 | 94 | 84 | 0.120 | 6.87 | 4.36 | 59 | 35 |
Gaps when yesterdays close was at least 2% below 10 day moving average
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
15.89 | 86 | 82 | 0.185 | 9.14 | 6.75 | 34 | 52 |
Gaps when the close is above 0.5 in yesterday’s range
Here I’m using the formula (CLOSE-LOW)/(HIGH-LOW) to decide yesterday’s range:
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
34.98 | 612 | 485 | 0.057 | 12.90 | 22.08 | 280 | 332 |
Gaps when the close is below 0.5 in today’s range
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
47.98 | 479 | 410 | 0.100 | 25.06 | 22.92 | 189 | 290 |
Gaps when the close is above 0.75 in yesterday’s range
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
27.67 | 359 | 299 | 0.077 | 11.21 | 16.47 | 167 | 192 |
Gaps when the close is below 0.25 in today’s range
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
32.76 | 264 | 229 | 0.124 | 14.77 | 17.99 | 98 | 166 |
Why is gaps much better when yesterday’s close is lower than 0.25? Both long and short are better with a nice and steady upward sloping equity curve.
Gaps when yesterday’s open is lower than yesterday’s close
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
39.44 | 556 | 451 | 0.071 | 17.55 | 21.89 | 261 | 295 |
Gaps when yesterday’s open is higher than yesterday’s close
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
43.71 | 528 | 439 | 0.083 | 19.57 | 24.14 | 203 | 325 |
Yesterday gapped down and closed below 0.33 on the daily range
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
10.30 | 160 | 134 | 0.064 | 4.39 | 5.91 | 62 | 98 |
Yesterday gapped up and closed above 0.66 on the daily range
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
17.20 | 262 | 217 | 0.066 | 11.01 | 6.19 | 132 | 130 |
Gaps on the day of the monthly jobs report
This is the most important macroeconomic news in the month and might be worth considering. It’s on the first Friday of the month. Friday is the best gap day of the week. Here is the result on those days:
Total in % | #fills | #wins | Avg | % long | % short | #fills long | #fills short |
3.40 | 44 | 36 | 0.077 | 2.20 | 1.20 | 13 | 31 |
The win rate is pretty good, but the average is below other Fridays. So this is perhaps worth mentioning.
Nice post. Pretty interesting and comprehensive stats. I was also thinking of investigating this area i.e., fading gaps to compliment my methodology. Your post is timely.
Thanks. You have some pretty interesting posts yourself!
Hi Oddmund,
Thanks. Thought you might be interested in my recent post related to your question i.e.,
Why is gaps much better when yesterdays close is lower than 0.25? Both long and short are better with a nice and steady upward sloping equity curve
http://www.atraderjournal.com/2012/10/research-profiting-from-crowd-emotions.html
Hi, thanks for the update. Yes, this is kind of my favourite “indicator”. Very simple, yet very effective, so I totally agree with your introduction on how to keep things simple. Are you trading SPY?
Hi Oddmund,
I trade SPY — multi day swing plays. Bulk of my trading is primarily on NQ futures (intraday) though. Regards.
Taking into consideration that high and low data has a lot of errors, are, in your opionion, any of these strategies tradeable?
Oh yes, but need to be careful. I used data from IB that I downloaded and the result is worse. Still tradeable though. But I only use open and close in my data to be on the safe side. That data is in general very reliable in SPY.
I find your past postings to be very interesting, informative, and thought-provoking. But it has been some time since your last post. Trusting your health is well, have you given up on posting? Respectfully.
Hi, yes my health is well 🙂 Right now I have been involved in another project about investing, I’ll write something about it later.
Oddmund
Very interesting posts on S&P gap opening strategies. I’m curious to know if you have continued trading these strategies. Have you noticed any changes in the accuracy of available data? I use data off of the Interactive Brokers platform. I have definitely seen issues with opening prices that I have chalked up to different platforms not having a synchronized clock as well as differences in what exchanges are used for prices. One would think SPY would be very consistent since it’s so widely traded.
One other question is how you would actually trade a strategy like this? You don’t know the open until it happens, but by then it’s likely too late to get that price. Seems like that would introduce a lot of variance between the modeling and actuals.
Hi, no, I’m not trading this anymore. I used to trade some variances of SPY gaps, but I believe this is a very crowded trade. And as you say, the accuracy of the data is a problem. You need to verify your trades with backtests (with a small size) if you try to trade. ALWAYS trade or test out of sample.
SPYis heavily traded before opening, so we know pretty well where it is before open.