REFERENCE TO PENDING APPLICATIONS
1. FIELD OF THE INVENTION
[0002] The present invention relates generally to electronic trading of financial instruments.
More particularly, the present invention relates to an electronic trading methodology
and apparatus that enhances the ability of a trader to obtain a desired trading price.
2. BACKGROUND OF THE INVENTION
[0003] Electronic trading of financial instruments has been implemented on many exchanges
around the world. Financial instruments that are commonly traded on electronic exchanges
include stocks, bonds, commodities, futures, options, currency, and others. Trading
of electronic instruments is a highly competitive activity and one that relies on
speed in the making, processing and filling of orders. Electronic traders have a distinct
advantage over traders who utilize other means of trading due to the increased speed
by which an order can typically be made, processed and filled. However, among other
electronic traders, this advantage is greatly diminished. Thus, there is an ever-increasing
need to escalate functionality with the hardware and network resources available to
modem traders.
[0004] At the electronic exchange, a centralized host computer provides the general functions
of matching and maintaining orders and positions, maintaining price information, managing
the daily online trading database, and conducting nightly batch runs. The host computer
also interfaces with external networks to quote prices and to provide other information.
Traders can link to the host through one of the external networks, either directly
or through other servers or gateways. Regardless of how the link to the host computer
is established, traders must use software designed to manage the electronic trading
process. The software generates trading screens that enable the trader to obtain market
quotes, submit orders, and monitor positions while various trading strategies, such
as correlation group trading and price normalization, are employed.
[0005] As mentioned above, the success and profitability of electronic traders is highly
dependent on speed, including speed in determining when to place an order and at what
price, and the speed in which the order can be sent to the marketplace. Because of
the importance of speed, it is desirable for electronic trading software and systems
to offer features that can assist the trader in making trades as quickly as possible
and at the best prices available. Unfortunately, many electronic trading programs
require considerable keystroke input. The time required to find and hit the correct
keys can be enough to adversely affect the price (and hence, the profitability) at
which an order is filled. Perhaps an even more important factor in a trader's overall
profitability is enabling the trader to consistently submit accurate orders to an
exchange, ECN or broker. Since most long-term profitable traders trade very frequently
for ever-decreasing margins, the importance of such accuracy is increasing. A single
errant trade can eliminate days, months, or years of profitability or even put a trading
firm out of business.
[0006] What is needed, therefore, is a faster and more reliable way to place electronic
trade orders.
BRIEF SUMMARY OF THE INVENTION
[0007] The present invention achieves its objectives by providing a method and apparatus
for placing a trade order bundle having trade order parameters for one or more financial
instruments to be traded on one or more electronic exchanges. In accordance with the
invention, a real time market depth representation with market price levels of one
or more tradable financial instruments is displayed on the screen of a graphical user
interface. A market price level for at least one of the one or more tradable financial
instruments is selected through action (such as through movement of an on-screen pointer)
of a user input device (such a mouse or a keyboard), and the trade order bundle is
sent to one or more electronic exchanges through further action (such clicking a mouse
button or striking a key on a computer keyboard) of the user input device. All parameters
of the trade order bundle are pre-constructed prior to initiating the further action
of the user input device.
[0008] All parameters of the trade order bundle may be pre-constructed prior to selection
of the market price level. Alternatively, all parameters of the trade order bundle
may be pre-constructed upon selection of the market price level.
[0009] The trade order bundle may include only one tradable financial instrument (such as
a stock or a commodity). Alternatively, the trade order bundle may include a plurality
of aggregated tradable financial instruments. The individual orders within the trade
order bundle may include one or more order types (such as limit, market, stop, etc.)
as well as different market sides (i.e. Buy and Sell orders in the same bundle).
[0010] One or more of the trade order parameters may be pre-constructed according to a best
execution algorithm. The best execution algorithm may include one or more normalization
formulas for normalizing prices and quantities of the financial instrument(s) represented
by the market depth representation.
[0011] Selection of a market price level through action of a user input device may be obviated
by use of a graphical user interface that includes a user input device (such as one
or more buttons) for each market price level. In such an embodiment of the invention,
the user simply sends the trade order bundle by initiating a user input device associated
with a desired market price level.
[0012] Further to the above, the invention also provides a method and apparatus for displaying
information for use in placing a trade order bundle having trade order parameters
for one or more financial instruments to be traded on one or more electronic exchanges.
In accordance therewith, a first real time market depth representation of one or more
tradable financial instruments is displayed on the screen of a graphical user interface.
The first real time market depth representation includes multiple price levels representing
market prices for the one or more financial instruments represented by the first market
depth representation. A second real time market depth representation of one or more
tradable financial instruments is also displayed on the graphical user interface screen.
The second real time market depth representation includes multiple price levels representing
market prices for the one more financial instruments represented by the second market
depth representation. A market price level of the first market depth representation
is selected through action of a user input device, and in response to this selection,
an indicator of one or more correlated price levels is displayed on the second real
time market depth representation.
[0013] Selection of a market price level through action of a user input device may be obviated
by use of a graphical user interface that includes a user input device (such as one
or more buttons) for each market price level. In such an embodiment of the invention,
the user simply sends the trade order bundle by initiating a user input device associated
with a desired market price level.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Preferred embodiments of the invention will now be described in further detail. Other
features, aspects, and advantages of the present invention will become better understood
with regard to the following detailed description, appended claims, and accompanying
drawings (which are not to scale) where:
FIG. 1 is a diagrammatic illustration of a system suitable for facilitating trading
of financial instruments according to the invention;
FIGS. 2A-B are a flow diagram for a method of electronic trading of a single financial
instrument according to the invention;
FIG. 3 shows a graphical user interface (GUI) for use in trading a single financial
instrument in single instrument mode according to the method of FIGS. 2A-B;
FIGS. 4A-B are a flow diagram for a method of electronic trading of one or more correlated
financial instruments in correlated mode according to the invention;
FIG. 5 shows a GUI for use in trading financial instruments in correlated mode according
to the method of FIGS. 4A-B;
FIGS. 6A-B are a flow diagram for a method of electronic trading of one or more correlated
financial instruments in aggregated mode according to the invention; and
FIG. 7 shows a GUI for use in trading financial instruments in aggregated mode according
to the method of FIGS. 6A-B.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
[0015] Turning now to the drawings wherein like reference characters indicate like or similar
parts throughout, FIG. 1 illustrates a system 10 suitable for facilitating improved
trading of financial instruments, including stocks, bonds, currency, futures, options,
commodities and correlations and aggregations thereof. The system 10 is configured
to enable a user to submit orders in less time, and thus to have orders filled at
more desirable prices. In addition to enhancing speed and accuracy of trade order
execution, the system 10 described herein also focuses on the objective of amalgamating
all data used as input for a trade decision on the same user interface/screen used
to accelerate order execution. This is accomplished by programming one or more computer
readable mediums within the system 10, such as computer readable mediums (such as
hard drives) of servers 18a and 18b, with software which provides the functions described
herein, including the function of displaying analytics and instrument data in a consolidated
format that have a high level of correlation with the value of one or more other tradable
instruments.
[0016] The system 10 is designed to interface with one or more electronic exchanges, electronic
communication networks (ECNs) or brokers through market data (MD) gateways 12a-c that
provide streaming market data for all traders using the system 10 and order entry
(OE) gateways 14a-c that provide order routing and execution capabilities for all
traders using the system 10. The MD gateways 12a-c include some basic filtering logic,
such as logic for filtration of specific quote types, instruments, minimum quantity
updates, maximum quotes per second (i.e., throughput), etc. OE gateways 14a-c include
translation logic to map exchange specific protocols to an internally recognized protocol
as well as to perform basic identification (ID) mapping from internal mnemonics to
external mnemonics (i.e., internally recognized symbols and account numbers to externally
recognized symbols and account numbers). Some basic error checking logic is also provided
within both gateways 12a-c and 14a-c. The gateways 12a-c and 14a-c typically do not
include business logic aimed at assisting traders in determining trade parameters
(i.e., analytics are not provided by the gateways 12a-c and 14a-c).
[0017] Traders utilizing trader graphical user interfaces (GUIs) 30 and 30a-c access the
exchanges, ECNs and brokers through the MD gateways 12a-c and the OE gateways 14a-c
through servers 18a-b connected to a common network 16. FIG. 1 shows three traders
using GUIs 30a-c. The GUIs 30, 30a-c are typically displayed on a GUI screen, the
content and interaction of which is controlled by user input devices such as a keyboard
28 and a mouse 29 with buttons and a scroll wheel. Each server 18a-b is programmed
to listen for MD and executions of trade orders from the gateways 12a-c, 14a-c. Trade
orders issued by a trader are communicated to the network 16 through the servers 18a-b.
Trader-specific analytics and other pre-order processing are also performed by software
residing on the trader's server 18a-b.
[0018] Other functions typically performed by servers 18a-b include housing the specialist
processes 20a-b, brokers 22a-b, instrument synthesizers 24a-b, and basket synthesizers
26a-b. A specialist process 20a-b knows the intricacies of trading a particular instrument
at a particular exchange. It converts exchange specific business logic (such as the
calculation of unfilled order quantity) to a common format. It manages basic pre-trade
risk and takes care of waiting for acknowledgments prior to submitting order modifications.
Specialist processes 20a-b are the authority on traders' open orders. They perform
self-crossing checks and enable a trader to avoid trading against himself in the open
market. This is accomplished by internally transferring positions between sub-accounts
within a given account when a trading decision is made, thus eliminating the need
to send a live order to the marketplace. This feature is particularly advantageous
when multiple trading strategies are deployed in an asynchronous fashion. The specialist
processes 20a-b do not know anything about synthetic instruments 24a-b, baskets 26a-b,
or trading strategies.
[0019] Each broker 22a-b acts as a bridge between a trader's GUI interface 30 and 30a-c
and the specialist processes 20a-b, instrument synthesizers 24a-b, and basket synthesizers
26a-b. Brokers 22a-b interact with the instrument synthesizers 24a-b and basket synthesizers
26a-b to facilitate the conversions of synthetic orders into live orders that can
be recognized by an exchange, ECN or broker. They perform the majority of the back
end processing for the trader's GUI interface 30 and 30a-c, which allows a user to
deploy his GUI interface 30 and 30a-c onto separate hardware for more efficient use
of resources.
[0020] Instrument synthesizers 24a-b take in raw MD from the network 16 for a given instrument
and modify the prices and quantities based on static and dynamic parameters which
could come from analytics, static configurations, MD for other instruments, or other
sources. The modified data is published on the internal network and is formatted in
a similar fashion as real instrument market data (as opposed to synthetic). The underlying
real data is typically attached to the synthetic MD stream for display purposes on
the trader's GUI interface 30 and 30a-c. Instrument synthesizers 24a-b also provide
on demand conversions between synthetic and real prices and quantities and vise versa.
This is typically used by broker 22a-b and GUI 30, 30a-c. This on-demand conversion,
commonly known as price and quantity normalization, may come in the form of something
simple, such as a slope intercept formula (i.e., Y = MX + B), or in the form of something
more complex, such a nonlinear conversion formula (i.e., a Black-Scholes model, a
theoretical fair value model, an exponential equation, etc.). For example, if a user
defines the price and quantity of two instruments to have a linear relationship, then
the following formulas could be used for normalization:
Instrument 1 Price |
Instrument 1 Quantity |
Y1=(M1xX1)+B1 |
Y2=(M2xX2)+B2 |
where, |
where, |
|
M1 = normalization price multiplier, |
|
M2 = normalization quantity multiplier, |
|
X1 = price of Instrument 2, and |
|
X2 = quantity of Instrument 2, and |
|
B1 = normalization price offset. |
|
B2 = normalization quanity offset. |
Any of the normalization parameters (i.e., M1, B1, M2, B2) can be statically input,
calculated by software process, or dynamically generated by a spreadsheet program.
The same would hold true for complex industry standard formulas or user-defined non-linear
formulas. The normalization parameters can be derived from a theoretically unlimited
number of sources, including instrument prices, momentum values, economic assumptions,
etc.
[0021] The instrument synthesizers also convert user-generated synthetic orders into real
orders that are recognizable by an exchange, ECN or broker. An example to help illustrate
the usefulness of the conversion is when an order is working (i.e., has been submitted
but not yet filled) in the marketplace for a synthetic instrument, and while the order
is working; the conversion parameters change due to an external event, thus requiring
an update on the GUI interface 30 and 30a-c (in synthetic terms) even though the real
open order was not modified.
[0022] To accommodate complex synthesizer algorithms that generate floating point values
that are not easily represented on a given tick, the Rapid Trader product employs
intelligent price level rounding. Rapid Trader is able to perform rounding of such
synthesized (normalized) values to the appropriate price level (tick) based on user-defined
tick intervals. These user-defined tick intervals allow for the display of static
price increments within the market depth representation. For example, if a user has
specified a tick interval of 5 points per price level, a Sell order in the market
that synthesizes to a value of 98.99 would be represented on the GUI market depth
representation to the user as a price of 100 (since Sell orders round up and Buy orders
round down). Conversely, a Buy order with a synthesized price of 99.23 would be represented
in this scenario at a price level of 95. It is important to note that the same tick
rounding logic will hold true for native (i.e., unnormalized) instruments that are
represented with user-defined ticks. For example, if a native instrument normally
ticks in 10 point increments, a user could define a 30 point tick interval, thus causing
all quantity contained within each 3-tick price interval to be represented in a single
tick (i.e. a multiple of 30) since two out of every three ticks will round into the
third tick (once again, rounding up for asks and down for bids, respectively). This
rounding functionality is especially critical to aggregated mode trading, where the
GUI is specifically designed to add (aggregate) quantities at each price level within
the market depth representation. When orders for multiple instruments are displayed
within a single market depth representation, the likelihood of utilizing such sounding
increases. For example, if Instrument X and Instrument Y are being traded in aggregate
mode, and if the best bid for Instrument X is 97 (with a quantity of 4 in the market)
and the best bid for Instrument Y is 98 (with a quantity of 6 in the market), the
aggregated mode market depth representation would show a quantity of 10 at a price
of 95 (assuming the previous 5 point user-defined tick interval).
[0023] Basket synthesizers 26a-b perform functions similar to the instrument synthesizer,
but take multiple real and synthetic instruments as inputs. For example, a basket
synthesizer may take in multiple Eurodollar outright future prices to synthetically
create a butterfly or a condor spread that is viewable and tradable internally as
a single/synthetic instrument. Another example is the conversion of multiple cash
securities (such as the 500 stocks of the S&P 500) into a single tradable S&P 500
synthetic basket instrument. Conversely, basket synthesizers convert single user-generated
orders into a multitude of real orders that are recognizable by an exchange, ECN or
broker. The user may define algorithmic trading logic for determining order execution
methodology for the multiple real orders.
[0024] Each trader GUI 30, 30a-c displays real, synthetic and basket instruments within
a vertically or horizontally oriented trader interface having a display of real-time,
market depth representations of the tradable financial instruments, such as the display
shown in FIG. 5. The display of data within the trader GUI 30, 30a-c may be derived
from a single instrument (i.e., single instrument mode), a group of correlated instruments
in aggregate format (i.e., aggregated mode), or from a single synthetic instrument
whose price movement is linked to one or more correlated instruments within different
trader GUIs 30, 30a-c (i.e., correlated mode).
[0025] With continued reference to FIG. 1, servers 18a, 18b are programmed with a specialized
software program and methodology for enhancing electronic trading of financial instruments.
In general, the program operates to decrease the amount of keystrokes or other user
input effort required to place an electronic trade while increasing the ability of
the trader to consistently submit accurate trade orders to an electronic exchange,
ECN (electronic communications network) or broker. The program does this in one way
by focusing on amalgamating data used as input for a trade decision on the same user
interface/screen used to accelerate order execution. This is accomplished by providing
a software program that functions to display analytics and instrument data in a consolidated
format with a high level of correlation among the value of one or more other tradable
instruments. The correlation among the values of such instruments may be either positive
or negative, thus making the software program an advanced GUI-based "bundle" (i.e.,
one or more trade orders for one or more tradable financial instruments that are submitted
to one or more electronic exchanges) trading system. The trade order bundle may include
only one tradable financial instrument (such as a stock or a commodity). Alternatively,
the trade order bundle may include a plurality of aggregated tradable financial instruments.
The individual orders within the trade order bundle may include one or more order
types (such as limit, market, stop, etc.) as well as different market sides (i.e.
Buy and Sell orders in the same bundle). Correlation is described herein as the establishment
of a relationship between an instrument's price and/or quantity and another instrument's
price and/or quantity. The method used to correlate one instrument to another is,
in a sense, intelligent use of the normalization technique described within this document.
[0026] For example, referring to the above-given Instrument 1 price and Instrument 1 quantity
slope intercept normalization formulas, a user could create a synthetic instrument
utilizing said normalization formulas. If the user wishes to represent Instrument
1 in terms of Instrument 2, then the user would generate M1 and B1 values by any mathematical
means that normalize the price of Instrument 1 to Instrument 2. Accordingly, the user
would specify M2 and B2 values to normalize the quantity as well. Within this simple:
example, the user has specified a correlation of both price and quantity of Instrument
1 versus Instrument 2 (in other words, Instrument 1 would now be represented in terms
of a mathematical.relationship to Instrument 2). If the user has selected the appropriate
M1, B 1, M2, B2 values, the prices and quantities of the normalized Instrument 1 and
the native/un-normalized Instrument 2 would likely be similar, thus increasing the
value of correlated mode and aggregated mode trading.
[0027] The program utilizes graphical user interfaces (GUIs) that access the exchanges,
ECNs and brokers through market data (MD) gateways (which provide streaming market
data for electronic traders) and order entry (OE) gateways (which provide order routing
and execution capabilities for electronic traders). Each trader GUI displays real,
synthetic and/or basket instruments within a vertically or horizontally oriented trader
interface having a display of real-time, market depth representations of the tradable
financial instruments. The display of data within the trader GUI may be derived from
a single instrument (i.e., single instrument mode as shown in Exhibit A), a group
of correlated instruments in aggregate format (i.e., aggregated mode as shown in Exhibit
B), or from a single synthetic instrument whose price movement is linked to one or
more correlated instruments within different trader GUIs (i.e., correlated mode as
shown in Exhibit C). Each of these modes of operation is further described herein.
[0028] To accelerate speed of order entry, the program employs advanced pre-calculation
technology to pre-construct hypothetical bundles of trades that may be submitted to
an electronic exchange. Users are able to pre-set different user input device actions
(such as clicking a mouse button, double-clicking a mouse button, or striking a key
of a computer keyboard) that correspond to specific trade bundles prior to order submission.
In a simplified embodiment of this concept, the single instrument mode, users will
likely set the left and right mouse buttons (or other active elements of a user input
device) to correspond to a single instrument bundle containing one Buy order for the
left mouse button and a single instrument bundle containing one Sell order for the
right mouse button. In such a configuration, the program may pre-construct all possible
Buy and Sell orders for all valid price levels accepted by the electronic exchange(s).
At a minimum, the program will pre-calculate the hypothetical Buy and Sell order at
the currently selected price level to decrease the calculation load on the system,
as pre-calculation of all possible orders may create an undue burden on the system
when prices are rapidly fluctuating. It should be noted that, even in single instrument
mode, users may specify different user input device actions (such as a third or fourth
mouse button) that are associated with additional single instrument bundles that differ
from the above-described Buy and Sell order bundles. In such a case, the program will
pre-construct even more hypothetical orders such that upon action of any of the different
user input device options, the payload of the trade orders does not have to be subsequently
created.
[0029] The advantages of the above-described pre-construction technology are magnified in
aggregated and correlated mode, where the hypothetical trade bundles may contain more
than one message. In these modes, if such pre-construction was not performed, there
would be a significant amount of calculation performed after a user's takes final
action with a user input device to submit a trade order. For example, if the user
is viewing a vertically-oriented display of synthetic prices that contains 20 price
levels, the program may pre-construct all hypothetical bundle trades that could occur
for all 20 price levels for each pre-set user input option. Thus, if a user has pre-set
a two-button mouse to send Buy bundles with the left mouse button and Sell bundles
with the right mouse button, the program may pre-construct 20 times 2 (40) or more
hypothetical bundles of trade orders. The program will calculate more than 40 if configured
to not only pre-construct based on all price levels that are visible to the user,
but also all hypothetical price levels that could be accepted by the exchanges. At
a minimum, in such a situation, the program will pre-construct a hypothetical Buy
bundle and a hypothetical Sell bundle for the price level that is currently selected
by the user.
[0030] In a preferred embodiment, the user is provided with an indicator of the selected
price level (described herein as "highlighting"). Highlighting of a desired price
level can be accomplished in any manner that operates to provide a feedback indicator
to the user that a price level has been selected for further consideration. Suitable
methods for highlighting the price level include changing the font type, size or color
of the highlighted price level to a font type, size or color that is different than
other displayed price levels. Another way to indicate/highlight the selected price
level to the user is to place an icon (such an arrow, smiley face, or other iconic
symbol) adjacent to the selected price level. Yet another way to indicate the selected
price level to the user is place a highlighted box or other geometrically shaped area
around or adjacent to the selected price level. The price level indicator serves the
purpose of giving the user confidence that the desired price level is the one that
he has been selected (or in the case of correlated mode, it gives the user confidence
of the correlated value of one instrument price value versus another instrument's
price value without the need for additional external calculations). However, it will
be understood that highlighting of a price level is not required for a user to select
a price level.
[0031] For example, when the user moves an input device pointer in a rapid manner along
the market depth representation and takes subsequent further user input device action
prior to the visual indicator being displayed at the selected price level (i.e., where
the price level highlighting cannot catch up with the user input device pointer),
the user is still selecting the price level that corresponds to the user input device
and not the lagging indicator at a different price level that is highlighted. Another
example is where a user has a capability to take different user input actions, each
of which may correspond to a different price level in the market depth representation.
A preferred embodiment of this is a GUI device having user input devices, such as
buttons or keys, at each price level on either side of the GUI 30, 30a-c. The buttons
are stacked vertically and each row of buttons or other user input devices corresponds
to a Buy action and a Sell action at the respective price levels. Using such an input
device, the user would take only one user input action to submit an order and highlighting
would not be necessary. In addition, pre-construction of all order bundles would likely
take place for all price levels within the market depth representation since pre-selection
of a price level would not occur.
[0032] Perhaps the most important aspect of this new technology in all three modes is that
all of the trade order parameters are pre-set prior to the user taking final action
with a user input device to submit the trade order to one or more electronic exchanges.
This is true even if external analytics or market data modifies synthetic relationships
that are defined in correlated or aggregated mode since the software will automatically
perform the hypothetical pre-construction step for the hypothetical trade bundles
upon receipt of said new market data. Thus, there is no situation in which the program
will set trade order parameters following final action to submit the trade order(s)
by the user. Instead, users select bundles of orders represented at different locations
on the order entry display based on selection of different user input options.
[0033] When trading in aggregated or correlated modes, trades are submitted either via prespecified
best execution algorithms or user-defined best execution algorithms. This allows for
the most advantageous set and/or sequence of orders to be sent to the one or more
relevant exchanges. As a basic example, assume that two instruments (Instrument 1
and Instrument 2) have Sell orders resting in the market with post-normalization price
values that equal "98" and "99", respectively. Also assume that the user-defined tick
interval is 10 points. Each of these orders would be displayed on the GUI 30, 30a-c
at a price of 100 points (since Sell orders between ticks generally round up to the
next tick increment). An exemplary best execution algorithm could be programmed to
understand the sub-tick value of the prices, thus executing Buy orders against the
"98" price prior to any execution against the "99" price.
[0034] To further this example, now assume that a user has specified a trade cost assumption
for Instrument 1 of 3 points. An updated best execution algorithm would then execute
Buy orders against Instrument 2 prior to trading against Instrument 1 since 98 plus
3 equals 101 (98 + 3 = 101) is more than 99. To take this example another step, assume
that Instrument 2 has a trade cost assumption of 2 points. Additionally, assume that
Instrument 1 is given a user priority of "1" and Instrument 2 is given a user priority
of "2" (with lower numbers indicating higher priority). In such an example, 98 plus
3 equals 101 (98 + 3 = 101) is equal to 99 plus 2 equals 101 (99 + 2 = 101), thus
deferring the execution decision to the user priority values. Given Instrument 1 has
higher priority, this exemplary best execution algorithm would execute Buy orders
against Instrument 1 prior to executing trade order against Instrument 2.
[0035] It will be understood that the above examples are basic in nature and that more advanced
best execution algorithms may be employed as well.
Single Instrument Mode
[0036] FIGS. 2A and 2B provide a functional flow diagram for displaying and trading a single
instrument in single instrument mode within the trader GUI 30 and 30a-c. The process
is initiated when the user starts a trading GUI 30, 30a-c for a single instrument
50. FIG. 3 illustrates an exemplary GUI 80 for single instrument mode. The GUI 80
includes a markext depth representation portion 82 with market price levels shown
along a price axis (which may either remain static in response to changes in the inside
market or dynamically change in response to changes in the inside market) and showing
current market conditions as they relate to price, pending Bids in a Bid area and
pending Asks in an Ask area, and a control window portion 84 showing current order
parameters. The trading GUI 80 listens for prices and quantities of the current instrument
52 which are displayed on the GUI 54. To speed the selection of a desired quantity,
the user may scroll the mouse wheel 56 until the desired quantity is displayed on
the GUI 58. Referring to FIG. 3, the user has moused-over (i.e., positioned an on-screen
pointer controlled by a computer mouse or other user input device) a price level of
93750, which selects that price level, and has indicated that he wishes to trade 30
units of the instrument. To change the selected price level, the user mouses up or
down the displayed market depth representation 62 and the moused-over price level,
representing the price level at which the user wishes to initiate a trade, is selected
64. Assuming a user has defined three user input options, including (1) a Buy order
bundle option associated with the left mouse button containing one hypothetical Buy
order per price level, (2) a Sell order bundle option associated with the right mouse
button containing one hypothetical Sell order per price level, and (3) a cancellation
bundle containing one or more hypothetical cancellation orders per price level, either
prior to selecting or upon selecting of a price level, all of the order parameters
of the hypothetical Buy bundles and the hypothetical Sell bundles associated with
at least the selected price level are set so that the only action taken when the user
initiates one of the input options is to submit the desired bundle to an electronic
exchange 60. Consistent with the above assumptions, after a price level is highlighted
or otherwise selected through action of a user input device, the user then clicks
a mouse button 66 or takes some further action with a user input device to place an
order. If the user wishes to submit a Buy (Bid) order, the Buy button is clicked and
a Bid is submitted for the current instrument with the desired quantity at the selected
price level 68. If the user wishes to submit a Sell (Ask) order, the Sell button is
clicked and an Ask is submitted for the current instrument with the desired quantity
at the selected price 70. The Buy and Sell buttons as previously stated are preferably
left arid right mouse button, respectively. However, it will be understood that actions
taken with other active elements of a user input device may be employed in lieu of
left and right mouse buttons. If the user wishes to cancel an order that has been
submitted and is working, the user clicks cancel button (such as the middle mouse
button) and the cancel bundle is submitted for all working orders; including Bids
and Asks, in the current instrument at the selected price 72.
[0037] By utilizing differing single actions of a user input device, such as a computer
mouse with buttons and scroll wheel, to select pre-constructed order parameters (Buy
v. Sell), speed of order entry, and more importantly accuracy of order entry, is increased
significantly. Thus, when moving the user input device, the trader need only focus
on the movement of the user input device in parallel with the display of market depth
since perpendicular movements have no bearing on the trade action. This enhances the
ability of the user to consistently and accurately submit orders without the need
to concentrate on Bid and Ask order entry regions, which are often missed by the trader
in fast markets.
[0038] Speed of order entry is also enhanced by configuring the software to pre-construct
trade parameters either prior to or at the time the user mouses over the desired priced
level (for Buy orders, Sell orders, and any applicable cancellation orders at that
price level) so that the only action taken when a user input option is initiated is
to submit the pre-constructed Buy, Sell or cancellation order. At the session level
and network level, some additional information may be attached to the message/packet
generated by the program. This information may include unique identifiers and sequence
numbers. The user has no control over the attachment of such information, which is
not a trade parameter(s).
Correlated Mode
[0039] FIGS. 4A and 4B provide a functional flow diagram for displaying and trading a group
of correlated instruments in correlated mode within the trader GUI 30 and 30a-c. The
process is initiated when the user starts a trading GUI for each correlated instrument
100. FIG. 5 illustrates an exemplary set of GUIs. 132, 134 and 136 configured for
correlated mode trading. Each GUI 132, 134, 136 shown in FIG. 5 displays a market
depth representation showing market price levels for a single synthetic instrument,
each of which is part of a common correlation group. Each trading GUI 132, 134, 136
listens for prices and quantities for each synthetic instrument 102, which are displayed
on the respective GUIs 104. The user defines an execution algorithm or selects a pre-defined
execution algorithm for the trade 106. To speed the selection of a desired quantity,
the user may scroll the mouse wheel 108 until the desired quantity is displayed on
the GUI 110, which will be reflected in GUIs 132, 134, 136. Referring to FIG. 5, the
user has moused over, (i.e., positioned an on-screen pointer controlled by a computer
mouse or other user input device) at a price level of 93825 for instrument 132, which
highlights and selects that price level for instrument 132 as well as correlated price
levels of 94825 for instrument 134 and 94.83/94.82 for instrument 136. To change the
selected price level, the user mouses up or down the displayed market depth representation
of any instrument 114 and the moused-over price level, representing the price level
at which the user wishes to initiate a trade, is selected as well as correlated price
levels in all other displayed instruments 116 within trading GUIs 132, 134 and 135.
Assuming a user has defined three user input options, including (1) a Buy order bundle
option associated with the left mouse button containing one or more hypothetical Buy
and/or Sell orders per price level, (2) a Sell order bundle option associated with
the right mouse button containing one or more hypothetical Sell and/or Buy orders
per price level, and (3) a cancellation bundle containing one or more hypothetical
cancellation orders per price level, either prior to selecting or upon selecting of
a price level, all of the order parameters of the hypothetical Buy bundles and the
hypothetical Sell bundles associated with at least the selected price level are set
so that the only action taken when the user initiates one of the input options is
to submit the desired bundle to one or more electronic exchanges 112. Consistent with
the above assumptions; either prior to or: upon, selection of a price level (i.e.,
"highlighting"), all of the parameters of a set of hypothetical Buy orders and a set
of hypothetical Sell orders are set (based on the user's execution algorithm or other
pre-defined execution algorithm) so that the only action taken when a user input option
is initiated is to determine which pre-constructed hypothetical set of Buy or Sell
or cancellation orders is submitted to the electronic exchange 112. After a price
level is highlighted or otherwise selected (such as by positioning a pointer of a
user input device at a desired price level), the user then clicks a mouse button 118
to place the order bundle. If the user wishes to submit a Buy (Bid) order bundle,
the Buy button is clicked and a user-defined best execution algorithm (or other pre-defined
execution algorithm) is used to determine the instruments, quantities, and sequence
of new orders 120. One or more Bids are then submitted for one or more of the correlated
instruments based on a user-defined execution algorithm, for the desired quantity
at the selected price 120. If the user wishes to submit a Sell (Ask) order bundle,
the Sell button is clicked and a user-defined best execution algorithm is used to
determine the instruments, quantities and sequence of new orders 122. One or more
Ask orders are then submitted for one or more of the correlated instruments based
on a user-defined execution algorithm for the desired quantity at the selected price
122. The Buy and Sell buttons are preferably left and right mouse buttons, respectively.
If the user wishes to cancel an order that has been submitted and is working, the
user clicks a cancel button (such as the middle mouse button) and the cancel bundle
is submitted for all working orders, including Bids and Asks, in all correlated instruments
at the selected price 124.
[0040] By utilizing differing single actions of a user input device, such as a computer
mouse with buttons and scroll wheel, to select pre-constructed order parameters (Buy
v. Sell), speed of order entry, and more importantly accuracy of order entry, is increased
significantly. Thus, When moving a pointer of the user input device, the trader need
only focus on the movement of the user input device pointer in parallel with the display
of market depth since perpendicular movements have no bearing on the trade action.
This enhances the ability of the user to consistently and accurately submit orders
without the need to concentrate on Bid and Ask order entry regions, which are often
missed by the trader in fast markets.
[0041] Speed of order entry is also enhanced by configuring the software to pre-construct
trade parameters either prior to or at the time the user mouses over the desired priced
level (for Buy orders, Sell orders, and any applicable cancellation orders at that
price level) so that the only action taken when a user input option is initiated is
to submit the pre-constructed Buy bundle, Sell bundle or cancellation bundle. At the
session level and network level, some additional information may be attached to the
message/packet generated by the Rapid Trader product. This information may include
unique identifiers and sequence numbers. The user has no control over the attachment
of such information, which is not a trade parameter(s).
[0042] One advantage of correlated mode is that it gives the trader a complete view of the
market not only for a single instrument being traded on one exchange or multiple exchanges,
but also for statistically similar instruments traded on one or more exchanges, thus
eliminating statistical arbitrage opportunities for the trader's competition. In addition,
if the trader wants to trade a single instrument within the correlation group, the
trader can override the correlation group execution algorithm and trade that instrument
specifically via a different action of a user input device (such as holding down the
control key of a computer keyboard during the mouse click).
Aggregated Mode
[0043] FIGS. 6A and 6B provide a functional flow diagram for displaying and trading an aggregated
group of correlated instruments in aggregated mode within the trader GUI 30 and 30a-c.
The process is initiated when the user starts a single trading GUI for the correlation
group 150. FIG. 7 illustrates an exemplary GUI 180 for aggregated mode. The trading
GUI 180 listens for prices and quantities for all correlated instruments 152 which
are displayed on the GUI 154. The user defines an execution algorithm or selects a
pre-defined execution algorithm for the trade 156. To speed the selection of a desired
quantity, the user may scroll the mouse wheel 158 until the desired quantity is displayed
on the GUI 160. Referring to FIG. C-3, the user has moused-over (i.e., positioned
an on-screen pointer controlled by a computer mouse or other user input device) a
price level of 93800, which highlights and selects that price level. To change the
selected price level, the user mouses up or down the displayed market depth representation
164 and the moused-over price level, representing the price level at which the user
wishes to initiate a trade, is selected and the list of instruments comprising this
level is displayed in a tool tip 182. (See block 166 of FIG. 6A) Assuming a user has
defined three user input options, including (1) a Buy order bundle option associated
with the left mouse button containing one or more hypothetical Buy and/or Sell orders
per price level, (2) a Sell order bundle option associated with the right mouse button
containing one or more hypothetical Sell and/or Buy orders per price level, and (3)
a cancellation bundle containing one or more hypothetical cancellation orders per
price level, either prior to selecting or upon selecting of a price level, all of
the order parameters of the hypothetical Buy bundles and the hypothetical Sell bundles
associated with at least the selected price level are set so that the only action
taken when the user initiates one of the input options is to submit the desired bundle
to the one or more electronic exchanges 162. Consistent with the above assumptions,
either prior to or upon selection of a price level (i.e., "highlighting"), all of
the parameters of a set of hypothetical orders and a set of hypothetical Sell orders
are set (based on the user's execution algorithm) so that the only action taken when
a user input option is initiated is to determine which pre-constructed hypothetical
set of Buy or Sell or cancellation orders is submitted to the one or more electronic
exchanges 162. After a price level is selected, the user then clicks a mouse button
168 to place an order. If the user wishes to submit a Buy (Bid) order bundle, the
Buy button is clicked and a user-defined best execution algorithm is used to determine
the instruments, quantities, and sequence of new orders 170. One or more orders are
then submitted for one or more of the correlated instruments based on a user-defined
execution algorithm, for the desired quantity at the selected price 170. If the user
wishes to submit a Sell (Ask) order bundle, the Sell button is clicked and a user-defined
best execution algorithm is used to determine the instruments, quantities and sequence
of new orders 172. One or more orders are then submitted for one or more of the correlated
instruments based on a user-defined execution algorithm for the desired quantity at
the selected price 172. The Buy and Sell buttons are preferably left and right mouse
buttons, respectively. If the user wishes to cancel an order that has been submitted
and is working, the user clicks a cancel button (such as the middle mouse button)
and the cancel bundle is submitted for all working orders, including Bids and Asks,
in all correlated instruments at the selected price 174.
[0044] One advantage of aggregated mode is that it gives the trader a complete view of the
market not only for a single instrument being traded on one exchange or multiple exchanges,
but also for statistically similar instruments traded on one or more exchanges, thus
eliminating statistical arbitrage opportunities for the trader's competition. Another
advantage of aggregated mode is that it consolidates the price discovery process for
ultra-high Beta (a statistical correlation factor) instruments within a single GUI.
[0045] By utilizing differing single actions of a user input device, such as a computer
mouse with buttons and scroll wheel, to select pre-constructed order parameters (Buy
v. Sell), speed of order entry, and more importantly accuracy of order entry, is increased
significantly. Thus, when moving the user input device, the trader need only focus
on the movement of the user input device in parallel with the display of market depth
since perpendicular movements have no bearing on the trade action. This enhances the
ability of the user to consistently and accurately submit orders without the need
to concentrate on order entry regions, which are often missed by the trader in fast
markets.
[0046] Speed of order entry is also enhanced by configuring the program to pre-construct
trade parameters either prior to or at the time the user mouses over the desired priced
level (for Buy orders, Sell orders, and any applicable cancellation orders at that
price level) so that the only action taken when a user input option is initiated is
to submit the pre-constructed Buy bundle, Sell bundle or cancellation bundle. At the
session level and network level, some additional information may be attached to the
message/packet generated by the Rapid Trader product. This information may include
unique identifiers and sequence numbers. The user has no control over the attachment
of such information, which is not a trade parameter(s).
[0047] The foregoing description details certain preferred embodiments of the present invention
and describes the best mode contemplated. It will be appreciated, however, that changes
may be made in the details of construction and the configuration of components without
departing from the spirit and scope of the disclosure. Therefore, the description
provided herein is to be considered exemplary, rather than limiting, and the true
scope of the invention is that defined by the following claims and the full range
of equivalency to which each element thereof is entitled.
1. A method for placing a trade order bundle having trade order parameters for one or
more financial instruments to be traded on one or more electronic exchanges the method
comprising:
displaying on the screen of a graphical user interface a real time market depth representation
with market price levels of one or more tradable financial instruments;
selecting through action of a user input device a market price level for at least
one of the one or more tradable financial instruments; and
sending the trade order bundle to said one or more electronic exchanges through further
action of the user input device;
wherein all parameters of the trade order are pre-constructed prior to said further
action of the user input device.
2. The method of claim 1, wherein all parameters of the trade order bundle are pre-constructed
prior to selection of the market price level.
3. The method of claim 1, wherein all parameters of the trade order bundle are pre-constructed
upon selection of the market price level.
4. The method of claim 1, wherein said selecting step includes positioning an on-screen
pointer of the user input device at said market price level.
5. The method of claim 4, wherein movement of the on-screen pointer along the market
depth display changes the selected market price level.
6. The method of claim 1, wherein said one or more financial instruments includes only
one tradable financial instrument.
7. The method of claim 1, wherein said one or more financial instruments includes a plurality
of aggregated tradable financial instruments.
8. The method of claim 1, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
clicking a mouse button.
9. The method of claim 1, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
double-clicking a mouse button.
10. The method of claim 1 wherein said user input device includes a computer keyboard
with keys, and said further action of the user input device includes striking a key
on the computer keyboard.
11. The method of claim 1, wherein said step of sending further comprises:
sending a buy order bundle by activating a first active element of the user input
device; and
sending a sell order bundle by activating a second active element of the user input
device.
12. The method of claim 11 wherein said first active element includes the left button
of a computer mouse and said second active element includes the right button of the
computer mouse.
13. The method of claim 1, wherein one or more trade order parameters are pre-constructed
according to a best execution algorithm.
14. The method of claim 13 wherein said best execution algorithm includes one or more
normalization formulas for normalizing prices and quantities of the financial instruments
represented by the market depth representations.
15. The method of claim 1 wherein said tradable financial instruments include stocks.
16. The method of claim 1 wherein said tradable financial instruments include commodities.
17. The method of claim 1 wherein said real time market depth representation comprises
a price axis having a plurality of market prices for a financial instrument, a bid
area having a plurality of displayed bid quantities each of which is associated with
a market price level, and an ask area having a plurality of displayed ask quantities
each of which is associated with a market price level.
18. The method of claim 17, wherein said market depth representation includes a static
price interval that separates the display of quantities associated with the market
price levels, wherein the static price interval may be defined by the user.
19. The method of claim 18, wherein bid quantities for one or more instruments having
values that fall between the static market price levels are aggregated and rounded
down to the closest market price level.
20. The method of claim 18, wherein ask quantities for one or more instruments having
values that fall between the static market price levels are aggregated and rounded
down to the closest market price level.
21. A method for displaying information for use in placing a trade order bundle having
trade order parameters for one or more financial instruments to be traded on one or
more electronic exchanges, the method comprising:
displaying on the screen of a graphical user interface a first real time market depth
representation of one or more tradable financial instruments, said first real time
market depth representation having multiple price levels representing market prices
for the one or more financial instruments represented by the first market depth representation;
displaying on the graphical user interface screen a second real time market depth
representation of one or more tradable financial instruments, said second real time
market depth representation having multiple price levels representing market prices
for the one or more financial instruments represented by the second market depth representation;
selecting through action of a user input device a market price level of the first
market depth representation; and
in response to said step of selecting a market price level within the first market
depth representation, displaying on the graphical user interface screen an indicator
of one or more correlated price levels on the second real time market depth representation.
22. The method of claim 18, wherein said correlated price levels are displayed based in
part on a correlation algorithm.
23. The method of claim 21, further comprising sending the trade order bundle to said
one or more electronic exchanges through further action of a user input device.
24. The method of claim 23, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
clicking a mouse button.
25. The method of claim 23, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
double-clicking a mouse button.
26. The method of claim 23 wherein said user input device includes a computer keyboard
with keys, and said further action of the user input device includes striking a key
on the computer keyboard.
27. The method of claim 23, wherein said step of sending further comprises:
sending a buy order bundle by activating a first active element of the user input
device; and
sending a sell order bundle by activating a second active element of the user input
device.
28. The method of claim 27 wherein said first active element includes the left button
of a computer mouse and said second active element includes the right button of the
computer mouse.
29. The method of claim 23, wherein one or more trade order parameters are pre-constructed
according to a best execution algorithm.
30. The method of claim 23, wherein all parameters of the trade order bundle are pre-constructed
prior to said further action of the user input device.
31. The method of claim 23, wherein all parameters of the trade order bundle are pre-constructed
prior to selection of the market price level.
32. The method of claim 23, wherein all parameters of the trade order bundle are pre-constructed
upon selection of the market price level.
33. The method of claim 21 wherein a market price level of the first market depth representation
displayed on the graphical user interface screen is positively correlated to the second
market depth representation.
34. The method of claim 21 wherein a market price level of the first market depth representation
displayed on the graphical user interface screen is negatively correlated to the second
market depth representation.
35. The method of claim 21 wherein a market price level of the first market depth representation
displayed on the graphical user interface screen is linearly correlated to the second
market depth representation.
36. The method of claim 21 wherein a market price level of the first market depth representation
displayed on the graphical user interface screen is non-linearly correlated to the
second market depth representation.
37. The method of claim 21 wherein said tradable financial instruments include stocks.
38. The method of claim 21 wherein said tradable financial instruments include commodities.
39. The method of claim 21 wherein said real time market depth representation comprises
a price axis having a plurality of market prices for a financial instrument, a bid
area having a plurality of displayed bid quantities each of which is associated with
a market price level, and an ask area having a plurality of displayed ask quantities
each of which is associated with a market price level.
40. The method of claim 39, wherein said market depth representation includes a static
price interval that separates the display of quantities associated with the market
price levels, wherein the static price interval may be defined by the user.
41. The method of claim 40, wherein bid quantities for one or more instruments having
values that fall between the static market price levels are rounded down to the closest
market price level.
42. The method of claim 40, wherein ask quantities for one or more instruments having
values that fall between the static market price levels are rounded down to the closest
market price level.
43. The method of claim 21, wherein said selecting step includes positioning an on-screen
pointer of the user input device at said market price level.
44. The method of claim 43, wherein movement of the on-screen pointer along the market
depth display changes the selected market price level.
45. The method of claim 21, wherein said indicator is displayed by changing the font color
at the selected price level.
46. The method of claim 21, wherein said indicator is displayed by placing an icon adjacent
the selected price level.
47. The method of claim 21, wherein said indicator is displayed by highlighting an area
adjacent the selected price level.
48. A system for placing a trade order bundle, having trade order parameters, for one
or more financial instruments to be traded on one or more electronic exchanges, the
system comprising:
a graphical user interface with a display screen;
a user input device; and
a computer readable medium programmed to:
display on the screen of the graphical user interface a real time market depth representation
with market price levels of one or more tradable financial instruments;
select through action of the user input device a market price level for at least one
of the one or more tradable financial instruments; and
send the trade order bundle to said one or more electronic exchanges through further
action of the user input device;
wherein all parameters of the trade order bundle are pre-constructed prior to said
further action of the user input device.
49. The system of claim 48, wherein said computer readable medium is further operable
to pre-construct all parameters of the trade order bundle prior to selection of the
market price level.
50. The system of claim 48, wherein said computer readable medium is further operable
to pre-construct all trade order parameters upon selection of the market price level.
51. The system of claim 48, wherein said one or more financial instruments include only
one tradable financial instrument.
52. The system of claim 48, wherein said one or more financial instruments include a plurality
of aggregated tradable financial instruments.
53. The system of claim 48, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
clicking a mouse button.
54. The system of claim 48, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
double-clicking a mouse button.
55. The system of claim 48, wherein said user input device includes a computer keyboard
with keys, and said further action of the user input device includes striking a key
on the computer keyboard.
56. A system for displaying information for use in placing a trade order bundle, having
trade order parameters, for one or more financial instruments to be traded on one
or more electronic exchanges, the system comprising:
a graphical user interface with a display screen;
a user input device; and
a computer readable medium programmed to:
display on the screen of the graphical user interface a first real time market depth
representation of one or more tradable financial instruments, said first real time
market depth representation having multiple price levels representing market prices
for the one or more financial instruments represented by the first market depth representation;
display on the screen of the graphical user interface a second real time market depth
representation of one or more tradable financial instruments, said second real time
market depth representation having multiple price levels representing market prices
for the one ore more financial instruments represented by the second market depth
representation;
select through action of the user input device a market price level of the first market
depth representation; and
in response to selection of a market price level within the first market depth representation,
display on the graphical user interface screen an indicator of one or more correlated
price levels on the second real time market depth representation.
57. The system of claim 56, further comprising sending the trade order bundle to said
one or more electronic exchanges through further action of a user input device:
58. The system of claim 57, wherein said user input device includes a computer mouse with
one or more mouse buttons, and said further action of the user input device includes
clicking a mouse button.
59. The system of claim 57, wherein one or more trade order parameters are pre-constructed
according to a best execution algorithm.
60. The system of claim 57, wherein all parameters of the trade order are pre-constructed
prior to said further action of the user input device.
61. The system of claim 57, wherein all parameters of the trade order are pre-constructed
prior to selection of the market price level.
62. The system of claim 57, wherein all parameters of the trade order are pre-constructed
upon selection of the market price level.
63. A method for placing a trade order bundle having trade order parameters for a financial
instrument to be traded on one or more electronic exchanges, the method comprising:
displaying on the screen of a graphical user interface a real time market depth representation
with market price levels of one or more tradable financial instruments, said graphical
user interface including a plurality of user input devices, each of said plurality
of user input devices being configured to submit trade orders at one market price
level; and
sending the trade order bundle to said one or more electronic exchanges through action
of a user input device;
wherein all parameters of the trade order bundle are pre-constructed prior to said
action of a user input device.