Trade Talk Blog

The official blog of Trading Technologies, your source for professional futures trading software.

← Back to Trade Talk Blog

Last week the CFTC issued a report detailing the flash crash experienced in the U.S. Treasury cash and futures markets on October 15. The report highlighted the lack of a “smoking gun” culprit as the cause of the sudden and dramatic price swing witnessed in these markets. Instead, it pointed the finger at a culmination of many factors, including downward pressure on yields leading up to the event combined with an economic data release which contradicted the market’s expectations of a rate increase. It also highlighted another phenomenon prevalent in today’s highly automated markets: self trading.

Technology to Blame

According to the CFTC report, nearly 15% of all transactions were “wash trades” during the period in question, meaning the same person—or two people trading the same account—represented both the buyer and seller on a trade. While this is an incredibly high percentage, what is more troubling is the fact that the average daily percentage of self trading on the cash Treasury markets is nearly 6% of all volume according to the agency’s report. Even though wash trading is typically forbidden in futures markets, it is nevertheless a common occurrence as trading systems and strategies grow in complexity and capabilities.
Source: Nanex

Many exchanges have built self-match prevention measures into their matching engines, but they are an “opt-in” feature and are largely considered a blunt instrument trying to solve a more nuanced problem. Self-match prevention is also increasingly under the regulatory microscope due to its role in facilitating spoofing: the assumption goes that if a spoofer is really looking to sell, he or she can put a large bid into the market to encourage other buyers to join and then sell through the level he or she was bidding. This has the effect of creating the necessary size into which the trader can sell while relying on the exchange to safely cancel the resting bid when self-match prevention is enabled.

For many years, TT helped in addressing this problem with a similarly blunt instrument: Avoid Orders That Cross or, as our customers call it, AOTC. This feature gives users two options when an inbound order would cross a resting order of their own: reject the former, or cancel the latter. AOTC, which is optional, helps trading firms and clearing firms avoid the potential fines associated with significant wash trading. Whereas most exchanges historically gave warnings for the occasional and clearly inadvertent wash trade, increasingly they are cracking down on the practice with stiffer penalties.

Frequently, wash trades occur because traders deploy many simultaneous trading strategies that trade many instruments, often with overlapping contracts and with pricing logic that can sometimes contradict each other. Given the right series of events—and the right level of volatility—it is not uncommon to see two different algos attempt to take opposite sides of the same contract. Features like AOTC were tailor-made to address this type of self trading.

But unfortunately there’s a scenario in which this can occur that is even more difficult to prevent and for which a feature like AOTC does not help. Many large, geographically-distributed trading groups trade on separate sub-accounts that all roll up to a single position owned by the parent company. This is prevalent particularly with large physical commodity trading groups, which often have branches in many cities worldwide but share a common purpose: to hedge the firm’s commodity risk.

Often when two traders who trade the same products sit next to each other at one of these firms, they’re usually aware of each other’s positions. If they determine they are working opposite sides of the same (or related) contract, they’ll simply transfer the risk on their internal accounting system. If trader A is looking to become long 500 contracts and trader B is looking to short the same, they can agree to cancel their working orders and offset each other’s positions; to the parent firm the risk is no different than if they actually traded with each other on the exchange’s central limit order book. But this practice is obviously made difficult—and usually impossible—as the number of traders and the distances between them grow.

Technology to the Rescue

This is why we are excited to be launching a feature we call Position Transfer, which is available on the next-generation TT trading platform and is an enhanced version of AOTC. Position Transfer automates the back-office function of matching two orders for the same account, irrespective of the physical location of the two parties and the source of the orders.

When Position Transfer is enabled, orders belonging to the same account that are destined to cross will be matched using the same in-house matching engine we’ve built to facilitate our simulated trading environments. We handle the complexity of issuing cancel or change requests to the exchange for the resting order, and we submit synthetic fills to both parties which are interpreted by their trading front-ends and automated strategies as traditional fills.

Because the new TT platform puts such an emphasis on performance, it was important to us to ensure that having Position Transfer enabled would not create undue latency. Adhering to a very strict latency budget required us to build a two-tier system whereby inbound orders are checked against working orders with negligible performance impact. Only when a match is detected is the order transferred to our matching engine, which performs the remainder of the duties. Traders can therefore safely enable Position Transfer even while running black-box trading strategies built with TTSDK™ or ADL®, or while using tools like Autospreader®.

While Position Transfer promises to be a helpful tool on its own, when combined with our flexible account hierarchy, it allows firms to have complete control over how they choose to prevent wash trading for their internal groups. This ensures that they can remain compliant with all applicable government and exchange-based rules. For example, the model allows firms to create their own internal sub-accounts beneath their FCM-provided clearing account, and to only apply the Position Transfer option across these internal accounts.

As excited as we are about releasing Position Transfer, we feel we are only scratching the surface of this technology. In future versions, we plan to make this even more powerful by including:

  • Matching of synthetic order types (e.g., two Autospreader orders matching on price without ever having to quote or risk being legged in a live market).
  • Configurable price tolerance to transfer positions of two orders that are are very close to matching on price, but less than a few ticks apart. This can be defined manually or automatically based on fee/commission schedules uploaded by users.
  • Options for human intervention upon entering into a potential wash trade (i.e., trader is prompted to decide how the software should proceed).
  • Configurations to consider current market liquidity so that aggressive orders are sent directly to the exchange when they are highly unlikely to result in a wash trade with a resting order due to its position in queue or distance from the current best bid or offer.
  • Custom pricing models to ensure fairness for both sides of an internally generated fill (current logic synthesizes fills at the resting order’s limit price).
  • The ability to see resting orders that exist from other internal traders, even across accounts.

Position Transfer will be available in production on August 15. Stay tuned to learn more about the feature as we continue to iterate and roll out new enhancements. If we’ve piqued your interest, feel free to reach out to us to learn more or to schedule a product demo. Or you can kick the tires of the new platform yourself by going to—it only takes a few seconds to create a demo account.