Beyond the Continuous Double Auction - Part III, A new kind of market

This is Part III of a series searching for an alternative to the Continuous Double Auction (CDA) market to serve as the dark market for CASTrader. Part I discussed the problems associated with Continuous Double Auctions. Part II (at Midas Oracle) looked at some existing alternatives to Continuous double Auctions, and this final part examines a new type of market.

A new kind of market

It occurred to me that most of the existing and planned CASTrader trading strategies can have their market orders expressed as continuous mathematical functions. Any trading strategy utilizing the Kelly Formula, for instance, can express their order to buy or sell as a continuous function (the Kelly Formula itself), because the Kelly Formula calculates how much a Kelly adherent should invest based on the odds (price) offered - the better the odds, the more it buys. Likewise, the Shannon Method is a continuous portfolio adjusting strategy that buys/sells with price drops/rises. In fact, given a frictionless market, the Shannon Method can serve as a market maker, in a continuous manner much like Hanson’s market maker does, even in the thinnest of markets. The difference is, the Shannon Method can be profitable because it is a volatility harvester. Even more sophisticated strategies such as Cover’s Universal Portfolio can be expressed as continuous functions (except Cover’s invention applies to a whole market of stocks). Hanson’s market maker, with it’s continuous price function could also be utilized if the market needs additional subsidized liquidity, with the caveat that it need not be the only market maker. In this type of market, the line between trader and market maker is blurry.

Market Clearing

When you aggregate a bunch of continuous orders (price functions) together, clearing the market becomes a process of solving the functions for the exact price where buy and sell volume match each other, just like a call auction market. A single order or batch of orders coming in would typically be matched and partially filled by every other trader with a standing continuous order. At that exact price, the market is cleared and stable until new orders come in and the market is cleared again.

Continuous Clearing (or not) This type of market can be cleared continuously like a CDA if desired. Other than the constraint that new orders be held in a queue while the last batch is being solved for a clearing price, the market can process new orders continuously, even sequentially. However, if you prefer to mix in the liquidity and volatility advantages of a call auction market, the market can be cleared on a discrete basis on any time interval you like.

Sophisticated Order Types Sophisticated strategies become much easier to code in such a market, which means less time coding strategies and more time inventing or adapting them. For instance, VWAP algorithms don’t look very easy to code (PDF) in a CDA. By allowing traders to spread their orders over time and/or volume, as well as price in this new type of market, a VWAP algorithm becomes just another order type, and trivial to implement. In fact, many sophisticated strategies I am aware of can become just another order type, meaning they are available to all traders. The “market” becomes primarily a solving machine, with fair treatment to all comers. Front-running other trader’s orders becomes difficult, if not impossible, and all traders are on a more even playing field with regard to trade execution.

Multiple Markets

To the extent different markets are linked together by traders and arbitrageurs, the solving (clearing) process becomes a more involved number-crunching optimization problem, since equilibrium prices must be solved on all linked markets simultaneously. To the extent you have markets circularly linked by arbitageurs and traders, price solving gets significantly more computation intensive, but is perfectly suited to something like a grid.


One thing that appears to be crucial to this type of market is the absence of friction (specifically fixed friction per transaction) in the form of commissions, fees, taxes and other inducements to trade less. Any kind of fixed friction will devolve the market to just another CDA by rendering the solving algorithm into an order matching algorithm as traders switch to discrete orders to overcome friction. Friction handled as a fixed percentage of a transaction could be accomopublishDated, since it penalizes all trades equally and doesn’t force traders to use discrete orders. In the CASTrader dark market, there will be no artificial friction, and no fixed friction of any kind - the only friction this market will have will be the natural price movement due to a new order.

Optimal Trading

Say a trader believes strongly a given security will be rangebound for some time, but can’t predict price movement within the range. The trader could set up a continuous order to be maximum short at the top of the range, maximum long at the bottom, and having a smoothly varying position inbetween. The trader has a good tool for harvesting volatility via a single order, and a way of optimizing execution price vs. the opportunity cost of unfilled limit orders at guessed turning points.


There are some distinct disadvantages to this type of market to balance what appear to be substantial advantages. First, describing a continuous market order isn’t necessarily a human-friendly task. My own discretionary trading with the system will likely involve a learning curve. Second, typical trades will be broken up into many microtrades, which is a nightmare for anything but an automated accounting system. The cross-market solver will be a technical challenge to get working efficiently, but will at least be much more interesting to code than the order-matching algorithm of a CDA. Third, this is unknown territory, kind of like CASTrader, and that’s exactly why I’m choosing to adopt this new market design.

Trading Platform in Brazil