Case Study: How to Significantly Reduce Drawdowns Using Market Internals

In 2014 I spent about 6 straight months using this unique trader tool called Market Internals, exploring its possibilities every day and looking for new and creative implementation ideas for my own Automated Trading Systems (ATSs). With a real obsession with this concept, I eventually found almost 40 new ideas (mainly my own proprietary ideas) on how to get the most out of this great tool and slowly started to implement many of them in my own trading – with great success.

I firmly believe that market internals can give a trader a small, unfair advantage – if thought through carefully and executed well, especially in new, creative ways. So in this article I want to give you a very brief introduction to the world of Market Internals, along with an example of one of my private Market Internals filters – to show you just how dramatic the effects of using Market Internals can be – in a more favorable way Way.

Introduction: What are Market Internals (MI)

We all know how difficult it is to find a new, viable trading advantage. We are also aware that the scope of our capabilities is quite narrow: it doesn’t matter which trading indicators or other technical analysis tools we use – most of the time they all use the same data source anyway. This data consists of Open, High, Low and Close values ​​of the bars on our trading chart, and whichever trading indicator we use, we are basically just using a slightly different interpretation of the same OHLC values.

So if we really want to go one step further and implement a broader view for our trading decisions (entry/exit conditions for trading), we need to start investigating outside of the OHLC values. For example, we can implement information like volume or open interest in our trading entry/exit conditions, which is not a bad idea at all, and many of my ATSs use OHLC values ​​along with volume effectively.

However, we can go one step further.

We can do something that many traders don’t even know they can do: we can start making our trading decisions (entry/exit) based not only on the data from the underlying market but also to consider the market (its general direction, quality, strength and general “mood”) as a whole!

Introduce yourself:

Wouldn’t it be awesome to know where the stock market is as a whole before we take a position in our Emini S&P strategy?

And that’s what Market Internals is all about: The ability to read the market as a whole and effectively incorporate this much broader view into our trading decisions.

Market Internals: A Quick Introduction

What exactly are market internals? Where are you from?

Quite simply: market internals are information about the entire stock market, which is usually provided by the stock exchanges (NYSE, AMEX) in the form of an independent data feed.

And this data feed gives us instant real-time information about the general stock market situation.

Market Internals allows us to get instant and real-time information such as:

  • How many stocks in the Dow Jones Index just went up and how many went down?

  • Is the volume of all rising stocks from the Dow Jones Index higher or lower than the volume of all falling ones?


  • How are ALL stocks moving across the NYSE? Are most of them rising or falling?

  • How many stocks have a price that hasn’t changed?

  • In which direction does most of the volume go? Top or bottom?

  • Are the 30 stocks in the Dow Jones index consistent with the rest of the market, or has the Dow Jones index taken on a life of its own?

As you can see, there is a lot of information that can be gleaned from this standalone data feed about the stock market as a whole (and later used in our strategies).

All of this information can be broken down into several different categories, and each category has its own importance and preferred method of implementation. However, since space for this article is very limited and the Market Internals topic could contain more than a dozen such articles, I will focus on just one Market Internals category, one of my favorites, the MI pair UVOL -DVOL.

Market Internals: UVOL-DVOL

This category of MI is simply two separate data feeds provided by the exchange:

$UVOL monitors the total volume of all rising stocks on the exchange.

$DVOL monitors the total volume of all falling stocks on the exchange.

By using these data feeds (often referred to as MI indicators) we can monitor the loudness on one side or the other, giving us a better idea of ​​where the loudness is going i.e. which side is stronger. This is of course a very powerful view of the market that can give us a lot of important information (if we know how to use it).

For convenience, we usually put two different data symbols on our chart (data2 and data3) to start using the UVOL-DVOL pair for our trading.

Then we can start using these MI indicators as additional or even leading filters (or as I usually call them – “super filters”) to our existing systems – aiming to improve them significantly.

Let’s look at such a state in practice. I will reveal one of my proprietary UVOL-DVOL MI conditions that I use as a filter for many of my breakout index or stock strategies (MI can only be implemented on indexes or stocks of futures indices).

UVOL-DVOL as a filter for significant improvement

To demonstrate the effect that market internals can have, I decided to use the simplest condition I can think of – a primitive breakout condition high=highest(h,N1). I have not tweaked the N1 parameter, nor have slippage and commissions been included in the results shown below – the purpose of this article is not to present a working breakout trading system, but to demonstrate that Market Internals can be applied to even the most basic systems and receive immediate and very often dramatic improvements. For the N1 parameter, I used the first number that came to mind, the number 20.

Here is the basic code I will use to demonstrate the effects of Market Internal’s Super Filter. The test will be carried out on the EMD.D market in the 15-minute period from 03/22/2006 – 03/21/2016:

If high = highest (h,20), then buy this bar last;



Here are the results:

Net profit: $79,440

Win factor: 1.17

Dec. trade: $36.52

Max drawdown (just before closing): $12,650

Net Gain / Max DD: 6.28

Number of trades: 2175

Now let’s move on to implementing a very simple market internals condition based on the following rules:

  • Calculate the difference between UVOL and DVOL,
  • Calculate a 30-bar simple moving average of this difference.
  • When the UVOL-DVOL difference is above the UVOL-DVOL difference moving average AND high = highest (h,20), a long position is opened,
  • The position will be closed at the end of the day or when the $600 stop loss is hit.

I’m about to show you the result of applying this code to the original system. But first I have to mention that I used some small extensions like taking into account the zero line of the UVOL-DVOL difference to override the “super filter” in certain situations – all this is in the code and workspace that you can download at the bottom of this article. However, the basic idea is exactly as I described it – to work with the UVOL-DVOL difference and with the moving average of this difference.

Let’s take a look at the results after applying Market Internal’s Super Filter. First the performance report:

Net profit: $76,000

Win factor: 1.38

Dec. trade: $63.81

Max drawdown (just before closing): $7,790

Net Gain / Max DD: 9.76

Number of trades: 1191

And finally, the comparison table showing the results before and after applying the Market Internals-based “super filter”.

Metric / Before MI / After MI / Improvement

Net Profit / 79,440 / 76,000 / -4.3%

Win Factor / 1.17 / 1.38 / +17.9%

Dec trade / 36.52 / 63.81 / +74.7%

Max. DD (C-to-C) / 12,650 / 7,790 / -36.8%

Max Net Gain DD / 6.28 / 9.76 / +55.4%

Trades / 2175 / 1191 / -45.2%

I believe the numbers speak for themselves – the max drawdown has improved by almost 40% (36.8%), the average trade by +74.8% and the ratio of net profit to max DD by +55.4% . All really great improvements, and I see similar improvements from Market Internals very often.


I have been using Market Internals for my own trading since 2014.

Here’s what I’ve generally achieved by implementing them into my own trading strategies:

  • Reduce Max Retract

  • avg improve action

  • Improve the ratio of net profit to maximum DD

  • Smoother equity curve

  • Overall improvement in portfolio performance

  • Gaining additional psychological confidence by knowing that I only trade under very favorable market conditions.

I was really surprised that so few traders use Market Internals, but when I introduce them to the possibilities of Market Internals, they are usually quite enthusiastic and implement it in their own trading systems with an immediate positive effect.

It is precisely for this reason that I like them and encourage all traders to investigate them further.