Distributed trading bus architecture
First Claim
1. A distributed computer trading system comprising:
- an order submission point computing device communicatively coupled to a network, wherein the order submission point receives an electronic order entry via a network interface;
a trading platform computing system comprising one or more processors for providing trading services, the trading platform comprising a plurality of trading platform components including a match engine and an order validator;
an enterprise messaging architecture (EMA) bus communicatively coupled to the plurality of trading platform components of the trading platform computing system and to one or more components of an electronic execution services computing system, wherein messages published by a first component is subscribed by at least a second component and a third component, wherein the third component comprises a persist component; and
the electronic execution services computing system comprising one or more processors implementing a plurality of trading system components including a risk allocation value (RAV) component, the electronic execution services computing system configured at least to process instructions stored in a memory device that, when executed by the one or more processors, cause the electronic execution services computing system to;
monitor the RAV for an indication of normal operation or an indication of an error;
receive, from the order validator of the trading platform computing system via a network, an electronic order request, the electronic order request associated with an account and comprising a self-describing message including state information corresponding to the electronic order request, wherein the persist component and the match engine are maintained on a contract cluster basis and wherein the electronic order request corresponds to a contract for delivery of a specific product at a specific delivery point and delivery date and is associated with a contract cluster;
process, by the RAV component, the electronic order request associated with the account, the electronic order request being associated with an order for a financial instrument and having an order size;
determine, by the RAV component, an overall RAV size limit of the account, wherein the overall RAV size limit is threshold corresponding to a total size of all positions held in the account;
determine, via one or more messages sent via the EMA bus, a combined size based on a size of existing positions of the account and the order size;
permit, by the RAV component, matching using the electronic order request if the combined size does not exceed the RAV size limit;
for an indication of normal operation of the RAV based on the monitoring;
communicate, from the RAV component to the match engine via the EMA bus, the electronic order request when matching is permitted based on an associated contract cluster ID associated with the order request; and
reject the electronic order request if the combined size exceeds the RAV size limit; and
for an indication of an error of the RAV based on the monitoring;
issue a lockdown message via the EMA bus causing the order validator to stop accepting new orders and order modifications; and
shutdown operation of all components of the electronic execution services computing system including the RAV component and wait for an unlock command.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed trading system for handling a plurality of order requests, each order request comprising parameters under which a participant will buy and/or sell a futures contract. A validator component is coupled to a messaging bus and has a first interface for receiving order request and an interface generating a validated order message on the messaging bus related to validated orders, wherein the validator implements processes for validating the order requests. A risk allocation value (RAV) component is coupled to the messaging bus and has an interface for receiving validated order messages from the validator, wherein the RAV component implements processes for evaluating risk associated with an order should that order be completed. A match engine is coupled to the messaging bus and has an interface for receiving validated order messages from the RAV component, wherein the match engine implements processes for matching orders based on the order-specified criteria. A persist component is coupled to the messaging bus and has an interface for receiving messages related to orders and trades, wherein the persist component implements processes for persistently storing information related to orders and trades.
105 Citations
20 Claims
-
1. A distributed computer trading system comprising:
-
an order submission point computing device communicatively coupled to a network, wherein the order submission point receives an electronic order entry via a network interface; a trading platform computing system comprising one or more processors for providing trading services, the trading platform comprising a plurality of trading platform components including a match engine and an order validator; an enterprise messaging architecture (EMA) bus communicatively coupled to the plurality of trading platform components of the trading platform computing system and to one or more components of an electronic execution services computing system, wherein messages published by a first component is subscribed by at least a second component and a third component, wherein the third component comprises a persist component; and the electronic execution services computing system comprising one or more processors implementing a plurality of trading system components including a risk allocation value (RAV) component, the electronic execution services computing system configured at least to process instructions stored in a memory device that, when executed by the one or more processors, cause the electronic execution services computing system to; monitor the RAV for an indication of normal operation or an indication of an error; receive, from the order validator of the trading platform computing system via a network, an electronic order request, the electronic order request associated with an account and comprising a self-describing message including state information corresponding to the electronic order request, wherein the persist component and the match engine are maintained on a contract cluster basis and wherein the electronic order request corresponds to a contract for delivery of a specific product at a specific delivery point and delivery date and is associated with a contract cluster; process, by the RAV component, the electronic order request associated with the account, the electronic order request being associated with an order for a financial instrument and having an order size; determine, by the RAV component, an overall RAV size limit of the account, wherein the overall RAV size limit is threshold corresponding to a total size of all positions held in the account; determine, via one or more messages sent via the EMA bus, a combined size based on a size of existing positions of the account and the order size; permit, by the RAV component, matching using the electronic order request if the combined size does not exceed the RAV size limit; for an indication of normal operation of the RAV based on the monitoring; communicate, from the RAV component to the match engine via the EMA bus, the electronic order request when matching is permitted based on an associated contract cluster ID associated with the order request; and reject the electronic order request if the combined size exceeds the RAV size limit; and for an indication of an error of the RAV based on the monitoring; issue a lockdown message via the EMA bus causing the order validator to stop accepting new orders and order modifications; and shutdown operation of all components of the electronic execution services computing system including the RAV component and wait for an unlock command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving, via a network at an order submission point computing device, an electronic order request associated with an account; processing, by a computer device implementing a plurality of trading system components including a risk allocation value (RAV) component of a trading platform, the order request associated with the account, the electronic order request being associated with an order for a financial instrument and having an order size; monitoring, by the computing device, operation of the RAV component; while the RAV component is operating normally; determining, by the computer device, an overall RAV size limit of the account, wherein the size limit is a total size of all positions held in the account; determining, by the computer device, a combined size based on a size of existing positions of the account and the order size based on one or more messages published to an enterprise messaging architecture (EMA) bus, wherein messages published by a first component is subscribed by at least a second component and a third component, wherein the third component comprises a persist component and wherein the persist component and a match engine are maintained on a contract cluster basis and wherein the order request corresponds to a contract for delivery of a specific product at a specific delivery point and delivery date and is associated with a contract cluster; permitting, by the computer device, matching using the electronic order request when the combined size does not exceed the RAV size limit; communicating, via the EMA bus using a communication link, the electronic order request if the order request is permitted to be matched based on an associated contract cluster ID associated with the order request; rejecting, by the computer device, the electronic order request if the combined size exceeds the RAV size limit; upon identification by the computing device of an error in the RAV component operation; issuing, by the computing device, a lockdown message via the EMA bus; and
shutdown, by the computing device, operation of each the plurality of trading system components including the RAV component, until an unlock command is received. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification