U.S. patent application number 14/329170 was filed with the patent office on 2015-01-08 for system and method for generating real-time indicators in a trading list or portfolio.
This patent application is currently assigned to ITG SOFTWARE SOLUTIONS, INC.. The applicant listed for this patent is ITG SOFTWARE SOLUTIONS, INC.. Invention is credited to Milan BORKOVEC, Yossef BRANDES, Ian DOMOWITZ, Vitaly SERBIN, Robert D. SINCLAIR, Jian YANG.
Application Number | 20150012412 14/329170 |
Document ID | / |
Family ID | 37596044 |
Filed Date | 2015-01-08 |
United States Patent
Application |
20150012412 |
Kind Code |
A1 |
BRANDES; Yossef ; et
al. |
January 8, 2015 |
SYSTEM AND METHOD FOR GENERATING REAL-TIME INDICATORS IN A TRADING
LIST OR PORTFOLIO
Abstract
A trading platform computer system for detecting an abnormal
trading condition of a security uses real-time and estimated values
of one or more variables associated with the condition of the
security to generate one or more analytic metrics that are compared
to empirical distributions based on one or more peer groups for the
security. An indicator can then be displayed to a trader as an
indication of the abnormal condition.
Inventors: |
BRANDES; Yossef; (New York,
NY) ; DOMOWITZ; Ian; (New York, NY) ;
BORKOVEC; Milan; (Boston, MA) ; YANG; Jian;
(Sharon, MA) ; SINCLAIR; Robert D.; (Framingham,
MA) ; SERBIN; Vitaly; (Somerville, MA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
ITG SOFTWARE SOLUTIONS, INC. |
Culver City |
CA |
US |
|
|
Assignee: |
ITG SOFTWARE SOLUTIONS,
INC.
Culver City
CA
|
Family ID: |
37596044 |
Appl. No.: |
14/329170 |
Filed: |
July 11, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13185929 |
Jul 19, 2011 |
|
|
|
14329170 |
|
|
|
|
12724233 |
Mar 15, 2010 |
8001033 |
|
|
13185929 |
|
|
|
|
11476895 |
Jun 29, 2006 |
7680718 |
|
|
12724233 |
|
|
|
|
60694668 |
Jun 29, 2005 |
|
|
|
Current U.S.
Class: |
705/37 |
Current CPC
Class: |
G06Q 40/04 20130101;
G06Q 40/06 20130101; G06Q 40/00 20130101; G06Q 10/04 20130101; G06Q
40/08 20130101 |
Class at
Publication: |
705/37 |
International
Class: |
G06Q 40/04 20120101
G06Q040/04 |
Claims
1. A method of displaying abnormal trading conditions for a
security on a graphical user interface, the method comprising:
dynamically displaying, on the graphical user interface, market
data for a plurality of securities, including an indication of a
security and an indication of a current value for a first variable
of the security; determining, by a computer, that the current value
for the first variable is abnormally different from a value
estimated for the first variable based on historical market data
when a difference between the current value and the estimated value
exceeds a preselected threshold for abnormality; and when it is
determined that the current value of the first variable is
abnormal, displaying, in real-time, on the user interface, a
graphical indicator reflecting that the value for the first
variable of the security is abnormal and a magnitude of the
abnormality.
2. The method of claim 1, wherein the step of determining that the
current value for the first variable is abnormally different from a
value estimated for the first variable based on historical market
data comprises: receiving an indication of the preselected
threshold for abnormality from a remote server via an electronic
communications network.
3. The method of claim 1, wherein the abnormality relates to at
least one of: current trade price, current trading volume,
current-ask spread, or current depth.
4. The method of claim 1, wherein the graphical indicator reflects
that the value of the first variable of the security is abnormal
with respect to the values of the variable for a peer group of
securities.
5. The method of claim 4, wherein the peer group of securities
corresponds to a group of securities having similar trading
characteristics to the security, wherein the trading
characteristics include at least one of: volume, volatility, or
price.
6. The method of claim 4, wherein the peer group is defined either
(1) statically based on at least one of industry sector, exchange,
and market capitalization or (2) dynamically based on current data
related to the peer group.
7. The method of claim 4, wherein the graphical indicator reflects
a position of the value for the first variable within a
distribution of the values of the variable for the peer group.
8. The method of claim 1, further comprising: automatically
executing a trade based on determining that the difference between
the current value for the first variable and the estimated value
exceeds a preselected threshold for abnormality.
9. The method of claim 1, wherein the graphical indicator includes
at least one of: a numerical value related to a degree of
abnormality, a number of symbols related to the degree of
abnormality, a color related to the degree of abnormality, and a
color-coded numerical value related to the degree of
abnormality.
10. The method of claim 1, further comprising: displaying on a
single row of the user interface, a stock symbol for the security,
the value for the first variable, and the graphical indicator of
abnormality; and displaying, on each other row of the user
interface, information for a respective other security, including
the stock symbol of the other security and a value of the first
metric for the other security.
11. A client system for displaying abnormal trading conditions for
a security on a graphical user interface, the client system
comprising: a data request component for sending requests to a
server for market data; a data receiving component for receiving
the market data, wherein the market data includes: a current value
for a first variable for a security; and an indication that the
current value for the first variable is abnormally different from a
value estimated for the first variable based on historical market
data when a difference between the current value and the estimated
value exceeds a preselected threshold for abnormality; and a
display device configured to dynamically display, in real-time, the
market data, wherein the displayed market data includes: an
indication of the security, an indication of the current value for
a first variable, and when it is determined that the current value
of the first variable is abnormal, a graphical indicator reflecting
that the value for the first variable of the security is abnormal
and a magnitude of the abnormality.
12. The client system of claim 11, wherein the abnormality is based
on at least one of: current trade price, current trading volume,
current-ask spread, or current depth.
13. The client system of claim 11, wherein the graphical indicator
reflects that the current value of the first variable of the
security is abnormal with respect to the values of the variable for
a peer group of securities.
14. The client system of claim 11, wherein the peer group of
securities corresponds to a group of securities having similar
trading characteristics to the security, wherein the trading
characteristics include at least one of: volume, volatility, or
price.
15. The client system of claim 11, wherein the peer group is
defined either (1) statically based on at least one of industry
sector, exchange, and market capitalization or (2) dynamically
based on current data related to the peer group.
16. The client system of claim 14, wherein the graphical indicator
reflects a position of the value for the first variable within a
distribution of the values of the variable for the peer group.
17. The client system of claim 11, wherein the client system is
configured to: automatically submit a trade request based on
receiving the indication that the difference between the current
value for the first variable and the estimated value exceeds a
preselected threshold for abnormality.
18. The client system of claim 11, wherein the graphical indicator
includes at least one of: a numerical value related to a degree of
abnormality, a number of symbols related to the degree of
abnormality, a color related to the degree of abnormality, and a
color-coded numerical value related to the degree of
abnormality.
19. The client system of claim 11, wherein the displayed market
data further includes: a historical moving average of values for
the first variable with respect to a peer group of securities.
20. The client system of claim 11, wherein the indication of the
security, indication of the current value, and the graphical
indicator of abnormality are displayed in a row of a table, wherein
the row comprises a respective analogous entry for each of a
plurality of other securities.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a Continuation of and claims priority to
U.S. patent application Ser. No. 13/185,929, filed Jul. 19, 2011,
which is a continuation of and claims the benefit of priority to
U.S. patent application Ser. No. 12/724,233, filed Mar. 15, 2010,
now U.S. Pat. No. 8,001,033, which issued Aug. 16, 2011, which is a
Continuation of and claims the benefit of priority to U.S. patent
application Ser. No. 11/476,895, filed on Jun. 29, 2006, now U.S.
Pat. No. 7,680,718, which issued Mar. 6, 2010, and which claimed
priority to U.S. Provisional Application Ser. No. 60/694,668 filed
Jun. 29, 2005, the entire contents of each of which are
incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates to investment portfolio
management systems. In particular, the present application relates
to a computerized investment portfolio management system and method
for recognizing abnormal conditions in real-time, for a security
being traded in a trading forum.
[0004] 2. Description of the Related Art
[0005] Computerized trading systems exist that allow traders to
monitor and execute transactions in trading forums, such as the
NASDAQ. Some trading systems include portfolio management functions
and/or allow traders to execute trade lists. For example, U.S.
Published Patent Application No. 2004/0181479, is directed to an
investment portfolio optimization system, method and computer
program product, the entire contents of which are incorporated
herein by reference.
[0006] When trading a portfolio or a trade list, a small number of
securities can sometimes skew the performance of the entire
portfolio. It would be important to traders trading portfolios and
trade lists to be able to identify, preferably in real-time, such
securities that could hurt the performance of a portfolio or trade
list, so that the trader can take the appropriate actions to
minimize potential losses to the portfolio or trade list.
[0007] While computerized trading systems exist that allow traders
to view real-time market data, such as price, volume and spread,
and certain analytics or quantitative metrics, such as moving
averages, these systems fail to identify and effectively
communicate to the trader abnormal conditions as they occur in
real-time. Thus, there remains a need for a system that can
recognize abnormal conditions in real-time and provide indicators
that allow the trader to react quickly to the abnormal
conditions.
SUMMARY OF THE INVENTION
[0008] It is therefore an object of the present invention to
overcome disadvantages of the prior art by providing systems and
methods capable of identifying an abnormal condition of a security
traded on an exchange.
[0009] A first aspect of the present invention is a system for
generating an indicator of abnormality in the condition of a
security traded on an exchange using real-time data from a remote
source. The system includes a computer with a processor and a
memory device storing a set of machine readable instructions
executable by the processor to receive in real-time from the remote
source a real-time value of a first variable related to a condition
of the security, retrieve historical market data for the security,
and retrieve an empirical distribution of analytic or quantitative
metrics for a peer group of the security, wherein the empirical
distribution is based on a relationship of empirical values of the
first variable for members of the peer group. The system then
estimates the value of the first variable based on the historical
market data for the security, calculates an analytic metric (also
referred to herein as an "analytic result") based on a relationship
between the value received in real-time and the value obtained by
estimating, and compares the analytic metric for the security with
the empirical distribution of analytic metrics for the peer group
to determine whether the condition of the security is abnormal.
[0010] In a preferred embodiment, the system receives in real-time
from a remote source real-time values of a plurality of variables
related to a condition of the security. Examples of the types of
variables that may be monitored in real-time by the system include,
but are not limited to, trade price, trading volume, bid-ask
spread, and depth. Both real-time values of the variables as well
as estimates thereof based on historical data can be dynamically
updated throughout the trading day. Examples of the types of
analytics that can be calculated using the real-time values of the
variables and estimates thereof include, but are not limited to,
relative volatility, relative volume, and relative cost. The peer
group used to generate empirical distributions preferably includes
a plurality of securities having similar characteristics to the
first security (e.g., volume, volatility, price, etc.). The system
determines whether or not an abnormal condition exists based on a
comparison of the analytic metrics to the empirical distribution of
peer group analytics. For example, if the analytic metric is an
unlikely deviation from the empirical distribution, an abnormal
condition may be deemed to exist. In one embodiment, the system can
display an indicator to a trader alerting the trader of the
abnormal condition. The indicators can reflect the degree and kind
of condition. The system can include a single computer that
performs all of the above functions, or a network of computers
wherein, e.g., certain functions are performed by a server and
other functions are performed by user workstations connected with
the server.
[0011] Another aspect of the present invention is a method of
detecting an abnormal condition of a security traded on an
exchange. The method includes the steps of receiving in real-time a
value of a first variable related to a condition of the security,
estimating the value of the first variable based on historical
market data for the security, calculating an analytic metric based
on a relationship between the value obtained by real-time
monitoring and the value obtained by estimating, retrieving an
empirical distribution of analytic metrics for a peer group of the
security, and comparing the analytic metric for the security based
on real-time data with the empirical distribution of analytic
metrics for the peer group to determine whether the condition of
the security is abnormal.
[0012] In a preferred embodiment, the method includes the steps of
receiving in real-time from a remote source real-time values of a
plurality of variables related to a condition of the security.
Examples of the types of variables that may be received in
real-time according to the method include, but are not limited to,
trade price, trading volume, bid-ask spread, and depth. Both
real-time values of the variables as well as estimates thereof
based on historical data can be received continuously (i.e.,
dynamically) throughout the trading day. Examples of the types of
analytics that can be calculated using the real-time values of the
variables and estimates thereof include, but are not limited to,
relative volatility, relative volume, and relative cost. The peer
group used to generate empirical distributions preferably includes
a plurality of securities having similar characteristics to the
first security (e.g., volume, volatility, price, etc.). In
determining whether or not an abnormal condition exists based on a
comparison of the analytic relation to the generated empirical
distribution, the method may, for example, deem an abnormal
condition to exist if the analytic relation is an unlikely
deviation from the empirical distribution. In one embodiment, the
method also includes the step of displaying an indicator to a
trader alerting the trader of the abnormal condition. The
indicators can reflect the degree and kind of condition.
[0013] Yet another aspect of the present invention is a computer
program product for generating an indicator of abnormality in the
condition of a security traded on an exchange. The computer program
product includes a digital storage media and a set of machine
readable instructions, stored on the digital storage media, which
are executable by a computer to establish communication between the
computer and a remote source, receive a value of a first variable
related to a condition of the security in real-time from the remote
source, retrieve historical market data for the security and
estimate the value of the first variable based on the historical
market data for the security, calculate an analytic metric based on
a relationship between the real-time value of the first variable
and the estimated value of the first variable, retrieve an
empirical distribution of analytic metrics for a peer group of the
security, and compare the analytic metrics for the security with
the empirical distribution of analytic metrics for the peer group
to determine whether the condition of the security is abnormal.
[0014] In a preferred embodiment, the computer program product is
configured such that, when it is executed, it causes a computer to
receive in real-time from a remote source real-time values of a
plurality of variables related to a condition of the security.
Examples of the types of variables that may be received in
real-time include, but are not limited to, trade price, trading
volume, bid-ask spread, and depth. Real-time values of the
variables as well as estimates thereof based on historical data can
be received continuously (i.e., dynamically) throughout the trading
day. Examples of the types of analytics that can be calculated
using the real-time values of the variables and estimates thereof
include, but are not limited to, relative volatility, relative
volume, and relative cost. The peer group used to generate
empirical distributions preferably includes a plurality of
securities having similar characteristics to the first security
(e.g., volume, volatility, price, etc.). The computer program
product can be configured to determine whether or not an abnormal
condition exists based on a comparison of the analytic relation to
the generated empirical distribution. For example, if the analytic
relation is an unlikely deviation from the empirical distribution,
an abnormal condition may be deemed to exist. In one embodiment,
the computer program product can include instructions executable by
the computer to display an indicator to a trader alerting the
trader of the abnormal condition. The indicators can reflect the
degree and kind of condition. In another embodiment, the computer
program product includes a second set of instructions executable by
a second computer to receive indicators from the first computer and
display them on the second computer.
[0015] Further objects and advantages of the present invention are
discussed below with reference to the drawing figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] FIG. 1 is a schematic diagram of a system for identifying
securities having abnormal conditions according to an embodiment of
the present invention.
[0017] FIG. 2 is a flow chart of a method for identifying
securities having abnormal conditions according to an embodiment of
the present invention.
[0018] FIG. 3 is a screen shot of a trading desktop displaying
indicators for a list of securities according to an embodiment of
the present invention.
[0019] FIG. 4 is a screen shot of a trading desktop showing a
window that allows a user to set alert levels according to an
embodiment of the present invention.
[0020] FIG. 5 is a screen shot of a trading desktop showing certain
indicators shaded according to another embodiment of the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0021] While the present invention may be embodied in many
different forms, a number of illustrative embodiments are described
herein with the understanding that the present disclosure is to be
considered as providing examples of the principles of the invention
and such examples are not intended to limit the invention to the
embodiments shown or described herein.
[0022] Referring now to FIG. 1, a schematic diagram of a system 20
for identifying abnormal conditions in a list of one or more
securities according to an embodiment of the present invention is
shown. The system 20 includes a server 22 in communication with one
or more user workstations 24, for example via a direct data link
connection or a network such as a local area network (LAN), an
intranet, or the Internet. The server 22 and the work stations 24
can be computers of any type so long as they are capable of
performing their respective functions as described herein. The
computers can be the same, or different from one another, but
preferably each have at least one processor and at least one memory
device capable of storing a set of machine readable instructions
(i.e., computer software) executable by at least one processor to
perform the desired functions, where by "memory device" is meant
any type of media or device for storing information in a digital
format on a permanent or temporary basis such as, for example, a
magnetic hard disk, flash memory, an optical disk, random access
memory (RAM), etc.
[0023] The computer software stored on the server ("server
software"), when executed by the server's processor, causes the
server 22 to communicate with the workstations 24 and one or more
remote sources 26 of financial data, such as data vendors, that
offer real-time securities data in an electronic format. The server
software, when executed by the server's processor, also causes the
server 22 to perform certain calculations, described in greater
detail below, using the real-time data from the data vendors 26, as
well as historical data about the securities and peer group data,
to determine whether an abnormal condition exists, and to send an
indicator of the condition to one or more workstations 24.
[0024] The computer software stored on a workstation ("user
software"), when executed by the workstation processor, causes the
workstation 24 to receive indicators from the server 22 and to
display the indicators to a user on a monitor, for example using a
spreadsheet program, such as Microsoft7 EXCEL7, an automated
portfolio optimization program, such as ACE7, or any other type of
computer program capable of displaying a list of securities and
data associated with the listed securities.
[0025] Historical securities data used by the system 20 to identify
abnormal conditions can be received from a remote source 20, such
as a data vendor, or from a local database 30 connected to, or
maintained on, the server 22. Empirical peer group data is
preferably stored in a database 32 maintained on, or otherwise
accessible by the server 22.
[0026] The server 22 can be located at the user's facility or at a
site remote from the user's facility. Communication between the
server 22 and the data vendors 26 and 28 can be accomplished via a
direct data link connection or a network, such as a LAN, an
intranet or the Internet. In alternate embodiments, one or more
workstations can be configured to perform the server functions such
that a dedicated server is not needed. It will also be appreciated
that workstations can be configured to communicate individually
with data vendors and/or local databases without being networked to
a server or other workstations.
[0027] Operation of the system 20 is described with reference to
the flow chart shown in FIG. 2, which illustrates a method 40 of
identifying abnormal conditions in a list of one or more securities
according to an embodiment of the present invention. The method
begins at step 42, at which time the system initiates a number of
steps involving receipt of certain information that will be used to
determine abnormal conditions of securities. At step 44, the system
receives from a remote source, such as a data vendor, real-time
values of one or more variables associated with a first condition
of a security traded on an exchange, and stores at least some of
the values in memory. Examples of the types of variables that may
be received in real-time from remote sources include, but are not
limited to, trade price, trading volume, bid-ask spread, and depth
(i.e., ask size for buy orders or bid size for sell orders). In a
preferred embodiment, values are received continuously in real-time
throughout a trading day and some of these values (e.g., values
received at predetermined intervals) are used to calculate certain
analytics as described in greater detail below. In a presently
preferred embodiment, values received at a predetermined interval
of about five seconds are used to compute the analytics. In
addition, at least some of the real-time values may optionally be
stored in a database on the server or elsewhere for later reference
as historical data.
[0028] At step 46, the system receives historical data on prior
values of the first variable and stores the historical data in
memory. For example, the historical data may include an average
value of the first variable for a particular time of day. In a
preferred embodiment, the historical data includes a running
average of values over a 21 day period. The historical data can be
received from one or more remote or local sources whenever it is
needed, but is preferably received at predetermined intervals
throughout the day (e.g., about every five seconds). In a preferred
embodiment, at least some of the historical data is maintained in a
database on the server and updated daily. At the beginning of the
trading day, the historical data in the database can be uploaded
into memory so that it can be accessed immediately by the system at
any time during the trading day. Alternatively, all or some of the
historical data may be received from a remote source, such as a
data vendor.
[0029] At step 48, the system receives peer group data including
values of the first variable for a group of securities that are
considered to be within a peer group of which the first security is
a member. Alternatively, the peer group data includes empirical
distributions of analytic metrics based on historical values of the
first variable for the peer groups. Preferably, the peer group
includes a plurality of securities having similar characteristics
to the first security. For example, characteristics such as
industry or sector (e.g. basic materials, consumer cyclical,
consumer non-cyclical, financials, health, industrials, information
technology, resources, telecommunication services, and utilities),
exchange (e.g., New York Stock Exchange, American Stock Exchange,
and NASDAQ), and capitalization (e.g., large or small cap) can be
used to define dozens of peer groups.
[0030] The peer group data can be received from one or more remote
or local sources whenever it is needed. In a preferred embodiment,
at least some of the peer group data is maintained in a database on
the server and updated at least quarterly. Like the historical
data, at the beginning of the trading day, the peer group data in
the database can be uploaded into server memory so that it can be
accessed immediately by the system at any time during the trading
day. Alternatively, all or some of the peer group data may be
received from a remote source, such as a data vendor. The peer
group data may be accessed as frequently as desired but is
preferably accessed at predetermined intervals throughout the day
(e.g., about every five seconds).
[0031] While steps 44, 46 and 48 are shown in FIG. 2 as being
performed in parallel, it will be appreciated that two or more of
these steps can be performed serially in any order. In a preferred
embodiment, steps 44, 46 and 48 are performed at predetermined
intervals (e.g., about every five seconds) throughout a trading
day.
[0032] At step 50, the system estimates a value for the first
variable based on the historical data received in step 46. For
example, if a real-time value of the first variable is received at
a particular time during a trading day and the historical data
includes several values for the variable at the same time of the
day (e.g., within five minutes of the time), the system might use
an average value of the first variable for the same time period as
the estimated value for the first variable.
[0033] At step 52, the system calculates an analytic metric or
result using the real-time value of the first variable obtained in
step 44 and the estimated value of the first variable generated in
step 50. Some examples of the types of analytic metrics
("analytics") that can be calculated include, but are not limited
to, relative volatility, relative volume, and relative price, each
of which is described in greater detail below. In general, the
analytics involve some type of ratio or relationship between the
real-time and estimated values of the variable, providing an
indication of how much the real-time value deviates from historical
values of the variable.
[0034] At step 54, the system determines analytic metrics for each
of the securities in the peer group using the data obtained in step
48. In one embodiment, the peer group database includes historical
values of the variable for the peer group and the system uses the
values to generate an empirical distribution of analytic metrics
for the peer group. Alternatively, the database may include
empirical distributions of analytic metrics organized by peer group
and the system may receive an empirical distribution for an
appropriate peer group in step 48 such that it is not necessary to
generate an empirical distribution from raw data each time the
method is practiced.
[0035] At step 56, the system compares the analytic metric
determined at step 52 with the empirical distribution of analytic
metrics determined at 54. For example, the system might determine
where the analytic metric falls within the distribution in terms of
percentile or standard deviation.
[0036] At step 58, the system uses the result of the comparison at
step 56 to generate an indicator of abnormality for the security.
The indicator can be qualitative (i.e., abnormal condition exists
or does not exist) or it can be more quantitative (e.g., degree of
abnormality in a positive or a negative sense, etc.). For example,
a qualitative determination may be made that a quantity more than
two standard deviations from the mean of the empirical distribution
is abnormal. Alternatively, abnormality can be measured on a scale
(e.g., -5 to 5), with an indicator value of 0 reflecting a neutral,
average or normal condition.
[0037] The indicator of abnormality generated in step 58 is then
sent to a user at step 60 for display by the user workstation. The
process 40 is shown ending at step 62, but it will be appreciated
that the process can be repeated periodically throughout the
trading day, e.g., every few seconds or whenever the system
receives a request for an update.
[0038] As described in greater detail below, the indicator is
preferably displayed to the user in a spreadsheet format in which a
list of securities and associated information are arranged in rows
and columns Any icon or visual symbol can be employed as an
indicator of abnormal conditions. For example, a plurality of up or
down arrows could be used to indicate whether the current trading
condition is in an upper or lower percentile of the empirical
distribution for the peer group, the number of arrows displayed
reflecting the degree of abnormality. Boxes, bullets and/or bars
can be used with or without a divider line indicating the average
or mean value of the empirical distribution. Charts, colors,
shading and/or other visual aids can also be employed.
[0039] The present invention may be used in conjunction with or as
an extension to a trading platform. An exemplary trading platform
with which the present invention can be used is described in
co-owned U.S. patent application Ser. No. 10/166,719, filed on Jun.
12, 2002, the entire contents of which are hereby incorporated by
reference. That application describes an Agency Cost Estimator
("ACE") method and system that allow a user to obtain price impact
cost estimates for any pre-specified strategy, and generates an
optimal trading strategy subject to certain assumptions. ACE
further allows a user to submit a proposed portfolio trade
execution and analyzes the execution according to a trading
strategy algorithm. The present invention may act in cooperation
with or as an extension to platforms like ACE by identifying,
preferably in real-time, securities that could hurt the performance
of a portfolio or trade list, so that the trader can take the
appropriate actions to minimize potential losses to the portfolio
or trade list.
[0040] An exemplary screen shot 70 of a screen from a trading
platform or desktop employing indicators of abnormality according
to an embodiment of the present invention is shown in FIG. 3. In
this example, streaming data is used to populate a MICROSOFT.RTM.
EXCEL.RTM. spreadsheet. As shown, the spreadsheet includes rows
listing the securities in a trade list or portfolio and columns
displaying ticker symbol 72, side 74 (i.e., buy or sell), size of
the order 76, real-time and historical volume 78 and 80, real-time
and historical 5-minute volatility 82 and 84, real-time and
historical cumulative volatility 86 and 88, and performance 90
(i.e., symbol v. sector 92 and symbol v. market 94). As shown in
this example, indicators can be displayed on the spreadsheet to
show abnormal trading conditions of the listed securities. In
particular, the spreadsheet includes columns displaying indicators
determined in accordance with the present invention, specifically
volume indicators 96, 5-minute volatility indicators 98, cumulative
volatility indicators 100, symbol v. sector performance indicators
102, and symbol v. market performance indicators 104. In this
example, it was determined that security MRK currently has an
abnormally high volume, while PZE currently is performing poorly
versus the sector.
[0041] In particular, the real-time volume for MRK at the time the
screen shot was taken was 59,007,900 as compared to the historical
cumulative volume (e.g., over the last 21-days) which was only
1,943,258. The ratio of current to historical volume was therefore,
3.7. When this ratio is compared to the empirical distribution for
the peer group, it falls in the 96% of the distribution spectrum;
that is, it is only 4% likely that the real-time cumulative volume
of 59 million would occur, and therefore, the volume indicator is
set to level 4 to indicate a severe abnormality. The trader can
consider and react appropriately to this important information.
Thus, it is easy to understand how useful indicators generated
according to the present invention can be to a trader.
[0042] As mentioned previously, any icon or visual indicator can be
employed to signify abnormal conditions. For example, a plurality
of up or down arrows could be used to indicate whether the current
condition is in an upper or lower percentile of the distribution of
metrics. Boxes, bars or bullet points could be used with or without
a divider line indicating the average or mean value of the
empirical distribution. Charts, colors, shading or other visual
aids can also be employed.
[0043] Indicators generated in accordance with the present
invention could be further used to alert or warn the user/trader of
dangerous conditions. For example--changes in volume patterns may
require changing participation rates in a portfolio, or when a
certain symbol is outperforming a corresponding sector index it
might be necessary to execute a "short" based on the belief that it
will return to historical levels.
[0044] Referring to FIG. 4, the system can be configured to allow
the user to assign alert level set points used to trigger such an
alarm or to configure the indicators display characteristics (e.g.,
at what range the indicators change display levels--such as from 3
to 4 "dots" or "bars"). As shown, a pop-up box or window 106 is
displayed over the spreadsheet 70 and includes tabs for volume 108,
volatility 110, performance 112, etc. Ranges can be set based upon
the empirical distribution spectrum (in percent), but in the case
of normal distributions, could be set by standard deviation. Note
that the entire line for symbol CPN is highlighted and corresponds
to the pop-up box 106. Levels can be set for each individual
indicator or globally for all indicators.
[0045] It should be understood that market data can be used to
generate indicators according to the present invention. Preferably,
LEVEL 1 and/or LEVEL 2 data is collected in real-time for input
into a system performing the analytics to generate the
indicators.
[0046] Real-time and historical market data can be collected for
each security in a portfolio or trade list, or for all securities.
Accordingly, a system implementing indicators according to the
present invention should be configured to receive such information
and preferably will include a "live feed" or "stream" of data.
Empirical distributions may be generated by any means and should be
accessible to the system. Alternatively, a means for generating
empirical distributions locally could be included, which could
generate such distributions dynamically based on up-to-date
historical data.
[0047] The peer groups can be defined statically (i.e.,
predetermined) on the basis of characteristics such as, e.g.,
sector, exchange, and capitalization, or dynamically, by
identifying securities having similar characteristics to a selected
security such as, e.g., volume, volatility, price, etc.
[0048] FIG. 5 is a screen shot of another embodiment of the present
invention wherein data is shaded or color coded on the trading
desktop to indicate abnormal trading conditions for a security. For
example, in row 17 of the spreadsheet, the symbol ATI is shown to
have abnormally high volatility by color coding cells 116a and
116b; and in row 21, the symbol LU is shown to have abnormally high
volume by color coding cells 118a and 118b. The decision whether or
not to shade or color code a cell to indicate an abnormal condition
is preferably based on a comparison of the type described above in
connection with method step 56 in FIG. 2.
[0049] No particular system configuration must be used to implement
the present invention. It is recognized that it may be easiest to
use a web based or client-server architecture wherein analytics are
programmed onto a central server or onto a plurality of servers.
Analytics can also be calculated on the client side as well.
[0050] Real-time and historical data is typically obtained from
data vendors, via, for example, a dedicated line or over an
electronic data network. Level 1 and/or level 2 data can be used.
Examples of level 1 data include, but are not limited to, FITCH,
ISSM, TAQ, TORQ or so-called "ticker" information. Level 2 data
offers the unique ability to observe the amount of market
liquidity, the price structure, and the quantity of unexecuted
displayed limit orders at any given time of the day for any market
venue. It contains trade as well as all order information (order
messages about additions, modifications and cancellations) and thus
particularly, all quote information beyond the best levels.
Real-time analytics are preferably input into a real-time data and
analytics API. Qualitative signals are derived from the historical
and real-time data and output to the client, which in this case is
an EXCEL or order management system ("OMS") client. The client
interface is preferably robust and flexible enough to enable the
users to create their own custom analytics.
Analytics
[0051] One skilled in the art will understand that the analytics
used to generate indicators according to the present invention can
vary. As described above, historical and real-time data may be
collected from a number of sources for the calculation of analytics
generating stock signals such as Relative Volume, Relative
Volatility, etc. Indicators could be generated according to the
present invention for any stock signal that is displayed on a
trading desktop.
[0052] Empirical distributions can be generated a number of ways
for a number of periods. Quarterly distributions are contemplated
for simplicity. Of course, longer or shorter periods could be used
for generating distributions. Historical data can be used to
generate empirical distributions for predetermined (i.e., static)
or dynamically determined peer groups. Preferably, peer groups are
created for use with all analytics, however, one will understand
that different peer groups could be used for different
analytics.
[0053] A number of exemplary analytics are described below which
can be implemented according to the present invention. The below
discussion of analytics is by no means intended to limit the
present invention to only those analytics described and one having
ordinary skill in the art will readily understand that other
analytics could be used to generate abnormal condition indicators
according to the present invention.
Relative Volatility
[0054] Relative Risk = r .tau. .sigma. .tau. , ##EQU00001##
where r.sub..tau. is (a) today's return over time
.tau.-.DELTA..tau. through .tau., and (b) today's return from
"open" to .tau.; and .sigma..sub..tau. is the historical volatility
of the same time period in a day.
[0055] For meaningful analytics, the time interval .DELTA..tau. in
(a) above should be appropriately set; for example, 5-minute
intervals could be chosen. The historical average statistics can be
computed based on the analytics which provide 30-minute bin
volatility distributions. The historical average statistics are
preferable dynamic or "moving" averages. Historical estimates may
be updated periodically or on a monthly basis.
[0056] Relative volatility or risk can be based on the following
data for each stock: [0057] 60 most recent prior day's closing
prices, [0058] daily (forward-looking) relative volatility, and
[0059] intra-day mid-quote volatility
[0060] The intra-day mid-quote volatility is given by:
1 N - 1 i = 2 n ( ln ( P i / P i - 1 ) ) 2 t i - t i - 1 ,
##EQU00002## [0061] where [0062] n is the total number of valid
quotes for that day; [0063] P.sub.i and t.sub.i are, respectively,
a midpoint and time (in seconds) of the i'th valid quote. If the
first quote was before regular opening time, we set t.sub.1 to the
regular opening time. [0064] Valid quotes are defined as quotes
with no or valid condition codes that [0065] (a) have strictly
positive bid and ask prices. [0066] (b) have strictly larger ask
than bid prices (crossed or locked quotes should be excluded).
[0067] (c) have strictly positive bid and ask sizes for specified
markets. [0068] (d) are not second level quotes (a second level
quote is defined as a quote that has a market maker i.d.). [0069]
(e) have time stamps within regular trading hours or, for USA only,
represents the last quote prior to regular opening time reported
from the primary market for the stock.
[0070] Stock-specific and aggregated binned volatility
"distributions" (.zeta..sub.j), j=0, 1, . . . , 13, can be
retrieved or derived. The value .zeta..sub.o represents the weight
for the overnight volatility. Note that the sum of the weights of
(.zeta..sub.j) does not equal to one, however the sum of the
weights for (.zeta..sub.j.sup.2) does. Certain stocks do not trade
at a volume sufficient such that meaningful statistics can be
generated from the data relating solely to that stock. Therefore,
stocks that do not have specific volatility numbers are aggregated
by "liquidity bands". Volatility is, then, calculated for this
group. For example, all stocks that trade between 5M-10M shares a
day become one group, etc.
[0071] In addition, the historical daily volatility of a stock
should be computed. The daily volatility .sigma. with capped
maximum return value can be computed based on the split-adjusted
daily returns of the last 60 trading days and is defined as:
.sigma. ( 1 ( T ) - 1 t .di-elect cons. T ( r t - r _ ) 2 ) 1 / 2
##EQU00003##
where r.sub.t=(q.sub.t-q.sub.t-1)/q.sub.t-1'
r=1/|T|.SIGMA..sub..tau..epsilon.Tr.sub.1' T={t=1, . . . ,
60|r.sub.1 exists} and |T| is the cardinal number of set T.
[0072] The term "with capped maximum return value" means that the
largest return in absolute value is capped to the second largest
return in absolute value, then adjust by sign. That is, if the
largest return in absolute value is -0.3 and the second largest in
absolute value is 0.2, then the largest value will be replaced with
-0.2. In the case that less than 10 return observations (i.e. if
|T|<10) exist, the forward-looking volatility can be used.
[0073] The real-time data for the relative volatility measure (a),
includes the last trade price P.sub..tau. within the last 5 minutes
and the last trade price P.sub..tau.-.DELTA..tau. before
P.sub..tau.. In the case that there are no trades in the last 5
minutes or if P.sub..tau.-.DELTA..tau. does not exist or was
reported more than 30 minutes prior to P.sub..tau., the return is
set equal to 0; for the relative volatility measure (b), data
includes the last trade price P.sub..tau. and today's open price
P.sub.open. In the case that there are no trades, the return is set
equal to 0.
[0074] Intraday return can be represented by
r.sub.t=(P.sub..tau.-P.sub..tau.-.DELTA..tau.)/P.sub..tau.-.DELTA..tau..
Return from open to .tau. can be represented by
r.sub.t=(P.sub..tau.-P.sub.open)/P.sub.open.
[0075] For Historical volatility within one regular bin i (for
relative volatility measure (a)), the bin volatility is defined as
.sigma..sub.i=.zeta..sub.i.sigma.. The 5-minute volatility is set
to be equal to
.sigma..sub..tau.=(.DELTA..tau./30).sup.1/2.sigma..sub.i.
[0076] For Historical volatility across two regular bins i and j
(for relative volatility measure (a)), if the interval
.tau.-.DELTA..tau. through .tau. crosses two regular bins as
.DELTA..tau.=.DELTA..sub.i+.DELTA..sub.j then the 5-minute
volatility becomes
.sigma. .tau. = ( .DELTA. i 30 .sigma. i 2 + .DELTA. i 30 .sigma. j
2 ) 1 / 2 . ##EQU00004##
[0077] For Historical volatility at the open (for relative
volatility measure (a)), if .tau. is between 9:30 am and 9:35 am,
r.sub..tau. is defined as the return over time from open to .tau.
and
.sigma. .tau. = ( .DELTA. 30 .sigma. 1 2 ) 1 / 2 , ##EQU00005##
where .DELTA. is the number of minutes from 9:30 to .tau..
[0078] For Historical volatility from open to .tau. (for relative
volatility measure (b)), if .tau..epsilon. bin I and .DELTA..tau.
is the time from the beginning of the bin i to .tau., the
historical volatility from open to .tau. is defined as
.sigma. .tau. = ( j = 1 i = 1 .sigma. j 2 + .DELTA. .tau. 30
.sigma. i 2 ) 1 / 2 . ##EQU00006##
[0079] For the mapping of quantitative statistics into qualitative
signals, "cutoffs" can be group-specific, where the groups are
classified by sector (ITG Industry Classification based on FTSE),
market, and addv. Cut-offs are parameters used to define peer
groups--stocks that are grouped together for specific indicators.
For example, all stocks that are in the information technology
sector and traded on NYSE and have an Average Daily Dollar Volume
(ADDV) bigger than X can be grouped together.
Relative Volume
[0080] Relative volume = Vol .tau. V .tau. , ##EQU00007##
where Vol.sub..tau. is today's actual trading volume from open to
.tau., today's actual trading volume in the period (.tau.-5 min,
.tau.) and V.tau. is the historical average volume of the same time
period within a day.
[0081] Relative volume is analogous to relative volatility.
Relative volume can be calculated with the following data for each
stock: prior day's closing price q, 21-days median dollar volume
(addv) DV. Analogously to ACE, the 21-day median share volume can
be defined as V=DV/q
[0082] Stock-specified and aggregated 30-minute (bin) volume
distribution (.PSI..sub.j) can be retrieved or derived.
[0083] The real-time data includes the trade sizes of all
semi-valid trades from open to .tau. (from .tau.-5 min to .tau.)
or, alternatively, the cumulative (semi-valid) trading volume from
open to .tau. (from open to .tau.) on a minute (or a few seconds)
basis.
[0084] Assume that .tau. is in bin I and .DELTA..tau. minutes after
the end of bin i-1. We define the historical cumulative trading
volume from open to .tau. as
V .tau. = ( k = 1 i - 1 .psi. k + .DELTA. .tau. 30 .psi. i ) V ,
##EQU00008##
from .tau.-5 min to .tau. as
V .tau. = { 5 30 * .psi. t * V , .DELTA. .tau. 5 min ( .DELTA.
.tau. 1 .psi. i - 1 + .DELTA. .tau. 1 .psi. i ) V 30 , otherwise ,
##EQU00009##
from .DELTA..tau..sub.1 and .DELTA..tau..sub.2 is the tem spent in
bin i-1 and i, respectively. In particular,
.DELTA..tau..sub.1+.DELTA..sub.2=5 min
[0085] Note that empirical distributions of relatively illiquid
stocks may have a substantial weight close to zero (especially for
5-minute relative volume distribution).
Relative Cost
[0086] Relative cost = PI .tau. ACE .tau. , ##EQU00010##
where PI.sub..tau. is the price impact estimate at time t for a
particular order size and ACE.sub..tau. is the ACE estimate for
executing the same order size in the bin corresponding to
time.sub..tau..
Price Impact Model
[0087] Price impact estimates for a particular time and order size
can be derived from the formula: Price Impact=Spread
Component+Liquid Demand Component, where
Spread Component = Max ( Spread c 1 2 , 0.35 * Spread ) , and
##EQU00011## Liquidity Demand Component = C 2 * ( Order Size -
Depth Volume 30 min ) C 3 * Volatility 30 min C 4 .
##EQU00011.2##
If the Order Size is less than the Depth, there is no PI
forecasting.
[0088] Real-time information required for forecast includes: [0089]
Spread--Most recent Bid-Ask spread in cents, [0090] Order
size--Order size in round lots with tolerable Fractional number
(Trim the original order size to 50,000 shares if it's more than
50,000 for robustness.) [0091] Depth--Ask Size--For Buy Orders
(Round lot), Bid Size--For Sell Orders (Round lot)--, Volume30min--
[0092] MAX (Total share volume in the past 30 minutes,
LowerThreshold); [0093] If after 10:00 am:
LowerThreshold=ADV*(Pct1*T1+Pct2*T2)/3); [0094] If before 10:00 am:
LowerThreshold=ADV*(Pct2*T2)/3); [0095] where [0096] T2=
1/30*Minutes in the current 30-min bin and T1=1-T2 [0097] Pct1 and
Pct2, average volume profiles of previous and current 30-minute
bins. [0098] Volatility30 min--Difference in dollar between highest
and lowest of ASK prices for BUY orders and BID price for SELL
orders in the past 30 minutes, with bounds (0.02, BID/20) (Note
that 0.02 is used for market with available quote).
[0099] In addition to the real-time feed, the model requires the
parameter estimates of C.sub.1, . . . , C.sub.4 are calculated
based on the combination of market ("UN" and "UQ") and two market
cap levels (Lower and Upper Capital threshold). Altogether there
are four models, all with the same function specification, that are
fitted for each of the four sub-samples. For the model, stocks that
traded primarily on the "US" market uses the same parameters which
are associated with the "UN" market and stocks that traded
primarily on the "UR" market uses the same parameters as that of
stocks primarily traded on the "UQ" market.
[0100] Volume30min can be obtained as snapshot of intra-day market
consideration and is inaccessible for the early trading before
10:00 am. To solve this problem, the scaling rules set up as below
are adopted:
[0101] For orders before 9:45 pm: Volume30min=Volume from
open+(T1/30)*Empirical Volume30min before 10:00 am
[0102] For orders after 9:45 pm: Volume30min=Volume from
open*(30/T2) before 10:00 pm, where, T2 is the time window from
open to order submission and T1 is the window left from T2.
Volume30min of early trading is also subject to Lower
Threshold=ADV*(Pct*T2/30)/3).
[0103] Since the models are fitted separately, a significant degree
of discontinuity is present when a stock crosses the market cap
boundary. To solve this issue, sudden changes can be smoothed out
at this boundary. Specifically, the boundary value refers
respectively to (lowercapthreshold) for large cap stocks and
(upperercapthreshold) for small cap ones in the deliverable.
[0104] The Large Cap Model is to get prediction
(PI.sub..tau..sup.LargeCapModel) if market cap is 20% more of the
boundary value. The Small Cap Model is used to get prediction
(PI.sub..tau..sup.SmallCapModel) if market cap is 20% less of the
boundary value. Otherwise, the predictions from large and small cap
models can be mixed as
PI .tau. = ( 1.2 * Boundry - MKTCAP ) * ( PI .tau. SmallCapModel )
+ ( MKTCAP - 0.8 * Boundary ) * ( PI .tau. LargeCapModel ) 0.4 *
Boundary ##EQU00012##
[0105] Market cap levels mentioned above are defined through
lowercapthreshold and upperercapthreshold.
[0106] ACE
[0107] Numerous stock data is required to ACE calculations (see,
the '719 application referenced above), including: [0108] primary
exchange, [0109] price impact estimates based on 1 year of tick
data, [0110] price improvement estimates based on execution data,
[0111] intra-day volume, [0112] volatility and spread
distributions, [0113] daily (forward-looking) relative volatility,
and [0114] 21-days median dollar volume (addv), and average
relative spread.
[0115] ACE cost estimates are derived using a one-bin strategy,
i.e. the whole order size for a stock is executed in the bin the
time .tau. belongs to. All ACE calculations use the latest
available ACE files and executables and are applied to the listed
case (i.e., ACE costs should be computed once for the whole list of
stocks rather than for each stock individually).
[0116] Cutoffs are group-specific, where the groups are classified
by market, (forward-looking) volatility and addv.
Tracking Statistics
[0117] Tracking Statistics is defined as
( 1 + r .tau. ) ( 1 + Index .tau. ) - 1 , ##EQU00013##
where r.sub..tau. is the return of stock I over time intervals
.tau.-.DELTA..tau. and .tau., and Index.sub..tau. is the return of
benchmark such as market, sector, industry, and ETF (Exchange
Traded Fund) over the same interval. Two types of tracking
statistics are contemplated: a first is for the five-minute
interval (.DELTA..tau.=300 seconds) and a second is for cumulative
excess return since yesterday's close (.DELTA..tau. is not fixed,
but depends on the time of the last trade during the previous
trading day). Since the real-time returns for market, sector, and
industry are not always available, relevant ETFs can be identified
in order to approximate returns of interest. An exemplary list of
ETF's that can be used is presented in the table below:
TABLE-US-00001 TABLE I preferred pick alternative pick Sector
ticker vendor/advisor ticker vendor/advisor Materials IYM DJ VAW
Vanguard Consumer IYC DJ VCR Vanguard discretionary Consumer XLP
SPDR IYK DJ staples Financials XLF SPDR IYF DJ Healthcare IYH DJ --
-- Industrials XLI SPDR IYJ DJ Information XLK SPDR IYW DJ
technology Resources IGE GSachs -- -- Telecom IYZ DJ -- --
Utilities XLU SPDR IDU DJ
[0118] The excess return could be brought together with an
indicator whether the stock moves the same direction of the index.
Mapping from quantitative statistics into qualitative signals may
be based on separate distributions when the stock moves the same
direction as the index and different direction. Further, the
cutoffs are group-specific where the groups are classified by
market cap and sector.
[0119] Market capitalization groups are "small" (bottom 30% of NYSE
market capitalization), "medium" (middle 40% of NYSE market
capitalization) and "big" (top 30% of NYSE market capitalization).
NYSE market capitalization is recorded as of the first trading day
of the current quarter. Current cutoff values (30% and 70-% NYSE
size percentiles in millions) will be presented as the "lower cap
threshold" and "upper cap threshold" of "medium" size stocks.
[0120] From the above, it will be appreciated that the present
invention provides a system and a method for generating one or more
quantitative and qualitative indicators that aim to point out
abnormalities in a trade list. In one sense, the present invention
is a "tail management" tool that attempts to predict or warn the
traders on abnormal changes/movements that happen in real-time to
certain stocks in the trade list. Analytics are based on relations
between historical and real-time data. In particular, the analytics
are calculated as a ratio or a relative measurement of a real-time
variable (such as volume traded, volatility, relative return
tracking, etc.) related to a first security traded on an exchange
to an estimate of the real-time variable based on historical data.
Both the real-time value of the variable as well as the estimate of
it based on historical data can be dynamically updated throughout
the day. An empirical distribution for the analytic can be
generated based on a peer group for the first security. The peer
group preferably includes a plurality of securities having similar
characteristics to the first security (e.g., sector, exchange,
market capitalization, average daily trading volume, volatility,
price, etc.). The method includes a step of comparing the
calculated ratio or relation to the generated empirical
distribution, and then determining whether or not an abnormal
condition exists based on the comparison. An indicator can be
displayed to a trader as an indication of the abnormal
condition.
[0121] Thus, a number of preferred embodiments have been fully
described above with reference to the drawing figures. Although the
invention has been described based upon these preferred
embodiments, it would be apparent to those of skill in the art that
certain modifications, variations, and alternative constructions
could be made to the described embodiments within the spirit and
scope of the invention. For example, as explained above, numerous
other analytics could be calculated for the purpose of generating
indicators of abnormal trading conditions for a security according
to the present invention.
* * * * *