U.S. patent application number 16/522887 was filed with the patent office on 2019-11-14 for system and method for replenishing quantities of trading orders.
The applicant listed for this patent is BGC PARTNERS, INC.. Invention is credited to Matthew W. Claus, Kevin M. Foley, Howard W. Lutnick, Joseph C. Noviello.
Application Number | 20190347731 16/522887 |
Document ID | / |
Family ID | 37727957 |
Filed Date | 2019-11-14 |
United States Patent
Application |
20190347731 |
Kind Code |
A1 |
Claus; Matthew W. ; et
al. |
November 14, 2019 |
SYSTEM AND METHOD FOR REPLENISHING QUANTITIES OF TRADING ORDERS
Abstract
A system for replenishing trading orders comprises a memory
coupled to a processor. The memory stores a trading order
comprising a total quantity of a product, and at least one formula
to determine a displayed quantity for the trading order. The
processor applies the formula to determine the displayed quantity.
The processor further determines a reserved quantity based on the
determined displayed quantity and the total quantity. The processor
communicates the trading order having the determined displayed
quantity and the determined reserved quantity.
Inventors: |
Claus; Matthew W.; (Summit,
NJ) ; Foley; Kevin M.; (New York, NY) ;
Noviello; Joseph C.; (Summit, NJ) ; Lutnick; Howard
W.; (New York, NY) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
BGC PARTNERS, INC. |
New York |
NY |
US |
|
|
Family ID: |
37727957 |
Appl. No.: |
16/522887 |
Filed: |
July 26, 2019 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14251179 |
Apr 11, 2014 |
|
|
|
16522887 |
|
|
|
|
12651990 |
Jan 4, 2010 |
8706605 |
|
|
14251179 |
|
|
|
|
11499830 |
Aug 3, 2006 |
7644031 |
|
|
12651990 |
|
|
|
|
60705782 |
Aug 4, 2005 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 40/04 20130101;
G06Q 40/00 20130101 |
International
Class: |
G06Q 40/04 20060101
G06Q040/04; G06Q 40/00 20060101 G06Q040/00 |
Claims
1. (canceled)
2. An apparatus, comprising: at least one processor; at least one
memory in electronic communication with the processor, the at least
one memory having instructions stored thereon which, when executed
by the at least one processor, direct the at least one processor
to: (a) receive from a trader computer a trading order comprising a
total quantity of a product; (b) transmit to the trader computer at
least one electronic message comprising a request to indicate a
formula for replenishing a quantity of the trading order; (c)
receive from the trader computer information about at least one
algorithm to determine a displayed quantity for the trading order,
in which the information is transmitted from the trader computer to
the at least one processor in response to the electronic message
comprising a request to indicate a formula for replenishing a
quantity of the trading order; (d) apply the algorithm to determine
the displayed quantity; (e) determine a reserved quantity based on
the determined displayed quantity and the total quantity; (f)
communicate the trading order having the determined displayed
quantity and the determined reserved quantity, in which the
determined displayed quantity is displayed to other traders; (g)
determine that the displayed quantity of the trading order was
filled; (h) reduce the total quantity of the trading order by the
amount of the displayed quantity that was filled; and (i)
responsive to determining that the total quantity of the trading
order is not yet filled, repeat operations (d) through (f).
3. The apparatus of claim 2, wherein the algorithm uses a current
total quantity of the trading order as a variable in the algorithm
to determine the displayed quantity of the trading order, and
wherein the at least one electronic message comprising a request to
indicate a formula is transmitted to the trader computer in
response to receiving the trading order.
4. The apparatus of claim 2, wherein the algorithm uses the number
of times operations (d) through (f) have been performed as a
variable to determine the displayed quantity of the trading
order.
5. The apparatus of claim 2, wherein the algorithm one of (1)
increases the displayed quantity of the trading order with each
time that operations (d) through (f) is performed and (2) decreases
the displayed quantity of the trading order with each time that
operations (d) through (f) is performed.
6. The apparatus of claim 2, wherein the reserved quantity is the
difference between the total quantity and the displayed
quantity.
7. The apparatus of claim 2, wherein the displayed quantity
determined by the algorithm is a random value.
8. The apparatus of claim 2, wherein operations (d) through (f) are
repeated at least twice, and wherein at least two successive
applications of the algorithm to determine the displayed quantity
produce different values of displayed quantity.
9. The apparatus of claim 2, wherein the act of applying the
algorithm to determine the displayed quantity comprises selecting a
displayed quantity from a range of possible displayed
quantities.
10. The apparatus of claim 9, wherein the range of possible
displayed quantities is specified by the trader computer.
Description
RELATED APPLICATIONS
[0001] This patent application is a continuation of U.S. patent
application Ser. No. 14/251,179 filed Apr. 11, 2014, which is a
continuation of U.S. patent application Ser. No. 12/651,990 filed
Jan. 4, 2010 (now U.S. Pat. No. 8,706,605), which is a continuation
of U.S. patent application Ser. No. 11/499,830, filed Aug. 3, 2006
(now U.S. Pat. No. 7,644,031), which claims the benefit of U.S.
Provisional Patent Application Ser. No. 60/705,782, filed Aug. 4,
2005, the disclosures of which are hereby incorporated by reference
herein in their entireties.
TECHNICAL FIELD OF THE INVENTION
[0002] The present invention relates generally to electronic
trading and more specifically to a system for replenishing
quantities of trading orders.
[0003] In recent years, electronic trading systems have gained wide
spread acceptance for trading of a wide variety of items, such as
goods, services, financial instruments, and commodities. For
example, electronic trading systems have been created which
facilitate the trading of financial instruments and commodities
such as stocks, bonds, currency, futures contracts, oil, and
gold.
[0004] Many of these electronic trading systems use a bid/offer
process in which bids and offers are submitted to the systems by a
passive side and then those bids and offers are hit or lifted (or
taken) by an aggressive side. For example, a passive trading
counterparty may submit a "bid" to buy a particular trading
product. In response to such a bid, an aggressive side counterparty
may submit a "hit" in order to indicate a willingness to sell the
trading product to the first counterparty at the given price.
Alternatively, a passive side counterparty may submit an "offer" to
sell the particular trading product at the given price, and then
the aggressive side counterparty may submit a "lift" (or "take") in
response to the offer to indicate a willingness to buy the trading
product from the passive side counterparty at the given price.
SUMMARY OF THE INVENTION
[0005] In accordance with the present invention, the disadvantages
and problems associated with prior electronic trading systems have
been substantially reduced or eliminated.
[0006] In one embodiment, a system for replenishing trading orders
comprises a memory coupled to a processor. The memory stores a
trading order comprising a total quantity of a product, and at
least one formula to determine a displayed quantity for the trading
order. The processor applies the formula to determine the displayed
quantity. The processor further determines a reserved quantity
based on the determined displayed quantity and the total quantity.
The processor communicates the trading order having the determined
displayed quantity and the determined reserved quantity. The
formula may be used to generate a random value.
[0007] In another embodiment, a system for replenishing trading
orders comprises a memory coupled to a processor. The memory stores
a trading order comprising a total quantity of a product, and at
least one formula to determine a reserved quantity for the trading
order. The processor applies the formula to determine the reserved
quantity. The processor further determines a displayed quantity
based on the determined reserved quantity and the total quantity.
The processor communicates the trading order having the determined
displayed quantity and the determined reserved quantity. The
formula may be used to generate a random value.
[0008] Various embodiments of the present invention may benefit
from numerous advantages. It should be noted that one or more
embodiments may benefit from some, none, or all of the advantages
discussed below.
[0009] One advantage is that the trading platform of the present
system uses one or more formulas to determine replenishment amounts
so as to disguise the actions of a particular trader. When other
traders see multiple transactions involving the same amount of the
same trading product, those other traders may guess that a single
trader is incrementally purchasing or selling a large amount of
that trading product. By replenishing the displayed quantity (or
reserved quantity) of a particular trading order using one or more
formulas, the trading platform may generate multiple transactions
involving different amounts of a trading product. Thus, the trading
platform may disguise the fact that a single trader is buying or
selling a large amount of a trading product. The formula may be
used to generate a random value. In addition, the trading platform
may become more or less aggressive during the course of filling
trading orders according to the formulas that are used.
[0010] Other advantages will be readily apparent to one having
ordinary skill in the art from the following figures, descriptions,
and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] For a more complete understanding of the present invention
and its advantages, reference is now made to the following
description, taken in conjunction with the accompanying drawings,
in which:
[0012] FIG. 1 illustrates one embodiment of a trading system in
accordance with the present invention;
[0013] FIGS. 2-3 illustrate flowcharts of methods for randomly
replenishing quantities of a trading order; and
[0014] FIGS. 4-5 illustrate flowcharts of a method for replenishing
quantities of a trading order according to a formula.
DETAILED DESCRIPTION OF THE INVENTION
[0015] FIG. 1 illustrates one embodiment of a trading system 10.
Generally, trading system 10 comprises a trading platform 50
communicatively connected to clients 20, networks 30, and market
centers 40. Trading platform 50 may receive and process trading
orders 12 from traders 70. A given trading order 12 may comprise
two parts--a "displayed quantity" and a "reserved quantity." In
placing trading order 12, trader 70 may indicate that only a
portion of the total quantity of trading order 12 should be
displayed to other traders 70. This portion of trading order 12 to
be displayed to other traders 70 is referred to as the "displayed
quantity." The remaining portion of trading order 12 is referred to
as the "reserved quantity." Designating a portion of trading order
12 as a "reserved quantity" allows trader 70 to enter a large
trading order 12 while only displaying a portion of that trading
order 12 to other traders 70. Trading platform 50 may incrementally
fill a particular trading order 12 by first filling the displayed
quantity of that trading order 12 and then using the reserved
quantity to replenish the displayed quantity of that trading order
12. According to certain embodiments, the trading platform 50
replenishes the displayed quantities of trading orders 12 in a
manner that disguises the actions of a particular trader 70.
[0016] Trading orders 12 generally comprise orders 12a and
counterorders 12b. Orders 12a and counterorders 12b may be buy
orders 14 and sell orders 16. Orders 12a and counterorders 12b are
complementary actions such as, for example, buying and selling. If
an order 12a refers to a buy order 14, then a counterorder 12b
refers to a sell order 16. Conversely, if an order 12a refers to a
sell order 16, then a counterorder 12b refers to a buy order 14. A
buy order 14 is a request to buy a particular quantity of a
particular trading product (e.g., bid request). A sell order 16 is
a request to sell a particular quantity of a particular trading
product (e.g., offer request). In particular embodiments, trading
order 12 may specify a target price (e.g., target bid price or
target offer price) for the trading product. Although system 10 is
exemplified below using equities as the trading product, the
trading product that forms the basis of trading order 12 may
comprise any goods, services, financial instruments, commodities,
etc. Examples of financial instruments include, but are not limited
to, stocks, bonds, and futures contracts.
[0017] Clients 20 are operable to receive trading orders 12 from
traders 70 and to send trading orders 12 to trading platform 50
and/or market centers 40. Clients 20 comprise any suitable local or
remote end-user devices that may be used by traders 70 to access
one or more elements of trading system 10, such as trading platform
50. A particular client 20 may comprise a computer, workstation,
telephone, Internet browser, electronic notebook, Personal Digital
Assistant (PDA), pager, or any other suitable device (wireless or
otherwise), component, or element capable of receiving, processing,
storing, and/or communicating information with other components of
system 10. Client 20 may also comprise any suitable user interface
such as a display, microphone, keypad, keyboard, touch screen, or
any other appropriate terminal equipment according to particular
configurations and arrangements. It will be understood that there
may be any number of clients 20 communicatively connected to
trading platform 50. In addition, there may be any number of
clients 20 communicatively connected to market centers 40 without
using trading platform 50.
[0018] Although clients 20 are described herein as being used by
"traders" 70, it should be understood that the term "trader" is
meant to broadly apply to any user of trading system 10, whether
that user is an agent acting on behalf of a principal, a principal,
an individual, a legal entity (such as a corporation), or any
machine or mechanism that is capable of placing and/or responding
to trading orders 12 in system 10.
[0019] According to certain embodiments, traders 70 may include
market makers. A market maker may include any individual or firm
that submits and/or maintains either or both bid and offer trading
orders 12 simultaneously for the same instrument. For example, a
market maker may include an individual or firm, such as a brokerage
or bank, that maintains either a firm bid and/or offer price in a
given security by standing ready, willing, and able to buy and/or
sell that security at publicly quoted prices. A market maker
generally displays bid and/or offer prices for specific numbers of
specific securities, and if these prices are met, the market maker
will immediately buy for and/or sell from its own accounts.
According to certain embodiments, a single trading order 12 may be
filled by a number of market makers at potentially different
prices.
[0020] Networks 30 are communication platforms operable to exchange
data or information between clients 20 and trading platform 50
and/or market centers 40. According to certain embodiments, a
particular network 30 may represent an Internet architecture which
provides clients 20 with the ability to communicate trading or
transaction information to trading platform 50 and/or market
centers 40. According to certain embodiments, network 30 comprises
a plain old telephone system (POTS), which traders 70 may use to
perform the same operations and functions. Transactions may be
assisted by a broker associated with trading platform 50 or
manually keyed into a telephone or other suitable electronic device
to request that a transaction be executed. In certain embodiments,
network 30 may be any packet data network (PDN) offering a
communications interface or exchange between any two nodes in
system 10. Network 30 may further comprise any combination of local
area network (LAN), metropolitan area network (MAN), wide area
network (WAN), wireless local area network (WLAN), virtual private
network (VPN), intranet, or any other appropriate architecture or
system that facilitates communications between clients 20 and
trading platform 50 and/or market centers 40.
[0021] Market centers 40 comprise all manner of order execution
venues including exchanges, Electronic Communication Networks
(ECNs), Alternative Trading Systems (ATSs), market makers, or any
other suitable market participants. Each market center 40 maintains
a bid and offer price for a given trading product by standing
ready, willing, and able to buy or sell that trading product at
publicly quoted prices, also referred to as market center prices.
Different market centers 40 may provide different market center
prices for particular trading products. For example, a particular
market center 40 may offer a particular bid price and/or offer
price for a particular trading product, while another market center
40 may offer a different bid price and/or offer price for the same
trading product. A particular market center 40 may charge a
transaction cost to execute trading orders 12 that remain in the
order books of that market center 40 for more than a certain length
of time. Different market centers 40 may have different policies
regarding the disclosure of various details of trading orders 12.
For example, certain market centers 40 referred to as "cooperative"
market centers may disclose both the displayed quantities and the
reserved quantities of trading orders 12 to trading platform 50.
Other market centers 40 referred to as "non-cooperative" market
centers may disclose only the displayed quantities of trading
orders 12 to trading platform 50.
[0022] Trading platform 50 is a trading architecture that
facilitates the routing, matching, and otherwise processing of
trading orders 12. Trading platform 50 may comprise a management
center or a headquartering office for any person, business, or
entity that seeks to route, match, process, or fill trading orders
12. Accordingly, trading platform 50 may include any suitable
combination of hardware, software, personnel, devices, components,
elements, or objects that may be utilized or implemented to achieve
the operations and functions of an administrative body or a
supervising entity that manages or administers a trading
environment. In certain embodiments, trading platform 50 comprises
client interface 52, market interface 54, processor 56, and memory
module 60.
[0023] Client interface 52 of trading platform 50 is
communicatively connected to network 30 and supports communications
between clients 20 and the various components of trading platform
50. According to certain embodiments, client interface 52 comprises
a transaction server that receives trading orders 12 communicated
by clients 20 via network 30.
[0024] Market interface 54 is communicatively connected to market
centers 40 and supports communications between market centers 40
and the various components of trading platform 50. Market interface
54 may comprise a transaction server that receives trading orders
12 communicated by market centers 40. Market interface 54 may be
operable to send to market centers 40 trading orders 12 received
from clients 20 connected directly to trading platform 50.
[0025] Client interface 52 and market interface 54 are
communicatively connected to processor 56. Processor 56 is operable
to record trading orders 12 in memory module 60 and route trading
orders 12 to market centers 40. Processor 56 is further operable to
execute logic 62 stored in memory module 60 to match buy orders 14
and sell orders 16 received by client interface 52 and market
interface 54. In addition, processor 56 is operable to
incrementally fill a particular trading order 12 by using the
reserved quantity of that trading order 12 to replenish the
displayed quantity of that trading order 12. Processor 56 may
comprise any suitable combination of hardware and software
implemented in one or more modules to provide the described
functions or operations.
[0026] Memory module 60 comprises any suitable arrangement of
random access memory (RAM), read only memory (ROM), magnetic
computer disk, CD-ROM, or other magnetic or optical storage media,
or any other volatile or non-volatile memory devices that store one
or more files, lists, tables, or other arrangements of information
such as trading orders 12. Although FIG. 1 illustrates memory
module 60 as internal to trading platform 50, it should be
understood that memory module 60 may be internal or external to
components of trading system 10, depending on particular
implementations. Also, memory module 60 illustrated in FIG. 1 may
be separate or integral to other memory devices to achieve any
suitable arrangement of memory devices for use in trading system
10.
[0027] According to certain embodiments, memory module 60 comprises
logic 62. Generally, logic 62 comprises software instructions for
routing, matching, processing, or filling trading orders 12.
Processor 56 is operable to execute logic 62 in memory module 60 to
match buy orders 14 and sell orders 16 and to determine the
priority of traders 70 associated with those buy orders 14 and sell
orders 16. Processor 56 is further operable to execute logic 62 in
memory module 60 to determine the manner in which to replenish the
displayed quantity of a particular trading order 12. Generally, the
manner and sequence in which trading orders 12 are filled is based
at least in part on the sequence in which trading platform 50
receives each trading order 12. In certain embodiments, the manner
and sequence in which trading orders 12 are filled is also based at
least in part on the size of the displayed quantity of a particular
trading order 12 relative to the size of the reserved quantity of
that trading order 12. By replenishing the displayed quantities of
trading orders 12, trading platform 50 may disguise the actions of
a particular trader 70.
[0028] It should be understood that the internal structure of
trading platform 50 and the interfaces, processors, and memory
devices associated therewith is malleable and can be readily
changed, modified, rearranged, or reconfigured in order to achieve
the intended operations of trading platform 50.
[0029] Trading platform 50 may fill a particular trading order 12
in random increments to disguise the actions of trader 70
associated with that trading order 12. According to certain
embodiments, trader 70 inputs into client 20 the total quantity of
a particular trading order 12. In addition, trader 70 inputs into
client 20 a range for the displayed quantity of that trading order
12. Client 20 sends the total quantity of that trading order 12 and
the range for the displayed quantity of that trading order 12 to
trading platform 50. Processor 56 then randomly selects a number
within the range indicated by trader 70. This number is referred to
as the replenishment amount. Processor 56 sets the displayed
quantity of the particular trading order 12 to be equal to the
replenishment amount. In another embodiment, trading order 12
specifies an initial displayed quantity and platform 50 determines
subsequent displayed quantities based at least in part upon
randomly determined replenishment amounts. The random increments
may be determined according to any suitable method including, for
example, by using a random number generator to generate a random
value, applying a formula to generate a random value, determining a
random value from a range of values, and determining a random value
by using values derived from other values and/or external events
(e.g., using the last digit of each of the DOW, FTSE, NASDAQ, etc.
at a given point in time to determine a random or pseudo-random
value).
[0030] An example illustrates certain embodiments of the present
invention. Trader 70a inputs into client 20a buy order 14a for
1,000 shares of product X. In addition, trader 70a inputs into
client 20a the range of 80 to 120 shares as the range for the
displayed quantity of buy order 14a. Client 20a sends buy order 14a
and the range of 80 to 120 shares to trading platform 50. Processor
56 then randomly selects a number between 80 and 120 to be the
replenishment amount. For instance, processor 56 may randomly
select the number 92 to be the replenishment amount. Processor 56
then sets the displayed quantity of buy order 14a to be 92 shares.
Consequently, the reserved quantity of buy order 14a is 808
shares.
[0031] According to certain embodiments, trading platform 50 is
operable to repeatedly replenish the displayed quantity of a
particular trading order 12. In particular, after setting the
displayed quantity of a particular trading order 12 to be equal to
the replenishment amount, trading platform 50 displays the
displayed quantity of that trading order 12 to market center 40.
Subsequently, the displayed quantity of trading order 12 is filled
with a corresponding counterorder 12b. In order to replenish the
displayed quantity of trading order 12, processor 56 randomly
selects a second number within the range indicated by trader 70.
This second number is the new replenishment amount. Using a portion
of the reserved quantity of trading order 12, processor 56 sets the
displayed quantity of trading order 12 to be equal to the new
replenishment amount. Trading platform 50 displays the displayed
quantity of trading order 12 to market center 40. When the
displayed quantity of that trading order 12 is filled with a
corresponding counterorder 12b, trading platform 50 repeats the
process until all of trading order 12 is filled.
[0032] In the preceding example, processor 56 set the initial
displayed quantity of buy order 14a to be 92 shares. Processor 56
then displays the displayed quantity of 92 shares of buy order 14a
to market center 40. Subsequently, the displayed quantity of buy
order 14a is filled with 92 shares of product X from a
corresponding counterorder 12b. In order to replenish the displayed
quantity of buy order 14a, processor 56 randomly selects a number
between 80 and 120. For instance, processor 56 may select the
number 81. By using the reserved quantity of buy order 14a,
processor 56 sets the displayed quantity of buy order 14a to be 81
shares. The reserved quantity of buy order 14a is reduced to 727
shares. Trading platform 50 displays the displayed quantity of 81
shares to market center 40. Subsequently, the displayed quantity of
buy order 14a is filled with 81 shares of product X from a
corresponding counterorder 12b. When the displayed quantity of buy
order 14a is filled, processor 56 selects another random number
from the range indicated by trader 70 in order to replenish the
displayed quantity of buy order 14a. This process is repeated until
all 1,000 shares of buy order 14a are filled.
[0033] System 10 has several important technical advantages.
Various embodiments of system 10 may have none, some, or all of
these advantages. One advantage is that platform 50 uses randomly
selected replenishment amounts to disguise the actions of a
particular trader 70. When other traders 70 see multiple
transactions involving the same amount of the same trading product,
those other traders 70 may guess that a single trader 70 is
incrementally purchasing or selling a large amount of that trading
product. By randomly replenishing the displayed quantity of a
particular trading order 12, trading platform 50 may generate
multiple transactions involving different amounts of a trading
product. Thus, trading platform 50 may disguise the fact that a
single trader 70 is buying or selling a large amount of a trading
product.
[0034] According to certain embodiments, trading platform 50 may
replenish the displayed quantity of a particular trading order 12
based on one or more formulas selected by trader 70. When trader 70
submits trading order 12 to trading platform 50, trading platform
50 may request trader 70 to indicate an initial displayed quantity
and to indicate a formula for replenishing the displayed quantity
of trading order 12. According to certain embodiments, trading
platform 50 may fill the initial displayed quantity of trading
order 12 with a corresponding counterorder 12b. Trading platform 50
then determines a replenishment amount based on the formula
indicated by trader 70. According to certain embodiments, trading
platform 50 replenishes the displayed quantity of trading order 12
with the replenishment amount using the reserved quantity of
trading order 12. According to certain embodiments, trading
platform 50 then fills the displayed quantity of trading order 12
with a corresponding counterorder 12b. Trading platform 50 repeats
this process until all of trading order 12 is filled.
[0035] In another embodiment, trading order 12 does not specify an
initial displayed quantity. Rather, platform 50 uses the formula to
determine the initial displayed quantity and the replenishment
amounts described above for subsequent displayed quantities. As
described above, the formula may be used to generate a random
value.
[0036] The formula indicated by trader 70 may be any algorithm,
equation, table, or logic suitable for replenishing the displayed
quantity of trading order 12. In some embodiments, trader 70 may
indicate a formula by inputting a formula into client 20 or by
selecting a formula stored in client 20 or another node of system
10. According to certain embodiments, trader 70 may indicate a
formula that increases the displayed quantity of trading order 12
each time the displayed quantity of trading order 12 is
replenished. Such a formula may allow trading platform 50 to become
more aggressive in filling a particular trading order 12 as that
trading order 12 is incrementally filled. According to certain
embodiments, trader 70 may indicate a formula that decreases the
displayed quantity of trading order 12 each time the displayed
quantity of trading order 12 is replenished. Such a formula may
allow trading platform 50 to become less aggressive in filling a
particular trading order 12 as that trading order 12 is
incrementally filled.
[0037] An example illustrates certain embodiments of the present
invention. Trader 70a submits buy order 14a for 1,000 shares of
product A. Trader 70a indicates an initial displayed quantity of
100 shares. In addition, trader 70a indicates the following formula
for determining the replenishment amount of buy order 14a:
replenishment_amount=initial_displayed_quantity+10*n where "n"
equals the number of times the displayed quantity of buy order 14a
has been filled. According to certain embodiments, trading platform
50 displays the initial displayed quantity of buy order 14a--100
shares of product A--to other traders 70 and to market centers 40.
In the present example, trading platform 50 fills the displayed
quantity of buy order 14a with 100 shares of product A from a
corresponding sell order 16. After filling the initial displayed
quantity of buy order 14a, trading platform 50 determines a
replenishment amount based on the formula indicated by trader 70a.
In this instance, the replenishment amount equals 110 shares
because the displayed quantity has been filled once. After
determining the replenishment amount, trading platform 50
replenishes the displayed quantity of buy order 14a with 110 shares
from the reserved quantity of buy order 14a. In the present
example, trading platform 50 then fills the new displayed quantity
of buy order 14a with 110 shares of product A from a corresponding
sell order 16. Next, trading platform 50 again determines a
replenishment amount based on the formula indicated by trader 70a.
In the present example, the replenishment amount is now 120 shares
because the displayed quantity of buy order 14a has been filled
twice. Trading platform 50 repeats this process until all of buy
order 14a is filled.
[0038] The foregoing example illustrates the use of a particular
formula to replenish the displayed quantity of a particular trading
order 12. It will be understood that any suitable algorithm,
formula, equation, table, or logic suitable for replenishing the
displayed quantity of a particular trading order 12 may be used
without changing the process, method, or functionality of the
present disclosure.
[0039] System 10 has certain technical advantages. Various
embodiments of system 10 may have none, some, or all of these
advantages. One advantage is that platform 50 uses one or more
formulas to replenish the displayed quantity of trading order 12,
thus disguising the actions of trader 70 associated with trading
order 12. In addition, the trading platform 50 may become more or
less aggressive during the course of filling trading order 12,
according to the formulas that are used.
[0040] Although system 10 is described above with reference to
determining a replenishment amount for displayed quantity, it
should be understood that system 10 could also determine a reserved
quantity first, either randomly or by using a formula, and then
determine a replenishment amount for the displayed quantity by
subtracting the reserved quantity from the total quantity after
each time a portion of the total quantity is filled.
[0041] FIG. 2 is a flowchart 100 that illustrates one embodiment of
a method for replenishing trading orders 12. It should be
understood that additional, fewer, or different operations may be
performed in any suitable order to achieve the intended functions
without departing from the scope of this method. At step 102,
trading platform 50 receives a trading order 12 specifying a total
quantity of a product and a range of values. At step 104, processor
56 randomly determines a displayed quantity (or reserved quantity)
from the range of values. At step 106, processor 56 determines a
reserved quantity (or displayed quantity) based on the determined
displayed quantity (or reserved quantity) and the total quantity of
the trading order 12. Processor 56 communicates the trading order
12 having the determined displayed and reserved quantities, at step
108. Processor 56 determines that the displayed quantity of the
trading order 12 was filled, at step 110. Processor 56 reduces the
total quantity of the trading order 12 by the amount of the
displayed quantity that was filled, at step 112. Execution proceeds
to step 114 where processor 56 determines whether the total
quantity of the trading order 12 is filled. If not, execution
returns to step 104. If so, execution terminates at step 116.
[0042] FIG. 3 is a flowchart 150 that illustrates one embodiment of
a method for replenishing trading orders 12. It should be
understood that additional, fewer, or different operations may be
performed in any suitable order to achieve the intended functions
without departing from the scope of this method. At step 152,
trading platform 50 receives a trading order 12 specifying a total
quantity of a product, a displayed quantity of the product, and a
reserved quantity of the product. At step 154, trading platform 50
receives a range of values associated with the trading order 12.
Processor 56 communicates the trading order 12 at step 156, and
determines that the displayed quantity of the trading order 12 was
filled, at step 158. At step 160, processor 56 reduces the total
quantity of the trading order 12 by the amount of the displayed
quantity that was filled. Processor 56 randomly determines a
displayed quantity (or reserved quantity) from the range of values,
at step 162. Processor 56 determines a reserved quantity (or
displayed quantity) based on the determined displayed quantity (or
reserved quantity) and the reduced total quantity, at step 164. At
step 166, processor 56 communicates another trading order 12 having
the determined displayed quantity and the determined reserved
quantity. Execution proceeds to step 168 where processor 56
determines whether the total quantity of the trading order 12 is
filled. If not, execution returns to step 158. If so, execution
terminates at step 170.
[0043] FIG. 4 is a flowchart 200 that illustrates one embodiment of
a method for replenishing trading orders 12. It should be
understood that additional, fewer, or different operations may be
performed in any suitable order to achieve the intended functions
without departing from the scope of this method. At step 202,
trading platform 50 receives a trading order 12 specifying a total
quantity of a product and one or more formulas. At step 204,
processor 56 applies the formula(s) to determine a displayed
quantity (or reserved quantity). At step 206, processor 56
determines a reserved quantity (or displayed quantity) based on the
determined displayed quantity (or reserved quantity) and the total
quantity of the trading order 12. Processor 56 communicates the
trading order 12 having the determined displayed and reserved
quantities, at step 208. Processor 56 determines that the displayed
quantity of the trading order 12 was filled, at step 210. Processor
56 reduces the total quantity of the trading order 12 by the amount
of the displayed quantity that was filled, at step 212. Execution
proceeds to step 214 where processor 56 determines whether the
total quantity of the trading order 12 is filled. If not, execution
returns to step 204. If so, execution terminates at step 216.
[0044] FIG. 5 is a flowchart 250 that illustrates one embodiment of
a method for replenishing trading orders 12. It should be
understood that additional, fewer, or different operations may be
performed in any suitable order to achieve the intended functions
without departing from the scope of this method. At step 252,
trading platform 50 receives a trading order 12 specifying a total
quantity of a product, a displayed quantity of the product, and a
reserved quantity of the product. At step 254, trading platform 50
receives one or more formulas associated with the trading order 12.
Processor 56 communicates the trading order 12 at step 256, and
determines that the displayed quantity of the trading order 12 was
filled, at step 258. At step 260, processor 56 reduces the total
quantity of the trading order 12 by the amount of the displayed
quantity that was filled. Processor 56 applies the formula(s) to
determine a displayed quantity (or reserved quantity), at step 262.
Processor 56 determines a reserved quantity (or displayed quantity)
based on the determined displayed quantity (or reserved quantity)
and the reduced total quantity, at step 264. At step 266, processor
56 communicates another trading order 12 having the determined
displayed quantity and the determined reserved quantity. Execution
proceeds to step 268 where processor 56 determines whether the
total quantity of the trading order 12 is filled. If not, execution
returns to step 258. If so, execution terminates at step 270.
[0045] Although the present invention has been described in several
embodiments, a myriad of changes and modifications may be suggested
to one skilled in the art, and it is intended that the present
invention encompass such changes and modifications as fall within
the scope of the present appended claims.
FURTHER EMBODIMENTS
[0046] The following should be interpreted as embodiments, not
claims.
[0047] A1. A system for submitting trading orders, comprising: a
memory operable to store: a trading order comprising a total
quantity of a product; and at least one formula to determine a
displayed quantity for the trading order; and a processor coupled
to the memory and operable to: (a) apply the formula to determine
the displayed quantity; (b) determine a reserved quantity based on
the determined displayed quantity and the total quantity; and (c)
communicate the trading order having the determined displayed
quantity and the determined reserved quantity.
[0048] A2. The system of claim A1, wherein the processor is further
operable to: (d) determine that the displayed quantity of the
trading order was filled; (e) reduce the total quantity of the
trading order by the amount of the displayed quantity that was
filled; and (f) if the total quantity of the trading order is not
yet filled, then repeating operations (a) through (e) until the
total quantity of the trading order is filled.
[0049] A3. The system of claim A1, wherein the formula uses the
total quantity of the trading order as a variable to determine the
displayed quantity of the trading order.
[0050] A4. The system of claim A1, wherein the formula uses the
number of times operations (c) through (e) have been performed as a
variable to determine the displayed quantity of the trading
order.
[0051] A5. The system of claim A4, wherein the formula increases
the displayed quantity of the trading order with each time that
operations (c) through (e) is performed.
[0052] A6. The system of claim A4, wherein the formula decreases
the displayed quantity of the trading order with each time that
operations (c) through (e) is performed.
[0053] A7. The system of claim A1, wherein the reserved quantity is
the difference between the total quantity and the displayed
quantity.
[0054] A8. The system of claim A1, wherein the displayed quantity
determined by the formula is a random value.
[0055] B9. A method for submitting trading orders, comprising: (a)
receiving a trading order comprising a total quantity of a product;
(b) receiving at least one formula to determine a displayed
quantity for the trading order; (c) applying the formula to
determine the displayed quantity; (d) determining a reserved
quantity based on the determined displayed quantity and the total
quantity; and (e) communicating the trading order having the
determined displayed quantity and the determined reserved
quantity.
[0056] B10. The method of claim B9, comprising: (f) determining
that the displayed quantity of the trading order was filled; (g)
reducing the total quantity of the trading order by the amount of
the displayed quantity that was filled; and (h) if the total
quantity of the trading order is not yet filled, then repeating
operations (c) through (g) until the total quantity of the trading
order is filled.
[0057] B11. The method of claim B9, wherein the formula uses the
total quantity of the trading order as a variable to determine the
displayed quantity of the trading order.
[0058] B12. The method of claim B9, wherein the formula uses the
number of times operations (c) through (e) have been performed as a
variable to determine the displayed quantity of the trading
order.
[0059] B13. The method of claim B12, wherein the formula increases
the displayed quantity of the trading order with each time that
operations (c) through (e) is performed.
[0060] B14. The method of claim B12, wherein the formula decreases
the displayed quantity of the trading order with each time that
operations (c) through (e) is performed.
[0061] B15. The method of claim B9, wherein the reserved quantity
is the difference between the total quantity and the displayed
quantity.
[0062] B16. The method of claim B9, wherein the displayed quantity
determined by the formula is a random value.
[0063] C17. A method for submitting trading orders, comprising: (a)
receiving a trading order comprising a total quantity of a product,
a displayed quantity of the product, and a reserved quantity of the
product; (b) receiving at least one formula to determine a
subsequent displayed quantity for the trading order; (c)
communicating the trading order; (d) determining that the displayed
quantity of the trading order was filled; (e) reducing the total
quantity of the trading order by the amount of the displayed
quantity that was filled; (f) applying the formula to determine the
subsequent displayed quantity; (g) determining a reserved quantity
based on the determined displayed quantity and the reduced total
quantity; and (h) communicating another trading order having the
determined displayed quantity and the determined reserved
quantity.
[0064] C18. The method of claim C17, further comprising repeating
operations (d) through (h) until the total quantity of the trading
order is filled.
[0065] C19. The method of claim C17, wherein the formula uses the
reduced total quantity of the trading order as a variable to
determine the subsequent displayed quantity of the trading
order.
[0066] C20. The method of claim C17, wherein the formula uses the
number of times operations (f) through (h) have been performed as a
variable to determine the subsequent displayed quantity of the
trading order.
[0067] C21. The method of claim C20, wherein the formula increases
the displayed quantity of the trading order with each time that
operations (f) through (h) is performed.
[0068] C22. The method of claim C20, wherein the formula decreases
the displayed quantity of the trading order with each time that
operations (f) through (h) is performed.
[0069] C23. The method of claim C17, wherein the reserved quantity
is the difference between the total quantity and the displayed
quantity.
[0070] D24. A system for submitting trading orders, comprising: a
memory operable to store: a trading order comprising a total
quantity of a product, a displayed quantity of the product, and a
reserved quantity of the product; at least one formula to determine
a subsequent displayed quantity for the trading order; and a
processor coupled to the memory and operable to: (a) communicate
the trading order; (b) determining that the displayed quantity of
the trading order was filled; (c) reduce the total quantity of the
trading order by the amount of the displayed quantity that was
filled; (d) apply the formula to determine the subsequent displayed
quantity; (e) determine a reserved quantity based on the determined
displayed quantity and the reduced total quantity; and (f)
communicate another trading order having the determined displayed
quantity and the determined reserved quantity.
[0071] D25. The system of claim D24, further comprising repeating
operations (a) through (f) until the total quantity of the trading
order is filled.
[0072] D26. The system of claim D24, wherein the formula uses the
reduced total quantity of the trading order as a variable to
determine the displayed quantity of the trading order.
[0073] D27. The system of claim D24, wherein the formula uses the
number of times operations (d) through (f) have been performed as a
variable to determine the subsequent displayed quantity of the
trading order.
[0074] D28. The system of claim D27, wherein the formula increases
the displayed quantity of the trading order with each time that
operations (d) through (f) is performed.
[0075] D29. The system of claim D27, wherein the formula decreases
the displayed quantity of the trading order with each time that
operations (d) through (f) is performed.
[0076] D30. The system of claim D24, wherein the reserved quantity
is the difference between the total quantity and the displayed
quantity.
[0077] E31. A method for submitting trading orders, comprising: (a)
receiving a trading order comprising a total quantity of a product;
(b) receiving at least one formula to determine a reserved quantity
for the trading order; (c) applying the formula to determine the
reserved quantity; (d) determining a displayed quantity based on
the determined reserved quantity and the total quantity; and (e)
communicating the trading order having the determined displayed
quantity and the determined reserved quantity.
[0078] E32. The method of claim E31, comprising: (f) determining
that the displayed quantity of the trading order was filled; (g)
reducing the total quantity of the trading order by the amount of
the displayed quantity that was filled; and (h) if the total
quantity of the trading order is not yet filled, then repeating
operations (c) through (g) until the total quantity of the trading
order is filled.
[0079] E33. The method of claim E31, wherein the formula uses the
total quantity of the trading order as a variable to determine the
reserved quantity of the trading order.
[0080] E34. The method of claim E31, wherein the formula uses the
number of times operations (c) through (e) have been performed as a
variable to determine the reserved quantity of the trading
order.
[0081] E35. The method of claim E34, wherein the formula increases
the reserved quantity of the trading order with each time that
operations (c) through (e) is performed.
[0082] E36. The method of claim E34, wherein the formula decreases
the reserved quantity of the trading order with each time that
operations (c) through (e) is performed.
[0083] E37. The method of claim E31, wherein the reserved quantity
is the difference between the total quantity and the displayed
quantity.
[0084] E38. The method of claim E31, wherein the reserved quantity
determined by the formula is a random value.
[0085] F39. A method for submitting trading orders, comprising: (a)
receiving a trading order comprising a total quantity of a product,
a displayed quantity of the product, and a reserved quantity of the
product; (b) receiving at least one formula to determine a
subsequent reserved quantity for the trading order; (c)
communicating the trading order; (d) determining that the displayed
quantity of the trading order was filled; (e) reducing the total
quantity of the trading order by the amount of the displayed
quantity that was filled; (f) applying the formula to determine the
subsequent reserved quantity; (g) determining a displayed quantity
based on the determined reserved quantity and the reduced total
quantity; and (h) communicating another trading order having the
determined displayed quantity and the determined reserved
quantity.
[0086] F40. The method of claim F39, further comprising repeating
operations (d) through (h) until the total quantity of the trading
order is filled.
[0087] F41. The method of claim F39, wherein the formula uses the
reduced total quantity of the trading order as a variable to
determine the subsequent reserved quantity of the trading
order.
[0088] F42. The method of claim F39, wherein the formula uses the
number of times operations (f) through (h) have been performed as a
variable to determine the subsequent reserved quantity of the
trading order.
[0089] F43. The method of claim F42, wherein the formula increases
the reserved quantity of the trading order with each time that
operations (f) through (h) is performed.
[0090] F44. The method of claim F42, wherein the formula decreases
the reserved quantity of the trading order with each time that
operations (f) through (h) is performed.
[0091] F45. The method of claim F39, wherein the reserved quantity
is the difference between the total quantity and the displayed
quantity.
* * * * *