Randomization of orders at matching in electronic trading systems
AssigneeChicago Mercantile Exchange Inc.
InventorsEdward R. Howorka, Peter Robert Capuano, Michael Sean Merold
Life of this patent
Estimating the term…
Abstract
The disclosed embodiments relate to a latency floor mechanism for processing incoming orders to an electronic trading system which impart a delay on orders, not when they are received, but when they are matched by the match engine/CLOB thereby imparting zero added latency between order submission/modifications/cancellations and price market data publication by the electronic trading system because the disclosed randomization processing delay applies only to matched orders, which represent a small fraction of the market events.
Claims20
A computer implemented method comprising:
- receiving, by a processor via an electronic communications network, an electronic order for trading an instrument;
- identifying, by the processor in a database coupled therewith, whether stored therein is a previously received, but not yet fully satisfied, electronic order that is counter to the received electronic order;
- and
- when a previously received electronic order is identified and is not designated as counter to another previously received electronic order:
- storing, by the processor, the received electronic order in the database and designating, by the processor for a period of time, the identified previously received electronic order and the received electronic order as being counter to each other, wherein the identified previously received electronic order and the received electronic order will be removed from the database and executed if the identified previously received electronic order and the received electronic order are still designated therein to each other subsequent to the period of time;
- and
- when a previously received electronic order is identified and is designated as being counter to another previously received electronic order:
- determining, by the processor, a delayed probability parameter value which, based on a probability function, at least pseudo randomly may be one of first or second values;
- wherein when the delayed probability parameter value is determined to be the first value, searching, by the processor, the database for yet another previously received, but not yet fully satisfied, electronic order that is counter to the received electronic order, wherein the designation of the identified previously received electronic order and the other previously received electronic order as being counter to each other remains unmodified;
- and
- wherein when the delayed probability parameter value is determined to be the second value, storing, by the processor, the received electronic order in the database and designating, by the processor, the received electronic order as being counter to the identified previously received order in lieu of the other previously received electronic order that is currently designated as being counter thereto and un-designating the other previously received electronic order as being counter to the identified order;
- and
- when a previously received, but not yet fully satisfied, electronic order stored in the database that is counter to the received electronic order is not identified, storing, by the processor, the received electronic order in the database.
A computerized trading system comprising:
- a processor coupled to a network;
- and
- at least one memory, coupled to the processor, and carrying instructions to be executed by the processor, which when executed by the processor cause the processor to:
- receive, via an electronic communications network, an electronic order for trading an instrument;
- identify, in a database coupled with the processor, whether stored therein is a previously received, but not yet fully satisfied, electronic order that is counter to the received electronic order;
- and
- when a previously received electronic order is identified and is not designated as counter to another previously received electronic order:
- store the received electronic order in the database and designate, for a period of time, the identified previously received electronic order and the received electronic order as being counter to each other, wherein the identified previously received electronic order and the received electronic order will be removed from the database and executed if the identified electronic order and the received electronic order are still designated therein to each other subsequent to the period of time;
- and
- when a previously received order is identified and is designated as being counter to another previously received electronic order:
- determine a delayed probability parameter value which, based on a probability function, at least pseudo randomly may be one of first or second values;
- wherein when the delayed probability parameter value is determined to be the first value, search the database for yet another previously received, but not yet fully satisfied, electronic order that is counter to the received electronic order, wherein the designation of the identified previously received electronic order and the other previously received electronic order as being counter to each other remains unmodified;
- and
- wherein when the delayed probability parameter value is determined to be the second value, store the received electronic order in the database and designate the received electronic order as being counter to the identified previously received order in lieu of the other previously received electronic order that is currently designated as being counter thereto and un-designate the other previously received electronic order as being counter to the identified previously received order;
- and
- when a previously received, but not yet fully satisfied, electronic order stored in the database that is counter to the received electronic order is not identified, store the received electronic order in the database.
A system comprising:
- a latency leveling processor coupled with a matching engine of an electronic trading system, the matching engine comprising a database in which previously received but not fully satisfied data transaction requests are stored, the latency leveling processor being operative, for an incoming data transaction request comprising an order for a quantity to:
- for a previously received but unsatisfied data transaction request stored in the database that is identified by the matching engine as being counter to the incoming data transaction request:
- where the identified previously received but unsatisfied data transaction request was previously identified by the matching engine as being counter to a previously received incoming data transaction request, determine, based on a first pseudo probability function which produces a value which randomly may or may not exceed a threshold value, whether, based on whether or not the value exceeds the threshold value, to one of cause the matching engine to replace the previously received incoming data transaction request with the incoming transaction request or not cause the matching engine to replace the previously received incoming data transaction request with the incoming transaction request;
- and
- where the identified previously received but unsatisfied data transaction request was not previously identified by the matching engine as being counter to a previously received incoming data transaction request, delay completion of the match and removal from the database by the matching engine of the incoming data transaction request with the identified previously received but unsatisfied data transaction request for a period of time;
- and
- where a previously received but unsatisfied data transaction request stored in the database is not identified as being counter to the incoming data transaction request, not preventing the matching engine from storing the incoming data transaction request in the database.
Dependencies are inferred from the claim text.