Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
AssigneeChicago Mercantile Exchange Inc.
InventorsAri Studnitzer, Zachary Bonig, Ryan Eavy, Frank Kmiec
Life of this patent
Estimating the term…
Abstract
The disclosed embodiments relate to implementation of a trading system, which may also be referred to as a trading system architecture, having improved performance which further assures transactional determinism under increasing processing transaction loads while providing improved trading opportunities, fault tolerance, low latency processing, high volume capacity, risk mitigation and market protections with minimal impact, as well as improved and equitable access to information and opportunities.
Claims20
A system comprising:
- a processor and a memory coupled therewith, the memory storing computer executable instructions which, when executed by the processor, cause the processor to:
- receive match event data from any of a plurality of hardware match engines, each external to and coupled with the processor, indicative of an extent to which that hardware match engine was able to satisfy an incoming order to transact an associated financial instrument, of a plurality of financial instruments, with at least one previously received but unsatisfied order counter thereto;
- store the received match event data in an order book data structure in a memory coupled with the processor and separate from the plurality of hardware match engines;
- identify, upon receipt of the match event data using an identification algorithm and the stored match event data when the match event data indicates that the incoming order has not been fully satisfied, one or more orders that were previously received by any of the others of the plurality of hardware match engines but not fully satisfied which, in combination, would at least partially satisfy the incoming order;
- generate, when the processor is unable to identify the one or more orders, one or more synthetic solicitations, each for a counter order to transact one or more of the plurality of financial instruments, whose receipt by the hardware match engine associated with the financial instrument of the synthetic solicitation would enable, alone or in combination with one or more orders that were previously received by any of the others of the plurality of hardware match engines but not fully satisfied, the incoming order to be fully satisfied;
- and
- communicate each of the generated synthetic solicitations to the hardware match engine, of the plurality of hardware match engines, associated with the financial instrument of the synthetic solicitation, wherein the submission of the synthetic solicitation causes the receiving match engine to generate match event data based thereon indicative of the received synthetic solicitation not being at least fully satisfied and communicate the generated match event data to the plurality of market participants to solicit an order counter to the synthetic solicitation.
A system comprising:
- a processor and a memory coupled therewith, the processor external to and coupled with each of a plurality of hardware match engines, the memory storing computer executable instructions which, when executed by the processor, cause the processor to implement an implicator external to and coupled with each of the plurality of hardware match engines;
- the implicator being operative to receive match event data from any of a plurality of hardware match engines indicative of an extent to which that hardware match engine was able to satisfy an incoming order to transact an associated financial instrument, of a plurality of financial instruments, with at least one previously received but unsatisfied order counter thereto;
- the implicator being further operative to store the received match event data in an order book data structure in a memory coupled with the processor and separate from the plurality of hardware match engines;
- the implicator being further operative to identify, upon receipt of the match event data using an identification algorithm and the stored match event data when the match event data indicates that the incoming order has not been fully satisfied, one or more orders that were previously received by any of the others of the plurality of hardware match engines but not fully satisfied which, in combination, would at least partially satisfy the incoming order;
- the computer executable instructions being further executable by the processor to cause the processor to implement an order generator coupled with the implicator and operative to generate, when the processor is unable to identify the one or more orders, one or more synthetic solicitations, each for a counter order to transact one or more of the plurality of financial instruments, whose receipt by the hardware match engine associated with the financial instrument of the synthetic solicitation would enable, alone or in combination with one or more orders that were previously received by any of the others of the plurality of hardware match engines but not fully satisfied, the incoming order to be fully satisfied;
- and
- the order generator being further operative to communicate each of the generated synthetic solicitations to the hardware match engine, of the plurality of hardware match engines, associated with the financial instrument of the synthetic solicitation, wherein the submission of the synthetic solicitation causes the receiving match engine to generate match event data based thereon indicative of the received synthetic solicitation not being at least fully satisfied and communicate the generated match event data to the plurality of market participants to solicit an order counter to the synthetic solicitation.
A computer implemented method comprising:
- receiving, by a processor, match event data from any of a plurality of hardware match engines, each external to and coupled with the processor, indicative of an extent to which that hardware match engine was able to satisfy an incoming order to transact an associated financial instrument, of a plurality of financial instruments, with at least one previously received but unsatisfied order counter thereto;
- storing, by the processor, the received match event data in an order book data structure in a memory coupled with the processor and separate from the plurality of hardware match engines;
- identifying, by the processor upon receipt of the match event data using an identification algorithm and the stored match event data when the match event data indicates that the incoming order has not been fully satisfied, one or more orders that were previously received by any of the others of the plurality of hardware match engines but not fully satisfied which, in combination, would at least partially satisfy the incoming order;
- generating, by the processor when the processor is unable to identify the one or more orders, one or more synthetic solicitations, each for a counter order to transact one or more of the plurality of financial instruments, whose receipt by the hardware match engine associated with the financial instrument of the synthetic solicitation would enable, alone or in combination with one or more orders that were previously received by any of the others of the plurality of hardware match engines but not fully satisfied, the incoming order to be fully satisfied;
- and
- communicating, by the processor, each of the generated synthetic solicitations to the hardware match engine, of the plurality of hardware match engines, associated with the financial instrument of the synthetic solicitation, wherein the submission of the synthetic solicitation causes the receiving match engine to generate match event data based thereon indicative of the received synthetic solicitation not being at least fully satisfied and communicate the generated match event data to the plurality of market participants to solicit an order counter to the synthetic solicitation.
Dependencies are inferred from the claim text.