Dark Market Design, Part I: Overview

As mentioned in the analysis of the performance of the first incarnation of CASTrader, one of the key components of CASTrader II will be a more sophisticated dark market. This three part series will look at the basic design of the dark market and it’s external components. At left is a diagram of how the dark market will interact with other components of CASTrader.


The “Traders” block basically represents what has already been implemented - a market pattern finder. The traders will receive some upgrades, but the basic coding is done. The upgraded traders will interface directly with the dark market, rather than a real-world market.

Dark Market.

The dark market design itself isn’t really all that interesting, except for what basic form it will take and how it will operate. Should I pattern it after the stock market or something else? I’ll cover that in Part II. As far as how it will operate, the CASTrader dark market will run continuously 24/7 and be commission-free, unlike some of the real markets it will interface to. These features provide several advantages:

  • Easier coding - no need for traders to know when markets are open or closed. Continuous information integration - at some point, traders in CASTrader will trade on the news, and the ability to do that 24/7 may provide an advantage to CASTrader.
  • Enable more sophisticated strategies - in a 24/7 market, other, more sophisticated trading strategies can be eventually implemented.
  • Strategies that are marginal in a market with commissions may be feasible in the CASTrader dark market, enabling greater partial diversity.

Right now, the market will be fairly basic, but eventually the market will have an open order book and traders that take advantage of it.


Arbitrageurs will connect the dark market to the real market, engaging in riskless arbitrage between the two markets. Whenever the dark market gets out of whack vs. the real market, the arbitrageurs will bring them back in line for a guaranteed profit. Eventually, the arbitrageurs will be automated agents, but for now, the arbitrageur will be me with the help of some alerting software. Arbitrageurs will effectively present the net trade (or sum total of knowledge) of CASTrader to the real market via an aggregated trade. They enable the benefits of partial diversity and commission-free trading while still hopefully extracting money from the real markets. They will only do this when they can cover real-world commission costs. Eventually, I’ll experiment with automated arbitrageurs that take some calculated risks via statistical arbitrage.

Market Makers. Finally, market makers will provide the dark market with liquidity, just as they do in real markets. Market makers will be automated algorithms. The easiest market maker to add is the Shannon Trader. I’ll discuss the Shannon Trader and market makers further in Part III.

Continuous Improvement.

All of the agent components (traders, arbitrageurs, and market makers) will be subject to continuous improvement. My basic philosophy is this: if a new agent can be created that is profitable, it is going to extract money from one of two sources - other CASTrader agents, or the real market. In either case, it’s a good thing. In the former case, it simply makes CASTrader less susceptible to lose money to the real market. The new agent profits at the expense of older agents and keeps the profits rather than letting the real market take them. Thus, development will be focused on three areas rather than just market pattern finding.

Implementation details.

Any one of the components will be designed to run on separate computers, or at least in separate processes. This will allow an easy way to distribute the processing load among various networked computers as CASTrader grows. Even the dark market could be broken up across computers by partitioning the set of securities traded among several component markets. In Part II, I’ll discuss what form these markets will take.