Schaeffer's Top Stock Picks for '25

What This Sentiment Indicator Means for the S&P 500

Plus, a list of the individual signals

Senior Quantitative Analyst
Oct 20, 2021 at 8:00 AM
facebook X logo linkedin


A few months ago, I wrote about the buy-to-open (BTO) put/call ratio on S&P 500 Index (SPX) stocks hitting an extremely low level. It concluded that a low ratio was nothing to be afraid of, but a high ratio had been a good buying opportunity. The ratio is nowhere near a historically high level, but I guess it’s good news it’s heading in that direction. What I’m focusing on this week is what has happened in the past when you get a sudden spike in this ratio. In other words, what happens when option buying suddenly becomes more put heavy compared to just a few months ago.

iotw1019 chart 1

BTO Put/Call Ratio Spikes 

We have BTO data aggregated from three different exchanges. BTO volume filters out option volume of closing positions and that which is initiated by sellers. The BTO volume is more likely to be driven by speculation in a certain direction which is why we like this data. Since we began collecting this data in 2009, the ratio has ranged from about 0.30 to 0.90. For the analysis below, I called a 3-month increase of 0.15 a spike. I only consider the first signal over a 21-day span.

Using this methodology, there were 10 previous spikes in the BTO put/call ratio. The table below summarizes S&P 500 returns after these spikes. The second table shows typical returns for the index since 2011. The increase in the proportion of put buying relative to call buying has led to bullish stock returns. A month after a signal, the S&P 500 has averaged a return of 2.28%, with nine of the 10 returns positive. One year after a signal, the index has gained almost 20% on average, with all 10 returns positive. The average return and percent positive beat the typical market returns across all time frames listed.

iotw 1019 chart 2

Here is a chart showing the specific call and put option volume. Since 2020, the ratio has been driven by fluctuations in call buying. The put volume has been relatively steady for some time now. 

IotW 1019 chart 3

Finally, the table below shows the individual signals. The last time this happened was March of 2020, when stocks were still falling due to the emergence of Covid-19. The S&P 500 had stellar returns after that last signal. The recent occurrence happened when the ratio was at an extremely low level. The BTO put/call ratio is lower in this last signal than any of the other signals. The next lowest ratio in the table was the very first instance in 2011. The ratio during this recent signal which officially occurred on September 30th was 0.511. The ratio in mid-2011 when a signal occurred was 0.571. The returns after that signal were not too impressive.

Iotw 1019 chart 4

 

 
 

You have the chance to join one of Bernie's most exclusive programs, complete access at HUGE savings!

As we prepare for a new administration to take the reins in Washington, the near-term market landscape is rife with uncertainty.

The Federal Reserve has already hinted at the turbulence ahead, lowering its interest rate outlook for 2025.

Meanwhile, breakthroughs in artificial intelligence (AI), quantum computing, and other transformative sectors have unlocked incredible profit potential.

But these opportunities are fleeting, and timing is everything. That's where Quick-Hit Trader comes in.

Quick-Hit Trader is designed for precision and speed, getting you in and out of the market in a flash. While other investors scramble to navigate volatile conditions, you'll have access to expertly curated trades that leverage these rapid shifts to deliver explosive profits in short order.

This is your chance to capitalize on the fast-moving market like never before. Are you ready to make your move?

 

 

(function(doc, script) { var js, fjs = doc.getElementsByTagName(script)[0], frag = doc.createDocumentFragment(), add = function(url, id) { if (doc.getElementById(id)) {return;} js = doc.createElement(script); js.src = url; id && (js.id = id); frag.appendChild( js ); }; // Google+ button //add('https://apis.google.com/js/platform.js', async="defer"); // Facebook SDK add('//connect.facebook.net/en_US/all.js#xfbml=1&appId=772755279557744', 'facebook-jssdk'); // Twitter SDK //add('//platform.twitter.com/widgets.js', charset='utf-8'); fjs.parentNode.insertBefore(frag, fjs); }(document, 'script'));