How we calculate our Market Breadth Indicators

How we gather market breadth data

Market breadth indicators aim to reflect the health of a market (usually represented by an index, such as the Nikkei 225 or Dow Jones).

Hence it is vital for market breadth indicators to find a way if the broad market is healthy or not. The “health state” is usually determined by looking at all index components (usually the individually stocks) and their state: Is the index member trading above a specific SMA or did it advance for a particular day? Is the current day’s volume higher than yesterday? I think you get the point.

When looking at all those data for all index components as one unit, e.g. by creating a sum or a difference, some statement can be made about the health of a particular market on a particular day.

At the moment, we gather our raw data by having different data sources. For checking if index components advanced or declined, we tap publicly available sources and create our own advance vs. decline data. For checking if index members trade above their SMA50, SMA100 or SMA200, we download official and legally available data from various sources and run calculations for each individual index member. And for the index itself (the pricing, volumes etc.), we download the data from various sources aswell (depending on the index).

The challenges

The challenges or calculating market breadth data are indeed real challenges. Usually, one needs to know the following things to calculate the well-known market breadth indicators:

  • Number of index components which advanced (price, volume)
  • Number of index components which declined (price, volume)
  • Number of index components trading above their SMA/EMA..

Some of you might now disagree with us. Don’t the NYSE and the NASDAQ provide similar data for advancing and declining stocks anyways? Well, yes. They do, but they don’t provide the numbers of the specific indices, instead, they provide data for all equities listed on their exchange, thus providing many more data sets than actually required

The advantage here is that they provide “broad” data indeed, the disadvantage is that this data is not specific for a specific index. This means that many small companies being listed at NASDAQ and being hyped or dumped will have influence on the market breadth indicators, although those equities are not listed in relevant indices.

So, the real challenge is to actually get data for the specific index members: Did they advance or decline for a specific day and were they above or below some SMA line?

As you might know, this data is usually publicly not available, at least not in a way that you can download it legally and make use of it. So our challenge was to find a way to receive a list of all index components and check if they advanced or declined. And, in addition, we need to make sure we track all index changes. So when an index member gets thrown out of an index, we need to stop considering this data and calculate our market breadth on the new member instead.

So at, the market breadth data will always consider the index members of the specific trading days. If they are replaced on the next trading day, they will stop being considered, but their old data will be left in place for the previous trading days. This way we have real accurate market breadth data which is not distorted by considering data from index members which are new and were not present during the last months.

By the way: We’ve also started calculating market breadth indicators for crypto indices. Usually, there is no “official” data of advancing or declining crypto currencies on any exchange, at least we are not aware of it. This means we have to generate this data on our own as well.

Why we started this way

As mentioned in the previous sections “How we gather market breadth data” and “The challenges”, we started to collect our own market breadth data.

This means we tap various sources and store this data somewhere. This makes sure we have all historical data in our hands, thus not relying on third-party suppliers for being stable and reliable. This gives us full control over the historic market breadth data and we can use it for existing and upcoming calculations and also for new features (such as introducing new indicators based on already existing data).

Since we tap many sources, we are also able to compare the raw data with other sources, giving us an impression how reliable a specific data source really is.

With building up our own raw data for calculating market breadth indicators, we will be able to become a reliable source for market breadth on the long run.

This also makes sure that our current conditions – supplying the visualizations for free and without any ads – can stay in place if the costs can be kept down. If we would rely on third-party suppliers for providing the raw data on demand, we would have to implement a pay wall if they introduced higher prices.

We started with the Advance Decline Line, the McClellan Oscillator and the McClellan Summation Index since they are all based on the same data. It was not too difficult to generate this data, so it was a good start for us.

In the future, we hope we can also offer volume-based market breadth indicators for popular indices, such as the Nikkei 225, the Dow Jones or SDAX, MDAX and so on. However, it will take time to implement such things.

How our Market Breadth Indicators are calculated