Multi-modal trade execution with smart order routing
The disclosed embodiments relate to systems and methods for matching orders for a financial product. A first order for a financial product is received. The first order includes a preference for a first order book. An order processer selects a first hardware match processor based on the preference. A first hardware match processor attempts to match the first order with a previously received order in the first order book. A second order for the financial product is received. The second order includes a preference for a second order book. The order processor selects a second hardware match processor based on the preference. A second hardware match processor attempts to match the second order with a previously received order in the second order book. The first and second hardware match processors use different matching algorithms.
1 . A computer implemented method for matching, without disrupting a structure of an electronic market, each of a plurality of orders to trade a financial instrument in the electronic market with one or more of a set of previously received unmatched orders for the financial instrument which are counter thereto, the computer implemented method comprising:
receiving, by a market segment gateway, a first electronic data transaction request message from a client computer of a user via a network comprising data indicative of a first order of the plurality of orders, the first order specifying a financial instrument, a first quantity, and a first value, wherein the first order does not include data indicative of a matching algorithm preference of a plurality of matching algorithms, whereby the market segment gateway is configured to operate in multiple modes simultaneously to accept and match the plurality of orders for the same financial instrument;
evaluating, by the market segment gateway, for each of a plurality of order books for the financial instrument, a plurality of market conditions currently existing for each order book, each order book of the plurality of order books stored in a non-transitory memory and providing a separate pool of liquidity for the financial instrument, and coupled with one of a plurality of hardware matching processors, each hardware matching processor implementing one of the plurality of matching algorithms which is different from all other matching algorithms implemented by the other plurality of hardware matching processors for that financial instrument and which is not altered during trading hours for that financial instrument to follow a different matching algorithm, each hardware matching processor configured to execute orders for each order book according to the implemented matching algorithm;
determining, for the first order, a default order book or an order book having a best bid and ask for the financial instrument based on evaluating the plurality of market conditions;
selecting, by the market segment gateway, based on evaluating the plurality of market conditions and determining the default order book or the order book having the best bid and ask for the financial instrument, a first order book from the plurality of order books for the first order, the first order book coupled with a first hardware matching processor of the plurality of hardware matching processors, the first hardware matching processor following a first matching algorithm;
routing, by the market segment gateway, the first order to the selected first order book; and
attempting to match, by the first hardware matching processor, the first order with a previously received but unsatisfied order counter to the first order stored in the selected first order book.
2 . The computer implemented method of claim 1 , wherein the first hardware matching processor follows a first in first out algorithm.
3 . The computer implemented method of claim 1 , wherein the plurality of matching algorithms include first in first out, Group Auction, Price Explicit Time, Order Level Pro Rata, Order Level Priority Pro Rata, Preference Price Explicit Time, Preference Order Level Pro Rata, Preference Order Level Priority Pro Rata, Threshold Pro-Rata, Priority Threshold Pro-Rata, Preference Threshold Pro-Rata, Priority Preference Threshold Pro-Rata, and Split Price-Time Pro-Rata.
4 . The computer implemented method of claim 1 , wherein the plurality of market conditions include one or more of a time of day, a time to expiration for the financial instrument, a volatility level of the financial instrument, a best ask for the financial instrument, a best bid price for the financial instrument, a threshold trading volume, or whether a magnitude of the first value or if a rate of change of the first value exceeds a threshold value.
5 . The computer implemented method of claim 1 , wherein the plurality of market conditions include historical or current market data.
6 . The computer implemented method of claim 1 , wherein the financial instrument comprises a derivative product.
7 . The computer implemented method of claim 1 , wherein the first order includes data indicative of a best price preference, and wherein selecting the first order book for the first order comprises:
determining, by the market segment gateway, a best price for the first order; and
selecting, by the market segment gateway, the first order book based on the determining.
8 . The computer implemented method of claim 1 , further comprising:
receiving, by the market segment gateway, a second electronic data transaction request message, the second electronic data transaction request message and the first electronic data transaction request message received sequentially, the second electronic data transaction request message comprising data indicative of a second order of the plurality of orders, the second order specifying the same financial instrument, a second quantity, a second value, and data indicative of a preference for a second matching algorithm;
routing, by the market segment gateway, based on the data indicative of the preference for the second matching algorithm, the second order to one of the plurality of order books, the routing further comprising:
selecting, by the market segment gateway, based on the data indicative of the preference, a second order book from the plurality of order books for the financial instrument, the second order book coupled with a second hardware matching processor of the plurality of hardware matching processors, the second hardware matching processor following the second matching algorithm; and
routing, by the market segment gateway, the second order to the second order book; and
attempting to match, with the second hardware matching processor, the second order with a previously received but unsatisfied order counter thereto to the second order stored in the second order book coupled with a second hardware matching processor, the second hardware matching processor following the second matching algorithm, the first and second hardware matching processors following different matching algorithms.
9 . The computer implemented method of claim 8 , wherein the second hardware matching processor follows a Pro Rata algorithm.
10 . A system for matching, without disrupting a structure of an electronic market, each of a plurality of orders to trade a financial instrument in the electronic market with one or more of a set of previously received unmatched orders for the financial instrument which are counter thereto, the system comprising:
a non-transitory memory coupled with an order processor;
a plurality of order books stored in the non-transitory memory, wherein each order book of the plurality of order books provides a separate pool of liquidity for the financial instrument and is coupled with one of a plurality of hardware matching processors, wherein each hardware matching processor implements one of a plurality of matching algorithms which is different from all other matching algorithms implemented by the other plurality of hardware matching processors for that financial instrument and which is not altered during trading hours for that financial instrument to follow a different matching algorithm, each hardware matching processor configured to execute orders for each order book according to the implemented matching algorithm;
a market segment gateway, implemented by the order processor, configured to:
receive a first electronic data transaction request message from a client computer of a user via a network comprising data indicative of a first order of the plurality of orders, the first order specifying a financial instrument, a first quantity, and a first value, wherein the first order does not include data indicative of a matching algorithm preference of a plurality of matching algorithms, whereby the market segment gateway is configured to operate in multiple modes simultaneously to accept and match the plurality of orders for the same financial instrument;
evaluate, for each of the plurality of order books for the financial instrument, a plurality of market conditions currently existing for each order book;
determine, for the first order, a default order book or an order book having a best bid and ask for the financial instrument based on the evaluation;
select, based on the evaluation of the plurality of market conditions and the determination of the default order book or the order book having a best bid and ask for the financial instrument, a first order book from the plurality of order books for the first order, the first order book coupled with a first hardware matching processor of the plurality of hardware matching processors, the first hardware matching processor following a first matching algorithm; and
route the first order to the selected first order book,
wherein the first hardware matching processor attempts to match the first order with a previously received but unsatisfied order counter to the first order stored in the selected first order book.
11 . The system of claim 10 , wherein the first hardware matching processor follows a first in first out algorithm.
12 . The system of claim 10 , wherein the plurality of market conditions include one or more of a time of day, a time to expiration for the financial instrument, a volatility level of the financial instrument, a best ask for the financial instrument, a best bid price for the financial instrument, a threshold trading volume, or whether a magnitude of the first value or if a rate of change of the first value exceeds a threshold value.
13 . The system of claim 10 , wherein the plurality of market conditions include historical or current market data.
14 . The system of claim 10 , wherein the financial instrument comprises a derivative instrument.
15 . The system of claim 10 , wherein the first order includes data indicative of a best price preference, and wherein selecting the first order book for the first order comprises:
determining, by the market segment gateway, a best price for the first order; and
selecting, by the market segment gateway, the first order book based on the determining.
16 . The system of claim 10 , wherein the market segment gateway is further configured to:
receive a second electronic data transaction request message, the second electronic data transaction request message and the first electronic data transaction request message received sequentially, the second electronic data transaction request message comprising data indicative of a second order of the plurality of orders, the second order specifying the same financial instrument, a second quantity, a second value, and data indicative of a preference for a second matching algorithm;
route, based on the data indicative of the preference for the second matching algorithm, the second order to one of the plurality of order books, wherein the market segment gateway is further configured to:
select, based on the data indicative of the preference, a second order book from the plurality of order books for the financial instrument, the second order book coupled with a second hardware matching processor of the plurality of hardware matching processors, the second hardware matching processor following the second matching algorithm; and
route the second order to the second order book; and
wherein the second hardware matching processor attempts to match the second order with a previously received but unsatisfied order counter thereto to the second order stored in the second order book coupled with a second hardware matching processor, the second hardware matching processor following the second matching algorithm, the first and second hardware matching processors following different matching algorithms.
17 . The system of claim 16 , wherein the second hardware matching processor follows a Pro Rata algorithm.
18 . A system for matching, without disrupting a structure of an electronic market, each of a plurality of orders to trade a financial instrument in the electronic market with one or more of a set of previously received unmatched orders for the financial instrument which are counter thereto, the system comprising:
means for receiving a first electronic data transaction request message from a client computer of a user via a network comprising data indicative of a first order of the plurality of orders, the first order specifying a financial instrument, a first quantity, and a first value, wherein the first order does not include data indicative of a matching algorithm preference of a plurality of matching algorithms, whereby the system is configured to operate in multiple modes simultaneously to accept and match the plurality of orders for the same financial instrument;
means for evaluating, for each of a plurality of order books for the financial instrument, a plurality of market conditions currently existing for each order book, each order book of the plurality of order books stored in a non-transitory memory and providing a separate pool of liquidity for the financial instrument, and coupled with one of a plurality of hardware matching processors, each hardware matching processor implementing one of the plurality of matching algorithms which is different from all other matching algorithms implemented by the other plurality of hardware matching processors for that financial instrument and which is not altered during trading hours for that financial instrument to follow a different matching algorithm, each hardware matching processor configured to execute orders for each order book according to the implemented matching algorithm;
means for determining, for the first order, a default order book or an order book having a best bid and ask for the financial instrument based on evaluating the plurality of market conditions;
means for selecting, based on evaluating the plurality of market conditions and determining the default order book or the order book having the best bid and ask, a first order book from the plurality of order books for the first order, the first order book coupled with a first hardware matching processor of the plurality of hardware matching processors, the first hardware matching processor following a first matching algorithm;
means for routing the first order to the selected first order book; and
means for attempting to match the first order with a previously received but unsatisfied order counter to the first order stored in the selected first order book.
19 . The system of claim 18 , wherein the plurality of market conditions include one or more of a time of day, a time to expiration for the financial instrument, a volatility level of the financial instrument, a best ask for the financial instrument, a best bid price for the financial instrument, a threshold trading volume, or whether a magnitude of the first value or if a rate of change of the first value exceeds a threshold value.
20 . The system of claim 18 , further comprising:
means for receiving a second electronic data transaction request message, the second electronic data transaction request message and the first electronic data transaction request message received sequentially, the second electronic data transaction request message comprising data indicative of a second order of the plurality of orders, the second order specifying the same financial instrument, a second quantity, a second value, and data indicative of a preference for a second matching algorithm;
means for routing, based on the data indicative of the preference for the second matching algorithm, the second order to one of the plurality of order books, the routing further comprising:
means for selecting, based on the data indicative of the preference, a second order book from the plurality of order books for the financial instrument, the second order book coupled with a second hardware matching processor of the plurality of hardware matching processors, the second hardware matching processor following the second matching algorithm; and
means for routing, the second order to the second order book; and
means for attempting to match the second order with a previously received but unsatisfied order counter thereto to the second order stored in the second order book coupled with a second hardware matching processor, the second hardware matching processor following the second matching algorithm, the first and second hardware matching processors following different matching algorithms.