In 2014, I spent about 6 months in a row with this unique traders tool called Market Internals, exploring its possibilities every single day, searching for new and creative implementation ideas for my own automated trading systems (ATSs). With a real obsession with this concept, I finally found almost 40 new ideas (mostly my own proprietary ideas) on how to squeeze the most out of this great tool, and slowly started implementing many of them into my own trading – with great success.
I truly believe that Market Internals can give a trader a small, unfair advantage – if thoroughly thought out and implemented well, especially in new, creative ways. Therefore, in this article, I would like to give you a very brief introduction into the Market Internals world, together with an example of one of my private Market Internals filters – to show you, how dramatic the impact of Market Internals deployment can be – in a favorable way.
Introduction: What are Market Internals (MI)
We all know how hard it is to find a new, viable trading edge. We are also aware that the scope of our possibilities is quite narrow: It doesn’t really matter what trading indicators or other tools of technical analysis we use – most of the time they all use the same source of data anyway. This data consists of Open, High, Low and Close values of the bars in our trading chart, and whatever trading indicator we use, we basically use only a slightly different interpretation of the same O-H-L-C values.
So, if we really want to go a step further and implement a broader view for our trading decisions (trading entry/exit conditions), we have to start investigating outside of the O-H-L-C values. We can, for example, implement information like Volume or Open Interest to our trading entry/exit conditions, which is not a bad idea at all, and many of my ATSs use O-H-L-C values together with Volume effectively.
However, we can still go a step further.
We can do something that many traders have no idea they can even do: We can start making our trading (entry/exit) decisions based not only on the data coming from the underlying market but also on taking into consideration the market (its overall direction, quality, strength and overall “mood”) as a whole!
Wouldn’t it be fantastic to know where the stock market as a whole is heading, before we enter a position in our emini S&P strategy?
And that is exactly what Market Internals are 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
So what exactly are Market Internals? Where do they come from?
It’s very simple: Market Internals are information about the overall stock market, provided by the stock exchanges (NYSE, AMEX), usually in the form of a standalone data feed.
And this data feed instantly provides us with real-time information about the overall stock market situation.
Using Market Internals we can immediately, in real-time, start receiving information like, for example:
- How many stocks from the Dow Jones Index have just moved up and how many down?
- Is the volume of all rising stocks from the Dow Jones index higher or lower than the volume of all falling ones?
- How do ALL stocks move in the entire NYSE? Are most of them rising or falling?
- How many stocks have a price that hasn’t changed?
- What is the direction of the majority of the volume? Up or down?
- Do the 30 stocks in the Dow Jones index correspond with the rest of the market, or does the Dow Jones index now live its own life?
As you can see, there is plenty of information that can be obtained through this standalone data feed about the stock market as a whole (and later on, to be used in our strategies).
All this information can be split into several different categories, and every category has its own meaning and preferred method of implementation. However, because the space for this article is very limited, and the subject of Market Internals could give more than a dozen articles like this, I am going to focus only on one Market Internals category, one of my most favorite, the MI pair UVOL-DVOL.
Market Internals: UVOL-DVOL
This category of MI simply consists of two separate data feeds provided from 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 called MI indicators), we can monitor the volume on one side or the other, so we can get a better idea where the volume is moving to, i.e. which side is stronger. This is, of course, a very powerful view on the market that can provide us lots of important information (if we know how to use it).
From a practical means, we usually add two different data symbols into our chart (data2 and data3) to start using 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”) for our existing systems – with the goal to improve them significantly.
Let’s have a look at such a condition in practice. I am going to reveal one of my proprietary UVOL-DVOL MI conditions, which 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 indexes).
UVOL-DVOL as a filter for significant improvement
To demonstrate the effect that Market Internals can have, I have decided to use the most simple condition that I could think of – a primitive breakout condition high=highest(h,N1). I haven’t done any optimization of the N1 parameter, nor have slippage and commission been included in the results shown below – the purpose of this article is not to present a functional breakout trading system but to demonstrate that Market Internals can be applied to even the most basic systems and get immediate, and very often dramatic, improvements. For the N1 parameter, I have used the first number that came to my mind, number 20.
Here is the basic code that I will use to demonstrate the impact of the Market Internals “Super Filter”. The test will be completed on the EMD.D market, 15 minute timeframe, from 3/22/2006 – 3/21/2016:
If high = highest(h,20) then buy this bar at close;
Here are the results:
Net Profit: $79,440
Profit factor: 1.17
Avg. Trade: $36.52
Max Drawdown (close to close): $12,650
Net Profit / Max DD: 6.28
Number of trades: 2175
Now let’s move to the implementation of a very simple Market Internals condition that is based on the following rules:
- Calculate the difference between UVOL and DVOL,
- Calculate a 30 bar simple moving average of this difference,
- If the UVOL-DVOL difference is above the moving average of the UVOL-DVOL difference AND high = highest(h,20), a Long position is opened,
- The position is closed by the end of the day or when the 600 USD stop-loss is hit.
In a moment, I will show you the outcome of the application of this code to the original system. But first, I need to mention that I have used several small add-ons, like for example, taking into consideration the zero line of the UVOL-DVOL difference to cancel the “Super Filter” in certain situations – all of this is included in the code and the workspace that you can download at the end of this article. Yet the basic idea is exactly as I have 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 application of the Market Internals “Super filter”. First, the performance report:
Net Profit: $76,000
Profit factor: 1.38
Avg. Trade: $63.81
Max Drawdown (close to close): $7,790
Net Profit / Max DD: 9.76
Number of trades: 1191
And finally, the comparison table showing the results before and after the application of the Market Internals based “Super Filter”.
Metric / Before MI / After MI / Improvement
Net Profit / 79,440 / 76,000 / -4.3%
Profit Factor / 1.17 / 1.38 / +17.9%
Avg. Trade / 36.52 / 63.81 / +74.7%
Max DD (C-to-C) / 12,650 / 7,790 / -36.8%
Net Profit Max DD / 6.28 / 9.76 / +55.4%
Trades / 2175 / 1191 / -45.2%
I believe that the numbers speak for themselves – maximum drawdown has improved by almost 40% (36.8%), Average trade by +74.8%, and the Net Profit to Maximum DD ratio by +55.4%. All really great improvements, and I see similar improvements of Market Internals very often.
I have been using Market Internals for my own trading since 2014.
Here is what I have generally achieved by implementing them into my own trading strategies:
- Reduce max. Drawdown
- Improve Avg. Trade
- Improve Net Profit / Max DD ratio
- Smoother equity curve
- Overall improvement of portfolio performance
- Getting additional psychological confidence by knowing that I only trade in highly favorable market conditions.
I was really surprised that Market Internals are used by so few traders, yet, when I present them the Market Internals possibilities, they usually get quite excited and implement it to their own trading systems with instant positive impact.
This is exactly the reason why I like them and encourage all traders to investigate them further.