ACCELERATED TRADE MATCHING USING SPECULATIVE PARALLEL PROCESSING
First Claim
1. A computer implemented method of matching orders, the method comprising:
- receiving, by a processor operative to execute program logic stored on a computer readable medium, a first real order;
generating, by the processor responsive to a determination that the first real order has not been filled by one or more previously received but unfilled orders counter thereto, at least one speculative order which corresponds to at least one other real order that is counter to the first real order and which is predicted to be, but not yet, received;
commencing, by the processor based on the at least one speculative order, performance of at least a portion of calculations involved with matching the first real order with the yet-to-be received corresponding at least one other real order, as if it had been received, and generating a plurality of messages associated therewith;
receiving, by the processor subsequent to at least the generating of the at least one speculative order, a second real order corresponding to one of the at least one speculative order; and
executing, by the processor, a trade based on the second real order and the first real order, the executing comprising utilizing the plurality of messages generated by the processor.
1 Assignment
0 Petitions
Accused Products
Abstract
An electronic trading system is configured to create speculative orders based on real orders. The speculative order differs from the real order by the price, quantity, or the type of financial instrument. The match engine chooses one or more speculative orders in an attempt to predict the next real order. Even though processing multiple trades at the same time is impossible, the use of speculative orders can permit the match engine to perform the calculations involved with the trade and generate the messages associated with the trade ahead of time. If the prediction was correct and the next order received by the match engine corresponds to one of the speculative orders, some of the matching activity has already been performed. This in effect, allows the match engine to process trades more efficiently and increases the total trading volume that can be handled by the electronic trading system.
-
Citations
20 Claims
-
1. A computer implemented method of matching orders, the method comprising:
-
receiving, by a processor operative to execute program logic stored on a computer readable medium, a first real order; generating, by the processor responsive to a determination that the first real order has not been filled by one or more previously received but unfilled orders counter thereto, at least one speculative order which corresponds to at least one other real order that is counter to the first real order and which is predicted to be, but not yet, received; commencing, by the processor based on the at least one speculative order, performance of at least a portion of calculations involved with matching the first real order with the yet-to-be received corresponding at least one other real order, as if it had been received, and generating a plurality of messages associated therewith; receiving, by the processor subsequent to at least the generating of the at least one speculative order, a second real order corresponding to one of the at least one speculative order; and executing, by the processor, a trade based on the second real order and the first real order, the executing comprising utilizing the plurality of messages generated by the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An electronic trading system comprising:
-
a match engine processor, operative to execute program logic stored on a computer readable medium, for receiving a first real order, generating, responsive to a determination that the first real order has not been filled by one or more previously received but unfilled orders, at least one speculative order which corresponds to at least one other real order that is counter to the first real order and which is predicted to be, but not yet, received, and performing, based on the at least one speculative order, at least a portion of calculations involved with matching the first real order with the yet-to-be received corresponding at least one other real order, as if it had been received, and generating a plurality of messages associated therewith; and a gatekeeper processor, operative to execute program logic stored on a computer readable medium, in communication with both the match engine processor for executing, upon receipt of a second real order subsequent to at least the generation of the at least one speculative order which corresponds thereto, a trade between the first real order and the second real order utilizing the previously generated plurality of messages.
-
- 12. The electronic trading system of claim 12, wherein a price of the speculative order is based on a trend of the market or a trend of a financial instrument underlying the first real order, based on economic indicators, based on a statistical analysis, or based on a scheduled market event or a financial announcement.
-
19. A computer implemented match engine comprising:
-
a processor operative to execute program logic stored on a computer readable medium, a first matcher module implemented by the processor for receiving a first real order, and determining, based thereon, if the first real order has been filled by one or more previously received but unfilled orders counter thereto; a second matcher module implemented by the processor for;
generating, responsive to the determination that the first real order has not been filled, at least one speculative order which corresponds to at least one other real order that is counter to the first real order and which is predicted to be, but not yet, received;
commencing, based on the at least one speculative order, performance of calculations involved with matching the yet-to-be-received at least one other order and the first real order as if it had been received; and
generating a plurality of outgoing messages based thereon; anda gatekeeper module implemented by the processor for executing, upon receipt of a second real order subsequent to at least the generation of the at least one speculative order which corresponds thereto, a trade between the first real order and the second real order utilizing the plurality of outgoing messages.
-
-
20. A computer implemented method of matching orders, the method comprising:
-
receiving, by a processor operative to execute program logic stored on a computer readable medium, a first real order; pre-calculating, by the processor based on a determination that the first real order has not been filled by one or more previously received but unfilled orders counter thereto, one more matched trades between the first real order and one or more speculative real orders counter to the first real order which may potentially be later received and pre-generating a plurality of messages associated with each of the one or more pre-calculated matched trades; and executing, by the processor upon receipt of a second real order corresponding to one of the one or more speculative real orders, a trade between the second real order and the first real order utilizing the pre-generated plurality of messages associated with the pre-calculated matched trade between the corresponding one of the one of more speculative real orders and the first real order.
-
Specification