Using dark pools as predictors of equity market turning points.
Peaking into dark pools for market forecasting.
Dark pools are private trading exchanges that are not available to outside retail investors. The main reason for the existence of dark pools is to facilitate block trading between big institutional investors. Knowing the movements of dark pool operators is a valuable add-on to equity trading. In this article, we will create two strategies using two different “behind-the-curtains” indicators in predicting market movements. Our aim is to see whether they are useful or not, especially that the two indicators are publicly available.
If you’re interested in seeing more Sentiment trading techniques, I’ve written about the COT report here in medium: Forecasting supply and demand: The commitment of traders’ report and its use in trading & investing.
Squeezemetrics publishes two free daily indicators that track dark pool activities in the US market. The Dark Index (DIX) and the Gamma Exposure Index (GEX). Both are a great gauge for the US stock market. We will discuss them in more details and back-test simple strategies that use them as triggers.

How will we differentiate the good strategy from the bad one? We’ll use a simple performance measure called expectancy. It’s very intuitive and serves as a good gauge to evaluate the strategy.
Expectancy is a flexible measure that is composed of the average win/loss and the hit ratio. It provides the expected profit or loss on a dollar figure weighted by the hit ratio. The win rate is what we refer to as the hit ratio in the below formula, and through that, the loss ratio is 1 — hit ratio.

We will see how we will get the best expectancy out of both strategies.
Strategy #1: The Dark Index-DIX
The Dark index provides a way of peeking into the secret (dark) exchanges. it is calculated as an aggregate value of many dark pool indicators (another type of release provided by squeezemetrics) and measures the hidden market sentiment. When the values of this indicator are higher than usual, it means that more buying occured in darl pools than usual. We can profit from this informational gap. It is therefore a trail of liquidity providers (i.e. negatively correlated with the market it follows due to hedging activities).

The DIX in absolute value is not very useful to us and so, we need to transform it into values between 0 and 1. This process is called normalization. We can develop a Python function that takes a dataset and normalizes it:
def normalizer(Data, norm_lookback, position, what_normalize):
for i in range(len(Data)):
try:
Data[i, position] = (Data[i, what_normalize] - min(Data[i - norm_lookback:i + 1, what_normalize])) \
/ (max(Data[i - norm_lookback:i + 1, what_normalize]) - min(Data[i - norm_lookback:i + 1, what_normalize]))
except ValueError:
pass
By choosing the DIX values with a lookback of 98 and a holding period where we close out whenever we have another signal, we will get the below chart of a normalized DIX and the S&P500 (in the first panel).

Trading based on the following conditions:
- Buy whenever the DIX normalized hits 1.00.
- Short sell whenever the DIX normalized hits 0.00.
We get the following results:


Profit factor = 2.515
Hit ratio = 50.59 %
Expectancy = 31.43
The equity curve seems to show amazing performance lately after using the DIX strategy.
Strategy #2: The gamma exposure index -GEX
The gamma exposure index relates to the sensitivity of option contracts to changes in the underlying price. When imbalances occur, the effects of market makers’ hedges may cause price swings (such as short squeezes). The absolute value of the GEX index is simply the number of shares that will be bought or sold to push the price in the opposite direction of the trend when a 1% absolute move occurs. For example, if the price moves +1% with the GEX at 5.0 million, then, 5.0 million shares will come pouring in to push the market to the downside as a hedge. As documented, the GEX acts as a brake on prices when it’s high enough with a rising market.

By choosing the GEX values with the same lookback of 98 and a holding period where we close out whenever we have another signal, we will get the below chart of a normalized GEX and the S&P500 (in the first panel).

Trading based on the following conditions:
- Buy whenever the GEX normalized hits 0.00.
- Short sell whenever the GEXX normalized hits 1.00.
We get the following results:


Profit factor = 1.638
Hit ratio = 39.56 %
Expectancy = 14.93
The equity curve seems to also show good performance.
However, these two simplistic strategies can be optimized in many ways:
- Further optimization of the normalization look-back and the holding period can lead the way to more complex strategies.
- Adding these two powerful sentiment indicators to the trading strategy can raise convictions.
- As the DIX is negatively correlated with the US market while the GEX is positively correlated, we can form a composite of the GEX-DIX difference that may even help give us better trading signals.
[1] Source: https://squeezemetrics.com/monitor/docs the full documentation can be found in the link.
