Foreign Exchange Quotation Management System
Hazelcast provides all-in-one technology for real-time FX Quotation Management
When System Architects approach a problem domain they often have to turn to multiple technologies. For FX there will be some mixture of queues, reactive message passing and flexible data storage requirements. In the past, this would mean using a relational database as the storage, separate queue infrastructure and some form of in-house code to connect these infrastructure pieces together. Only once this is in place can the development teams begin to think about addressing the actual problem domain. To complicate matters, the database and message queue software will often be provided by different vendors, and internally the teams that manage this infrastructure will often be different. In sum, the number of moving parts and organizational boundaries means that it can be challenging to quickly and cost efficiently deliver projects on time and on budget.
In the past decade, many have turned to NoSQL datastores to solve some of these problems, but they have found that these technologies still do not provide a whole solution. For instance, relational databases struggle to provide efficient expiry of data, while most NoSQL datastores do not provide ways in which outside processes can observe data changes reactively. Neither provide scalable, fault tolerant queuing capabilities.
An in-memory data grid (IMDG) such as Hazelcast IMDG provides all the capabilities mentioned above. Development teams can quickly prototype using familiar language constructs, using one product and receiving support from one vendor. Internal communication complexities across multiple infrastructure teams are eradicated. All the while Hazelcast IMDG provides highly available and fault tolerant services for queus, messaging and in-memory data storage. Organizations using Hazelcast have found their lead time time to production has been reduced, along with their operational costs, as they move away from multiple costly software licenses.
Why Most Data Stores Fall Short…
Why Hazelcast IMDG is Ideal…
|Client side reactive messaging is not an available feature in most data stores, certainly not as a vendor supported, first class feature.||Hazelcast provides reliable, highly available messaging across not just data events but also system events. The events can be received by clients and members of the Hazelcast cluster.|
|Time based expiry of messages is very hard to achieve in data stores such as relational databases.||Hazelcast provides TTL (Time to Live) at an entry and data structure level. Additionally events can be generated to inform observers.|
|Most data stores are still reliant on disk for the bulk of their storage requirements, this results in slower query times.||Hazelcast data storage is highly optimised and in-memory. Data can be retrieved in microseconds while handling hundreds of thousands of requests a second, all on commodity hardware.|
|Scaling a solution using multiple software products can be complex and costly.||Scaling a solution built on Hazelcast is as easy as starting an extra process. Hazelcast takes care of the rest, distributing data and tasks fairly, while the system is still running.|
Why Hazelcast IMDG is Ideal…
|Hazelcast provides reliable, highly available messaging across not just data events but also system events. The events can be received by clients and members of the Hazelcast cluster.|
|Hazelcast provides TTL (Time to Live) at an entry and data structure level. Additionally events can be generated to inform observers.|
|Hazelcast data storage is highly optimised and in-memory. Data can be retrieved in microseconds while handling hundreds of thousands of requests a second, all on commodity hardware.|
|Scaling a solution built on Hazelcast is as easy as starting an extra process. Hazelcast takes care of the rest, distributing data and tasks fairly, while the system is still running.|
Customer Success Story
A major investment bank in London uses Hazelcast to manage and interact with external foreign exchange brokerages to provide quotes to and from internal foreign exchange traders. The system has been in production for over 3 years and is providing 99.9% up-time. It uses multiple Hazelcast IMDG features such as in-memory datastore, messaging and time based expiry.
The Foreign Exchange Quotation Management System makes extensive use of Hazelcast Clients and the event system that enables pushing of updates in the cluster out to clients. In this system, Hazelcast Clients are used to read inbound quote requests from external brokerages using the FIX protocol. These quote requests are stored in Hazelcast distributed maps.
Trader desktop GUIs have embedded Hazelcast .NET Clients that listen for updates to these Quote Maps, which in turn alert the trader on screen to the request. Once the trader has provided the quote, it is saved within the Hazelcast cluster and passed back onto the external brokerage. The quote is valid for a certain time period and to ensure the quote is removed after this time period, Hazelcast TTL eviction is used on the quote stored in the distributed map. Therefore, if a brokerage attempts to trade on an expired quote it will be rejected. Grid computational capabilities are important to calculate the prices, margins and quotations. Reference data comes from trade information which can come from internal sources or from third party reference data services like Bloomberg and Thompson Reuters and Dow Jones.
The system has increased the profit margin on foreign exchange trades.