Language selection

Search

Patent 3012108 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 3012108
(54) English Title: DELAY-FREE MATCHING FOR DEEMPHASIZING EFFECTS OF SPEED DIFFERENTIALS AMONG PRICE-MAKERS
(54) French Title: CONCORDANCE SANS DELAI SERVANT A REDUIRE LES EFFETS DES DIFFERENTIELS DE VITESSE ENTRE LES FIXEURS DE PRIX
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06Q 40/04 (2012.01)
(72) Inventors :
  • MELTON, HAYDEN PAUL (United States of America)
(73) Owners :
  • REFINITIV US ORGANIZATION LLC (United States of America)
(71) Applicants :
  • THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY (Switzerland)
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued: 2020-10-20
(22) Filed Date: 2018-07-23
(41) Open to Public Inspection: 2019-09-27
Examination requested: 2018-07-23
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
62/648459 United States of America 2018-03-27

Abstracts

English 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.


French Abstract

Linvention concerne des systèmes informatiques améliorés qui atténuent les effets des incohérences de calcul dordinateurs branchés à une plateforme de négociation électronique en fonction de la sélection de commandes, reçues sur la plateforme au moyen dun réseau des ordinateurs au moyen de mécanismes de randomisation et sans délai. Pour tenir compte des transactions à haute fréquence et améliorer le rendement du système informatique dune plateforme de négociation électronique, le système peut immédiatement, sans ajout de délai de mise en lot ou de randomisation, placer des commandes de jobber dans un livre électronique de commandes. Si une commande de jobber est reçue et que son prix est compatible avec des commandes de jobber reçues précédemment dans le livre de commandes, le système peut mettre les commandes de jobber en lot dans le livre aux fins de randomisation. Ainsi, les procédés de mise en lot et de randomisation nutilisent pas le réseau et les ressources du système informatique, sauf sils sont réellement nécessaires, et ne sont généralement pas utilisés lorsque les commandes de jobber sont annulées après leur entrée initiale dans le livre électronique de commandes.

Claims

Note: Claims are shown in the official language in which they were submitted.


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;
16

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;
17

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;
18

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:
19

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;
21

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.
22

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.
23

Description

Note: Descriptions are shown in the official language in which they were submitted.


84387373
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
1
CA 3012108 2019-11-21

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
2
Revised 45XP-274504 Specification (1) doc
CA 3012108 2018-07-23

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').
3
Revised 45XP-274504 Specification (1).doc
CA 3012108 2018-07-23

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
4
Revised 45XP-274504 Specification (1).doc
CA 3012108 2018-07-23

84387373
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

84387373
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
CA 3012108 2019-11-21

_
,
84387373
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
CA 3012108 2019-11-21

_
84387373
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
CA 3012108 2019-11-21

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
6
Revised 45)CP-274504 Specification (1) doc
CA 3012108 2018-07-23

84387373
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
7
CA 3012108 2019-11-21

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
8
Revised 45XP-274504 Specification (1). doe
CA 3012108 2018-07-23

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
9
Revised 45XP-274504 Specification (1) doc
CA 3012108 2018-07-23

84387373
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
CA 3012108 2019-11-21

PATENT APPLICATION
45XP-274504
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
11
Revised 45XP-274504 Specification (1).doc
CA 3012108 2018-07-23

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
12
Revised 45XP-274504 Specification (I).doc
CA 3012108 2018-07-23

PATENT APPLICATION
45XP-274504
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
13
Revised 45XP-274504 Specification (1) doe
CA 3012108 2018-07-23

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.
14
Revised 45XP-274504 Specification (1).doc
CA 3012108 2018-07-23

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2020-10-20
(22) Filed 2018-07-23
Examination Requested 2018-07-23
(41) Open to Public Inspection 2019-09-27
(45) Issued 2020-10-20

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $210.51 was received on 2023-05-31


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2024-07-23 $100.00
Next Payment if standard fee 2024-07-23 $277.00

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $800.00 2018-07-23
Application Fee $400.00 2018-07-23
Registration of a document - section 124 $100.00 2018-11-01
Registration of a document - section 124 $100.00 2018-11-01
Registration of a document - section 124 $100.00 2019-04-09
Registration of a document - section 124 $100.00 2019-04-09
Registration of a document - section 124 $100.00 2019-04-09
Maintenance Fee - Application - New Act 2 2020-07-23 $100.00 2020-07-28
Final Fee 2020-12-14 $300.00 2020-09-03
Maintenance Fee - Patent - New Act 3 2021-07-23 $100.00 2021-06-30
Maintenance Fee - Patent - New Act 4 2022-07-25 $100.00 2022-06-01
Maintenance Fee - Patent - New Act 5 2023-07-24 $210.51 2023-05-31
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
REFINITIV US ORGANIZATION LLC
Past Owners on Record
THOMSON REUTERS (GRC) INC.
THOMSON REUTERS (GRC) LLC
THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Amendment 2019-11-21 30 1,194
Claims 2019-11-21 9 299
Description 2019-11-21 17 870
Interview Record Registered (Action) 2020-05-20 2 19
Amendment 2020-05-20 6 203
Description 2020-05-20 17 870
Protest-Prior Art 2020-08-18 4 122
Acknowledgement of Receipt of Protest 2020-09-04 1 186
Final Fee 2020-09-03 5 138
Cover Page 2020-09-23 2 52
Representative Drawing 2020-09-23 1 13
Abstract 2018-07-23 1 27
Description 2018-07-23 14 754
Claims 2018-07-23 6 261
Drawings 2018-07-23 4 117
Examiner Requisition 2019-05-22 5 224
Representative Drawing 2019-08-19 1 12
Cover Page 2019-08-19 2 51