Breadth Diffusion Predicts a Bounce?

SPY w dif30qtr

Recently I posted a number of articles on various breadth diffusion indicators and their relative effectiveness in predicting the health of the S&P 500. The big winner was the system that compared the number of stocks in the historical constituents of the Russell 3000 that were up 30% or more over the last quarter (60 trading days) vs those were 30% or down over the same period. You can read the whole series here.

The breadth diffusion value is computed as (up30 / (up30 + down30))*100. Suffice it to say, we have been seeing very low numbers recently. The current value is 8.2. So I thought I’d go back and see what those low numbers have foretold in the past.

Looking at the period of 1/1/2000 through 12/31/2015, we have had only twenty times that the diffusion value has dipped below 10. Below you can see all 20 of them, with the diffusion value, plus the 5, 10 and 20 day gain/loss for each instance:

low 30qtr dif
The average 5-day gain/loss of the S&P 500 is 2.9365%, while the average 10-day G/L is 5.4655% and the 20-day G/L average is 6.3975%. The 5-day period following such a low diffusion number has been positive 75% of the time, the 10-day period has been positive 90% of the time, and the 20-day period 80% of the time.

All that to say a bounce seems likely.

7 thoughts on “Breadth Diffusion Predicts a Bounce?”

    1. Thanks Matt. Can it be done with Quantopian? If there’s a free way to code this that would be great! Thanks again for the idea. This is the best breadth indicator I have ever seen.

      1. Thanks Todd! Perhaps I should publish the indicator values on a regular basis for those who can’t access the data in quite the same way. Hmm, must think on that.

        As for quantopian being able to do this, I can’t say for sure because I don’t use that service. However there is a post here where someone asks about getting historical constituents of indices, and quantopian doesn’t offer it. However you could construct something similar using a universe of stocks based on market capitalization, which apparently is possible. The results would be different, but perhaps similar enough to fine-tune with backtesting.

  1. Good research !
    We find that trying to pin point a decent risk to reward long entry during “High Risk” profile years ( model variable #2 ) is difficult as the returns distribution is skewed negative and volatility increases ( 2016 being identified as a high risk year ).
    Much better risk to reward long entry propositions occur during “Favorable Risk” profile years with the use of price oscillator ( model variable #5)

    1. Hi James, and thanks for your comment. I looked back over the dates of the similar events, and I would personally classify *all* of them as high-risk periods. Your system has a different definition of “high risk” since only 2002 and 2008 appear on your list. But I think many people would agree that 2010-2012 and other periods since 2000 had some bumpy rides as well. With the breadth indicator being so low, “high risk” may be redundant! 🙂 I would argue that this extreme “oversold” value of the breadth indicator often marks a market bottom, at least in the 10-20 trading day range. Which doesn’t at all conflict with a longer-term downward trend that your risk profiling describes.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.