Global Investment Bank Speeds Up Their Equity Trading System with Caché

pdf

Available in .pdf

One of the world’s largest providers of financial services* is innovating with InterSystems Caché® in order to meet the challenges posed by their dramatic growth.

  • Performance
  • Scalability
  • Dynamic Data Caching

This global investment bank originally developed their equity trading system in the mid-1990’s. But over the past decade, the volume of equities trades processed by the bank has skyrocketed, due to market volatility, modern trading practices, and a significant increase in their customer base. Faced with greatly increased trading volumes, the system was bogging down.

As a first step towards improving performance of their equity trading system, the bank revamped their global order routing architecture, which stands at the heart of their trading infrastructure. In its original incarnation, the order routing application was based on an internally developed in-memory data cache with a simple SQL parser for querying the data. Every installation required a dedicated server, each of which held in its data cache a set of “memory maps” – dynamic indices to the data residing in all the other instances of the application. To solve those problems, the bank ported the order routing application’s memory map caches to Caché. They adopted a modular architecture in which data caching, data persistence, data querying, and messaging are all logically separate. Caché is ideal for this scenario since it can function as an in-memory cache while still providing full persistence. Using Caché’s light C++ bindings, they were able to increase performance by more than a factor of five.

In addition, through the use of Enterprise Cache Protocol (ECP), Caché’s built-in support for dynamic distributed data caching, they were able to replace the internal “memory maps” with an application server layer based on Caché. That allows queries to run in real time without slowing down the processing of trades.

Phase two of the project involved improving the performance of the global order management application, through which traders generate the orders processed by the global order routing architecture. Order management clients are installed on over 1,200 desktops around the world, each maintaining a local cache of data and communicating with a central data cache on a “middle tier” of servers. The middle tier in turn communicates with the order routing application. The bank implemented Caché on the middle tier servers, and uses ECP to cache data locally on the order management clients. The result is both a significant increase in performance and a dramatic reduction in the time required to recover from outages.

Basing their equities trading system on Caché is providing this global investment bank with the performance and capacity they need to meet the challenges presented by strong growth now, and well into the future.

* The name of this bank is omitted from this case study because of the bank's policy not to publicly endorse technology partners.