CA3012108C - Delay-free matching for deemphasizing effects of speed differentials among price-makers - Google Patents

Delay-free matching for deemphasizing effects of speed differentials among price-makers Download PDF

Info

Publication number
CA3012108C
CA3012108C CA3012108A CA3012108A CA3012108C CA 3012108 C CA3012108 C CA 3012108C CA 3012108 A CA3012108 A CA 3012108A CA 3012108 A CA3012108 A CA 3012108A CA 3012108 C CA3012108 C CA 3012108C
Authority
CA
Canada
Prior art keywords
order
maker
orders
electronic
taker
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CA3012108A
Other languages
French (fr)
Other versions
CA3012108A1 (en
Inventor
Hayden Paul Melton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Refinitiv US Organization LLC
Original Assignee
Refinitiv US Organization LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Refinitiv US Organization LLC filed Critical Refinitiv US Organization LLC
Publication of CA3012108A1 publication Critical patent/CA3012108A1/en
Application granted granted Critical
Publication of CA3012108C publication Critical patent/CA3012108C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention relates to improved computer systems that mitigate the effects of computational incongruencies of computers connected to an Electronic Trading Venue ("ETV") based on selection of orders, received at the electronic training venue via a network from the computers, using randomization and delay-free mechanisms. To address High Frequency Trading and improve the efficiency of the computer system of an ETV, the system may immediately, without introducing a batching or randomization delay, place maker orders into an electronic order book. If a taker order is received that is price-compatible with previously received maker orders in the electronic order book, the system may batch the maker orders in the electronic order book for randomization. As such, batching and randomization processes do not use network and computational resources of the computer system unless they are actually necessary, and are typically not employed when maker orders are canceled after their initial entry into the electronic order book.

Description

Delay-Free Matching for Deemphasizing Effects of Speed Differentials Among Price-Makers CROSS-REFERENCE TO RELATED APPLICATIONS
[001] This application claims priority to U.S. Provisional Patent Application No.
62/648,459, filed March 27, 2018, entitled "Delay-Free Matching Algorithm for Deemphasizing Effects of Speed Differentials Among Price-Makers".
FIELD OF THE INVENTION
[002] The invention relates to improved computer systems that mitigate the effects of computational incongruencies of computers connected to an electronic trading venue based on selection of electronic order messages, received at the electronic training venue via a network from the computers, using randomization and delay-free mechanisms.
BACKGROUND OF THE INVENTION
[003] In the past few years market participants engaged in high frequency or algorithmic trading (herein, simply "HFT") have been responsible for an increasing proportion of the trading volumes transacted on these electronic trading venues. The operators of trading venues and their customers, who are market participants on those trading venues, have been significantly impacted by the rise of HFT. Some market participants have stated that they can no longer afford to make ongoing, significant and sometimes operationally risky investments in cutting edge technology that is required to keep up with the fastest participants. The result of this is that on the many venues with time-priority rules for processing messages, where speed consequently PATENT APPLICATION
45,0-274504 plays a role in determining competitiveness in price making and taking, fewer participants can effectively compete, and competition as a whole on the venue is seemingly reduced by HFT.
[004] The operators of electronic trading venues have themselves been affected by the rise of HFT. As market participants have become faster and faster, smaller and smaller variations in latency on a venue have become increasingly significant in determining which market participant is the most successful in their ability to make or take a price. While the nature of computer hardware and software make it impossible to completely eliminate all variation in latency on an electronic trading venue, it becomes increasingly difficult and expensive for a market operator to monitor and control smaller and smaller variations in latency. Yet a market operator is obliged to do so in order to ensure their venue is "fair" i.e., that no single participant is systematically advantaged (or disadvantaged) in their price making and taking activities as a result of the particular manifestation of latency "jitter" on the venue.
[005] In some systems, a latency floor has been introduced. In those systems, incoming orders are batched based on when the orders have been received. However, these systems, while they can mitigate the effects of HFT, may cause other problems on the computer system operated by the venue. For instance, most orders may be canceled without ever being matched at a specified price level. In these instances, batching these orders wastes computational and network resources, reducing the overall efficiency of the computer system. These and other problems exist with some conventional computer systems of electronic trading venues.
SUMMARY OF THE INVENTION
[006] The invention addressing these and other drawbacks relates to improved computer systems that mitigate the effects of computational incongruencies of computers connected to an electronic trading venue based on selection of electronic order messages, received at the electronic training venue via a network from the computers, using randomization and delay-free mechanisms. To address HET and improve the efficiency of the computer system of an Electronic Trading Venue ("ETV"), the system may immediately, without introducing a batching or randomization delay, place maker orders into an electronic order book. If a taker order is received that is price-compatible with previously received maker orders in the electronic order Revised 45XP-274504 Specification (1) doc PATENT APPLICATION
, 45XP-274504 book, the system may batch the maker orders in the electronic order book for randomization. As such, batching and randomization processes do not use network and computational resources of the computer system unless they are actually necessary, and may not be used when maker orders are canceled subsequent to their initial entry into the electronic order book.
[007] Upon receipt of an electronic maker order (in which a maker order that does not cross the spread, and does not have a time-in-force of immediate-or-cancel), the maker order is immediately inserted into its instrument's order book on the venue. Hence, electronic maker orders are not subject to a deliberate delay by the venue prior to their insertion into the limit order book. Also upon receipt of the electronic maker order by the venue (or upon its insertion into the order book), a timestamp indicating the current time is inserted into a payload of the electronic maker order. In this way, if the order is subject to matching, the computer system can interrogate the order message's payload to obtain this timestamp and make use of it in its matching rules.
[008] The electronic maker order is inserted into the order book. In particular, the limit price of an electronic maker order determines the price-level in the order book into which it is inserted, and orders are appended to the end of the queue (i.e., appended such that each subsequently appended order has lower priority in the queue than the former) at a price level as they are received.
[009] Upon receipt of an electronic taker order (i.e., an order that crosses the spread) the disclosed algorithm matches first using price-priority, as per a price-time priority. If there are multiple orders at a price-level, instead of matching in strict time-priority (as a price-time priority algorithm would), it instead (1) identifies groups of maker orders submitted in close temporal proximity to one another, (2) groups these maker orders together, and (3) randomizes them based on the sending market participants (or entities) such that a random ordering of those participants in each group determines the priority of the maker orders in the group for matching against the taker order.
[010] With respect to (1) above, the algorithm may identify orders submitted 'in close temporal proximity' to one another by examining the timestamp of the first order in the queue, and adding a fixed value in units time to that timestamp (e.g., the desired 'floor length').

Revised 45XP-274504 Specification (1).doc PATENT APPLICATION
45XP-274504 =
[011] With respect to (2) above, any other orders at the price level with timestamps less than or equal to that of the sum of the first order's and the 'floor length' are determined to belong to the first order's group. Subsequent groups may be established at each price level by reapplying the procedure (i.e., the highest priority order that does not fall into the previous group because its timestamp is too high starts its own group, and other orders are grouped with it that have timestamps less than the sum of its own timestamp and the 'floor length'). In this way groups of orders with 'size'¨where size is measured in units time¨`floor length' may be established across all maker orders at a price-level in the limit order book.
[012] With respect to (3) the grouping may be per market participant and various draining techniques may be selected by the operator of the venue to provide a priority.
Note that as disclosed, draining does not necessarily mean removing the maker orders from the order book¨
it simply provides a new¨and not-strictly-time¨priority for the matching of these maker orders. Those maker orders 'drained' earlier will have higher priority for matching than those 'drained' later. A maker order will generally be removed from the order book when its unmatched (open) quantity is zero, or when it's canceled by its sender.
[013] It some instances, only one of the orders in a multi-order group of such orders will be removed due to being completely matched, while other orders in the group will remain in the book (due to the taker order having insufficient quantity to match against all such orders in the group). To preserve the initial grouping¨which may otherwise change due to one or more of the orders in the group being matched and removed from the book, and may otherwise be computationally wasteful ______________________________________________ upon the initial grouping of the orders by the matching rules, a flag maybe set in the grouped orders respective payloads to indicate those orders have been subject to grouping and resorted in the queue, according to the specific draining technique. The ordering provided by the draining technique may be memorialized by reordering those order messages in the queue, so the group remains at the 'head' of the queue, but so that the ordering of individual orders within the group reflects the draining order.
[014] In such an implementation¨where the computer system flags order messages as having previously been grouped, and re-sorts them at the head of the queue ___ the algorithm will ignore timestamps on orders where this flag has been previously populated so as to avoid attempting to Revised 45XP-274504 Specification (1).doc regroup them. Put another way, the presence of this flag will indicate to the algorithm that timestamp-based grouping and reordering has already been performed, and that this should not be re-performed.
[015] To ensure more consistent response times in matching the computer system may be 'lazy' (cf. 'eager' or 'greedy', as the terms are used in the computer programming language literature) in its construction of groups. What this means is that instead of computing all groups at a price-level upon receipt of a taker order, each subsequent group after the first is only computed if open (unmatched) quantity remains on the taker order and no orders remain in the first group because they have been matched.
[016] Notwithstanding the above details, the computer system may otherwise implement price-time priority matching in its matching of taker orders with maker orders. In particular, maker orders are removed from the order book when they are completely filled or otherwise canceled by their sender; matching of a taker order concludes when no maker orders remain in the limit order book with which it is price-compatible or when its open quantity has been completely filled by such maker orders.
[016a] According to one aspect of the present invention, there is provided a computer implemented method of providing delay-free matching in an electronic trading venue, the method being implemented in a computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, cause the computer system to perform the method, the method comprising: receiving maker orders for a financial instrument, the maker orders including at least a first maker order and a second maker order; placing the maker orders into an electronic order book upon receipt at the computer system without an intentional delay, wherein each of the maker orders is associated with an electronic payload that includes at least a timestamp indicating a time at which the maker order was received;
receiving a taker order for the financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument;
responsive to receipt of the taker order, generating an order batch queue comprising a set of maker orders for the financial instrument in the electronic order book, the set of maker orders including at least the first maker order and the second maker order, wherein generating the order batch queue comprises: identifying multiple maker orders for the financial instrument in the electronic Date Recue/Date Received 2020-05-20 order book based on the price; obtaining a timestamp for each of the identified maker orders based on the electronic payload for each of the identified maker orders; and identifying the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders; randomizing an order of the set of maker orders in the order batch queue; and matching at least one of the maker orders in the order batch queue with the taker order based on the randomized order of the set of maker orders.
[016b] According to another aspect of the present invention, there is provided a system of providing delay-free matching in an electronic trading venue, the system comprising: a computer system comprising one or more physical processors programmed by computer program instructions that, when executed, programs the computer system to:
receive maker orders for a financial instrument, the maker orders including at least a first maker order and a second maker order; place the maker orders into an electronic order book upon receipt at the computer system without an intentional delay, wherein each of the maker orders is associated with an electronic payload that includes at least a timestamp indicating a time at which the maker order was received; receive a taker order for the financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument; responsive to receipt of the taker order, generate an order batch queue comprising a set of maker orders for the financial instrument in the electronic order book, the set of maker orders including at least the first maker order and the second maker order, wherein to generate the order batch queue, the computer system is programmed to: identify multiple maker orders for the financial instrument in the electronic order book based on the price; obtain a timestamp for each of the identified maker orders based on the electronic payload for each of the identified maker orders; and identify the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders; randomize an order of the set of maker orders in the order batch queue; and match at least one of the maker orders in the order batch queue with the taker order based on the randomized order of the set of maker orders.
[0160 According to another aspect of the present invention, there is provided a computer readable medium storing computer instructions for of providing delay-free matching in an 5a _ , electronic trading venue, the instructions, when executed by one or more physical processors of a computer system, program the computer system to: receive maker orders for a financial instrument, the maker orders including at least a first maker order and a second maker order;
place the maker orders into an electronic order book upon receipt at the computer system without an intentional delay, wherein each of the maker orders is associated with an electronic payload that includes at least a timestamp indicating a time at which the maker order was received; receive a taker order for the financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument; responsive to receipt of the taker order, generate an order batch queue comprising a set of maker orders for the financial instrument in the electronic order book, the set of maker orders including at least the first maker order and the second maker order, wherein to generate the order batch queue, the instructions program the computer system to:
identify multiple maker orders for the financial instrument in the electronic order book based on the price; obtain a timestamp for each of the identified maker orders based on the electronic payload for each of the identified maker orders; and identify the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders; randomize an order of the set of maker orders in the order batch queue; and match at least one of the maker orders in the order batch queue with the taker order based on the randomized order of the set of maker orders.
[017] These and other objects, features, and characteristics of the system and/or method disclosed herein, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. As used in the specification and in the claims, the singular form of "a", "an", and "the"
include plural referents unless the context clearly dictates otherwise.
5b _ BRIEF DESCRIPTION OF THE DRAWINGS
[01.8] FIG. 1 illustrates a system of providing a delay-free latency floor mechanism, according to an implementation of the invention.
5c PATENT APPLICATION
. 45XP-274504 [019] FIG. 2 depicts a data flow diagram for providing a delay-free latency floor mechanism, according to an implementation of the invention.
[020] FIG. 3 depicts an example of a process for providing a delay-free latency floor mechanism, according to an implementation of the invention.
[021] FIG. 4 depicts an example of a process for providing a delay-free latency floor mechanism, according to an implementation of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[022] FIG. 1 illustrates a system 100 of providing a delay-free latency floor mechanism, according to an implementation of the invention. System 100 may include a computer system 104 of an electronic trading venue that receives and matches electronic order messages from market participants 142A-N via a network.
[023] The market participants 142 may be, but are not limited to, customers, market makers, broker/dealer systems, electronic communication networks (ECNs), and other exchanges. For example, a market maker may include any individual or firm that submits and/or maintains both bid and offer orders simultaneously for the same instrument. A customer may be any entity, such as an individual, group of individuals or firm that engages in trading activity via system 100 and is not a market maker. For example, a customer may be an individual investor, a group of investors, or an institutional investor. In an implementation, the market participants may include a process to enter orders into the computer system 104.
[024] The computer system 104 may include one or more processors 112, one or more storage devices 114, and/or other components. Processor(s) 112 may be programmed by one or more computer program instructions, which may be stored in storage device(s) 114.
The one or more computer program instructions may include, without limitation, a matching engine 109.
[025] The matching engine 109 may employ matching rules for processing and matching electronic order messages. The matching rules may improve the efficiency of the computer System 104, as well as improve market participant 142 interactions thereof, by programming the computer system to perform delay-free matching while mitigating and addressing the effects of HFT. The rules may be encoded in instructions for order batching 1 l 1 (which may generate one Revised 45)CP-274504 Specification (1) doc or more order batch queues 124), a randomizer 113, and/or other instructions.
These rules, due to the nature of electronic order messaging processing in a computer system of an electronic trading venue (i.e., due to the nano- and micro- second processing times required of the computer system), specifically are used by the computer system 104.
[026] In some instances, the matching rules may specify that the processing techniques described in U.S. Patent Application No. 14/533,543 ("Ideal Latency Floor"), be used instead the disclosure described herein. In some instances, a venue operator may specify that for some orders be processed according to the Ideal Latency Floor of U.S. Patent Application No. 14/533,543, while other orders be processed as disclosed herein. As such, the computer system 104 may be programmatically configured to operate as needed.
[027] The matching engine 109 may receive electronic order messages that specify orders (e.g., e.g., cancels, replaces, new order requests, etc.) from market participants 142 via one or more order gateways 130 (illustrated as order gateways A, N). The electronic order messages may be formatted according to a FIX message format, although other types of formats may be used. An electronic order message that specifies an order will be referred to herein as an "electronic order"
or interchangeably with "order" for convenience. For example, an electronic order message that specifies a maker order will be referred to herein as an "electronic maker order" or "maker order"
for convenience. Likewise, an electronic order message that specifies a taker order will be referred to herein as an "electronic taker order" or "taker order" for convenience.
[028] Market participants 142 may log onto the computer system 104, which may create an order session. During a given order session, a market participant 142 may submit orders through order gateway 130. The order sessions may be stored in an orders and sessions database. The stored order sessions may log the orders, which may each identify a market participant 142 that submitted it and its order details. Order gateways 130 transmit the orders to matching engine 109.
[029] Based on the orders, matching engine 109 may maintain one or more electronic order books 144, which may track a bid or offer state for the instruments that trade on them. A bid or offer state is indicative of bids and/or offers with respect to the instrument. One example of a bid PATENT APPLICATION
45)CP-274504 or offer state is the state of a central limit order book ("CLOB"), although other types of mechanisms may be used to track bid or offer states. The term "CLOB" is used by example and not limitation. Other ways to maintain a bid or offer state may be used as well so as aggregate supply and demand, perform matching, organize orders, etc., on a given instrument or group of instruments.
[030] In some instances, the matching engine 109 may insert, without an intentional delay (e.g., without a deliberate delay based on randomization and/or batching imposed by the ETV), electronic maker orders that specify a price level at which it will be matched to an electronic taker order for the same financial instrument. Maker orders add or provide liquidity to the CLOB because they can be matched to taker orders. Taker orders consume liquidity from the CLOB because they match maker orders in the CLOB based on its price level being matched to the price level of a maker order.
[031] When the computer system 104 receives an electronic maker order, the computer system may obtain a trusted time and insert the trusted time into a payload of the electronic order message. For example, the trusted time may be inserted as a key-value pair in of a FIX message format. Various components may insert the trusted time. For example, the order gateways 130 may insert the trusted time upon receipt. In other examples, the matching engine 109 may insert the trusted time prior to or after placing the electronic maker order into the electronic order book 144.
[032] FIG. 2 depicts a data flow diagram 200 for providing a delay-free latency floor mechanism, according to an implementation of the invention.
[033] At 201, an order gateway 130 may receive a first electronic maker order for a financial instrument from a first market participant 142A.
[034] At 203, the order gateway 130 may transmit the first electronic maker order for entry into the electronic order book 144. In some instances, the first electronic maker order may be transmitted to a matching engine 109 for insertion into the electronic order book 144 at a price level specified by the first electronic maker order.
[035] At 205, an order gateway 130 may receive a second electronic maker order for the financial instrument from a second market participant 142B. The order gateway 130 that Revised 45XP-274504 Specification (1). doe PATENT APPLICATION
45XP-274504 =
received the second electronic maker order may be the same or different order gateway that received the first electronic maker order.
[036] At 207, the order gateway 130 may transmit the second electronic maker order for entry into the electronic order book 144. In some instances, the second electronic maker order may be transmitted to a matching engine 109 for insertion into the electronic order book 144 at a price level specified by the second electronic maker order.
[037] At 209, an order gateway 130 may receive an electronic taker order for the financial instrument from a third market participant 142C at a price level specified by the electronic taker order. At 211, the order gateway 130 may forward the electronic taker order to the matching engine 109. At 213, responsive to receipt of the electronic taker order, the matching engine 109 may determine whether an order batch queue exists for the financial instrument at the appropriate price level. If the order batch queue exists, the matching engine 109 may randomly select the next maker order in the order batch queue as described below at 221.
[038] If the order batch queue for the financial instrument at the appropriate price does not exist, responsive to receipt of the electronic taker order, at 215, the order batching 111 may be executed by the processor 112 to identify maker orders at the appropriate price in the electronic order book 144 for the financial instrument that have not been grouped into an order batch queue. For example, electronic maker orders that have been grouped into an order batch queue may each be associated with a flag that indicates that it has been batched.
The flag may be stored in a memory in association with the electronic maker order or the flag may be set as a FIX
order message key-value pair. In this manner, the order batching 111 may identify electronic maker orders in the electronic order book that have not been grouped into an order batch queue.
Instead of receipt of a maker order triggering a batching, receipt of a taker order triggers batching disclosed herein.
[039] At 217, the order batching 111 may generate an order batch queue 124 that includes one or more of the identified electronic maker orders for matching with the electronic taker order.
The order batching Ill may do so as follows. The order batching 111 may interrogate the payload of each of the identified electronic maker orders for the financial instrument at the price level specified by the electronic taker order. The order batching 111 may then batch together Revised 45XP-274504 Specification (1) doc any matching electronic maker orders in the electronic order book 144 based on respective timestamps from each of the interrogated payloads that are close in time together. For example, the order batching 111 may identify the earliest timestamp among the preliminarily matched (based on price) electronic maker orders, apply a latency floor by adding the latency floor to the earliest timestamp to generate a batching period, and group together the preliminarily matched electronic maker orders that have timestamps within the batching period. For each electronic maker order placed in the order batch queue 124, the order batching 111 may set a flag to indicate that the electronic maker order has been batched.
[040] At 219, the randomizer 113 may be executed by the processor 112 to randomize the order batch queue 124. For example, each of the electronic maker orders in the order batch queue 124 may be grouped by the market participant 142 that submitted them, shuffling the list of participants so as to arrive at a random ordering. At 221, the randomizer 113 may use the shuffled list of participants as input to a predetermined "drain" strategy that removes the electronic maker orders from the order batch queue 124 for processing against the electronic order book 144. Various randomization and draining strategies may be employed, as described in U.S. Patent Application No. 14/533,543.
[041] At 221, the randomizer 113 may cause orders to be matched according to the drain strategy, and the order books 144 may be updated at 223 to reflect the matched orders. For example, electronic maker orders that have been matched may be removed from the order books 144 or otherwise updated to indicate they have been matched.
[042] FIG. 3 depicts an example of a process 300 for providing a delay-free latency floor mechanism, according to an implementation of the invention.
[043] In an operation 302, process 300 may include listening for and receiving an electronic taker order.
[044] In an operation 304, process 300 may include determining whether taker order matching has concluded (indicating that the taker order has been completely filled). If so, process 300 may return to operation 302. If not, process 300 may proceed to operation 308.
[045] In an operation 308, process 300 may include retrieving the current highest priority contra maker order from electronic order book 144. This is the first in queue at best price-level PATENT APPLICATION

in the electronic order book 144.
[046] In an operation 310, process 300 may include determining whether the current highest priority contra maker order has a flag that indicates it has been grouped. If not, process 300 may proceed to operation 312.
[047] in operation 312, process 300 may include adding the maker order to an order batch queue 124.
[048] In an operation 314, process 300 may include randomizing the order batch queue 124 and draining the queue for matching with the taker order. Process 300 may return to operation 308.
[049] Returning to operation 310, if the current highest priority contra maker order does not have a flag indicating it has been grouped, process 300 may proceed to operation 316.
[050] In operation 316, process 300 may include determining whether an open quantity on the taker order is greater than or equal to the open quantity on the maker order.
If not (indicating more maker orders are needed to completely fill the taker order), process 300 may proceed to operation 320. If yes, process may proceed to operation 318.
[051] In operation 318, process 300 may include matching the maker order and removing it from the electronic order book.
[052] In operation 320, process 300 may include matching, but not removing, the maker order from the electronic order book.
[053] FIG. 4 depicts an example of a process 400 for providing a delay-free latency floor mechanism, according to an implementation of the invention.
[054] In an operation 402, process 400 may include receiving a taker order for a financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument.
[055] In an operation 404, process 400 may include identifying multiple maker orders relating to the financial instrument in an electronic order book based on the price, each maker order placed in the electronic order book without an intentional delay upon receipt at the computer system and each having an electronic payload that includes a timestamp at which the maker order was received.
[056] In an operation 406, process 400 may include analyzing the payload of each of the Revised 45XP-274504 Specification (1).doc PATENT APPLICATION
45XP-274504 =
multiple maker orders in the electronic order book to obtain their respective timestamps.
[057] In an operation 408, process 400 may include generating, responsive to receipt of the take order, an order batch queue comprising at least a first maker order and a second maker order from among the multiple maker orders based on the analyzing.
[058] In an operation 410, process 400 may include randomizing an order of the order batch queue. In an operation 412, process 400 may include matching at least one of the maker orders in the order batch queue with the taker order based on the randomizing.
[059] Although illustrated in FIG. I as a single component, computer system 104 may include a plurality of individual components (e.g., computer devices) each programmed with at least some of the functions described herein. In this manner, some components of computer system 104 may perform some functions while other components may perform other functions, as would be appreciated. The one or more processors 112 may each include one or more physical processors that are programmed by computer program instructions. The various instructions described herein are exemplary only. Other configurations and numbers of instructions may be used, so long as the processor(s) 112 are programmed to perform the functions described herein.
[060] Furthermore, it should be appreciated that although the various instructions are illustrated in FIG. 1 as being co-located within a single processing unit, in implementations in which processor(s) 112 includes multiple processing units, one or more instructions may be executed remotely from the other instructions.
[061] The description of the functionality provided by the different instructions described herein is for illustrative purposes, and is not intended to be limiting, as any of instructions may provide more or less functionality than is described. For example, one or more of the instructions may be eliminated, and some or all of its functionality may be provided by other ones of the instructions. As another example, processor(s) 112 may be programmed by one or more additional instructions that may perfomi some or all of the functionality attributed herein to one of the instructions.
[062] The various instructions described herein may be stored in a storage device 114, which may comprise random access memory (RAM), read only memory (ROM), and/or other memory.
The storage device may store the computer program instructions (e.g., the aforementioned Revised 45XP-274504 Specification (I).doc PATENT APPLICATION

instructions) to be executed by processor 112 as well as data that may be manipulated by processor 112. The storage device may comprise cloud or cloud storage, hard disks, optical disks, tapes, or other storage media for storing computer-executable instructions and/or data.
[063] The various components illustrated in FIG. 1 may be coupled to at least one other component via a network, which may include any one or more of, for instance, the Internet, an intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN
(Wide Area Network), a SAN (Storage Area Network), a MAN (Metropolitan Area Network), a wireless network, a cellular communications network, a Public Switched Telephone Network, and/or other network. In FIG. 1 and other drawing Figures, different numbers of entities than depicted may be used. Furthermore, according to various implementations, the components described herein may be implemented in hardware and/or software that configure hardware.
[064] The various databases (such as orders and sessions database) described herein may be, include, or interface to, for example, an OracleTM relational database sold commercially by Oracle Corporation. Other databases, such as InformixTM, DB2 (Database 2) or other data storage, including file-based, or query formats, platforms, or resources such as OLAP (On Line Analytical Processing), SQL (Structured Query Language), a SAN (storage area network), Microsoft AccessTM or others may also be used, incorporated, or accessed. The database may comprise one or more such databases that reside in one or more physical devices and in one or more physical locations. The database may store a plurality of types of data and/or files and associated data or file descriptions, administrative information, or any other data.
[065] The various processing operations and/or data flows depicted in FIG. 4 (and in the other drawing figures) are described in greater detail herein. The described operations may be accomplished using some or all of the system components described in detail above and, in some implementations, various operations may be performed in different sequences and various operations may be omitted. Additional operations may be performed along with some or all of the operations shown in the depicted flow diagrams. One or more operations may be performed simultaneously. Accordingly, the operations as illustrated (and described in greater detail below) are exemplary by nature and, as such, should not be viewed as limiting.
[066] Other implementations, uses and advantages of the invention will be apparent to those Revised 45XP-274504 Specification (1) doe PATENT APPLICATION
45,CP-274504 skilled in the art from consideration of the specification and practice of the invention disclosed herein. The specification should be considered exemplary only, and the scope of the invention is accordingly intended to be limited only by the following claims.

Revised 45XP-274504 Specification (1).doc

Claims (20)

CLAIMS:
1. A computer implemented method of providing delay-free matching in an electronic trading venue, the method being implemented in a computer system having one or more physical processors programmed with computer program instructions that, when executed by the one or more physical processors, cause the computer system to perform the method, the method comprising:
receiving maker orders for a financial instrument, the maker orders including at least a first maker order and a second maker order;
placing the maker orders into an electronic order book upon receipt at the computer system without an intentional delay, wherein each of the maker orders is associated with an electronic payload that includes at least a timestamp indicating a time at which the maker order was received;
receiving a taker order for the financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument;
responsive to receipt of the taker order, generating an order batch queue comprising a set of maker orders for the financial instrument in the electronic order book, the set of maker orders including at least the first maker order and the second maker order, wherein generating the order batch queue comprises:
identifying multiple maker orders for the financial instrument in the electronic order book based on the price;
obtaining a timestamp for each of the identified maker orders based on the electronic payload for each of the identified maker orders; and identifying the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders;
randomizing an order of the set of maker orders in the order batch queue; and matching at least one of the maker orders in the order batch queue with the taker order based on the randomized order of the set of maker orders.
2. The method of claim 1, wherein identifying the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders comprises:
identifying the set of maker orders from among the identified maker orders having respective timestamps that indicate they were received within a predefined length of time from one another.
3. The method of claim 2, the method further comprising:
prior to receiving the taker order, receiving the first maker order;
inserting, prior to entry into the electronic order book, a first timestamp indicating a time of receipt of the first maker order into a first payload of the first maker order;
prior to receiving the taker order, receiving the second maker order; and inserting, prior to entry into the electronic order book, a second timestamp indicating a time of receipt of the second maker order into a second payload of the second maker order.
4. The method of claim 2, the method further comprising:
prior to receiving the taker order, receiving the first maker order;

inserting, upon entry into the electronic order book, a first timestamp indicating a time of receipt of the first maker order into a first payload of the first maker order;
prior to receiving the taker order, receiving the second maker order; and inserting, upon entry into the electronic order book, a second timestamp indicating a time of receipt of the second maker order into a second payload of the second maker order.
5. The method of claim 1, the method further comprising:
receiving, by the computer system, the first maker order;
placing, by the computer system, the first maker order into the electronic order book without intentionally delaying the first maker order based on batching.
6. The method of claim 1, the method further comprising:
receiving a third maker order prior to generating the order batch queue;
adding the third maker order to the electronic order book without intentional delay;
receiving a cancel of the third maker order; and removing the third maker order from the electronic order book.
7. The method of claim 1, the method further comprising:
storing an indication that the first maker order has been batched, wherein the first maker order remains in the order batch queue until it is filled.
8. The method of claim 1, wherein randomizing the batch queue comprises:
identifying a first market participant that submitted the first maker order;

identifying a second market participant that submitted the second maker order;
generating a random listing of the first market participant and the second market participant;
wherein matching at least one of the maker orders in the order batch queue with the taker order is based on the random listing.
9. A
system of providing delay-free matching in an electronic trading venue, the system comprising:
a computer system comprising one or more physical processors programmed by computer program instructions that, when executed, programs the computer system to:
receive maker orders for a financial instrument, the maker orders including at least a first maker order and a second maker order;
place the maker orders into an electronic order book upon receipt at the computer system without an intentional delay, wherein each of the maker orders is associated with an electronic payload that includes at least a timestamp indicating a time at which the maker order was received;
receive a taker order for the financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument;
responsive to receipt of the taker order, generate an order batch queue comprising a set of maker orders for the financial instrument in the electronic order book, the set of maker orders including at least the first maker order and the second maker order, wherein to generate the order batch queue, the computer system is programmed to:
identify multiple maker orders for the financial instrument in the electronic order book based on the price;

obtain a timestamp for each of the identified maker orders based on the electronic payload for each of the identified maker orders; and identify the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders;
randomize an order of the set of maker orders in the order batch queue; and match at least one of the maker orders in the order batch queue with the taker order based on the randomized order of the set of maker orders.
10. The system of claim 9, wherein to identify the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders, the computer system is further programmed to:
identify the set of maker orders from among the identified maker orders having respective timestamps that indicate they were received within a predefined length of time from one another.
11. The system of claim 10, wherein the computer system is further programmed to:
prior to receipt of the taker order, receive the first maker order;
insert, prior to entry into the electronic order book, a first timestamp indicating a time of receipt of the first maker order into a first payload of the first maker order;
prior to receipt of the taker order, receive the second maker order; and insert, prior to entry into the electronic order book, a second timestamp indicating a time of receipt of the second maker order into a second payload of the second maker order.
12. The system of claim 10, wherein the computer system is further programmed to:

prior to receipt of the taker order, receive the first maker order;
insert, upon entry into the electronic order book, a first timestamp indicating a time of receipt of the first maker order into a first payload of the first maker order;
prior to receipt of the taker order, receive the second maker order; and insert, upon entry into the electronic order book, a second timestamp indicating a time of receipt of the second maker order into a second payload of the second maker order.
13. The system of claim 9, wherein the computer system is further programmed to:
receive the first maker order;
place, by the computer system, the first maker order into the electronic order book without intentionally delaying the first maker order based on batching.
14. The system of claim 9, wherein the computer system is further programmed to:
receive a third maker order prior to generating the order batch queue;
add the third maker order to the electronic order book without intentional delay;
receive a cancel of the third maker order; and remove the third maker order from the electronic order book.
15. The system of claim 9, wherein the computer system is further programmed to:
store an indication that the first maker order has been batched, wherein the first maker order remains in the order batch queue until it is filled.
16. The system of claim 9, wherein to randomize the batch queue, the computer system is further programmed to:

identify a first market participant that submitted the first maker order;
identify a second market participant that submitted the second maker order;
generate a random listing of the first market participant and the second market participant;
wherein at least one of the maker orders in the order batch queue is matched with the taker order based on the random listing.
17. A computer readable medium storing computer instructions for of providing delay-free matching in an electronic trading venue, the instructions, when executed by one or more physical processors of a computer system, program the computer system to:
receive maker orders for a financial instrument, the maker orders including at least a first maker order and a second maker order;
place the maker orders into an electronic order book upon receipt at the computer system without an intentional delay, wherein each of the maker orders is associated with an electronic payload that includes at least a timestamp indicating a time at which the maker order was received;
receive a taker order for the financial instrument, the taker order specifying a price of the financial instrument that triggers matching with one or more maker orders for the financial instrument;
responsive to receipt of the taker order, generate an order batch queue comprising a set of maker orders for the financial instrument in the electronic order book, the set of maker orders including at least the first maker order and the second maker order, wherein to generate the order batch queue, the instructions program the computer system to:
identify multiple maker orders for the financial instrument in the electronic order book based on the price;

obtain a timestamp for each of the identified maker orders based on the electronic payload for each of the identified maker orders; and identify the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders;
randomize an order of the set of maker orders in the order batch queue; and match at least one of the maker orders in the order batch queue with the taker order based on the randomized order of the set of maker orders.
18. The computer readable medium of claim 17, wherein to identify the set of maker orders to include in the order batch queue from among the identified maker orders based on the timestamp for each of the identified maker orders, the instructions further program the computer system to:
identify the set of maker orders from among the identified maker orders having respective timestamps that indicate they were received within a predefined length of time from one another.
19. The computer readable medium of claim 18, wherein the instructions further program the computer system to:
prior to receipt of the taker order, receive the first maker order;
insert, prior to entry into the electronic order book, a first timestamp indicating a time of receipt of the first maker order into a first payload of the first maker order;
prior to receipt of the taker order, receive the second maker order; and insert, prior to entry into the electronic order book, a second timestamp indicating a time of receipt of the second maker order into a second payload of the second maker order.
20. The computer readable medium of claim 18, wherein the instructions further program the computer system to:
prior to receipt of the taker order, receive the first maker order;
insert, upon entry into the electronic order book, a first timestamp indicating a time of receipt of the first maker order into a first payload of the first maker order;
prior to receipt of the taker order, receive the second maker order; and insert, upon entry into the electronic order book, a second timestamp indicating a time of receipt of the second maker order into a second payload of the second maker order.
CA3012108A 2018-03-27 2018-07-23 Delay-free matching for deemphasizing effects of speed differentials among price-makers Active CA3012108C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862648459P 2018-03-27 2018-03-27
US62/648459 2018-03-27

Publications (2)

Publication Number Publication Date
CA3012108A1 CA3012108A1 (en) 2019-09-27
CA3012108C true CA3012108C (en) 2020-10-20

Family

ID=68057844

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3012108A Active CA3012108C (en) 2018-03-27 2018-07-23 Delay-free matching for deemphasizing effects of speed differentials among price-makers

Country Status (3)

Country Link
AU (2) AU2018208621A1 (en)
CA (1) CA3012108C (en)
SG (1) SG10201806294UA (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022000391A1 (en) 2022-02-02 2023-08-03 Wolfgang Halang Matching device for trade orders

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954800B2 (en) * 2000-04-07 2005-10-11 Broadcom Corporation Method of enhancing network transmission on a priority-enabled frame-based communications network
CA2895354C (en) * 2013-06-24 2018-08-28 Aequitas Innovations Inc. System and method for automated trading of financial interests
US10325317B2 (en) * 2013-11-05 2019-06-18 Refinitiv Us Organization Llc Ideal latency floor

Also Published As

Publication number Publication date
AU2018208621A1 (en) 2019-10-17
CA3012108A1 (en) 2019-09-27
SG10201806294UA (en) 2019-10-30
AU2020204001A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US11144993B2 (en) Delay-free matching for deemphasizing effects of speed differentials among price-makers
US11798077B2 (en) Ideal latency floor
US10127612B2 (en) System, method, and computer-readable medium for improving the efficiency and stability of financial markets
EP2858318B1 (en) Method and apparatus for order entry in an electronic trading system
US20170212781A1 (en) Parallel execution of blockchain transactions
CA2944925C (en) Selective delayed and undelayed database updating
CA2600725A1 (en) Systems and methods for establishing first on the follow trading priority in electronic trading systems
WO2007147681A2 (en) System and method for monitoring trading
EP3051440A1 (en) Keyvalue database data table updating method and data table updating device
US20110047064A1 (en) Distribution of data to multiple recipients
CA2958845A1 (en) Dynamic peg orders in an electronic trading system
US20230137867A1 (en) Generating non-fungible tokens (nfts) representing digital assets
CA3012108C (en) Delay-free matching for deemphasizing effects of speed differentials among price-makers
WO2017139744A1 (en) Priority matching for maker orders exhibiting delayed cancelation
CN112258252A (en) Block chain-based data asset value evaluation device and method
CN111813868B (en) Data synchronization method and device
CN108540375B (en) Resource propagation method, device, server and computer readable storage medium
CN106688008B (en) Ideal latency transactions
CN111400283A (en) Data processing method, system, electronic equipment and storage medium
US11386495B2 (en) Dynamic dissemination of information to network devices
CA3045912A1 (en) Systems and methods for processing full or partially displayed dynamic peg orders in an electronic trading system
CN114240476A (en) Abnormal user determination method, device, equipment and storage medium
CN108683581B (en) Mail triggering method and device, electronic equipment and computer readable storage medium
CN111192134A (en) Risk conduction early warning method based on incidence relation
US11037241B2 (en) Dynamic dissemination of information to network devices