The present disclosure relates generally to computer-implemented technologies, and in particular to methods and systems for detecting market irregularities.
It may be beneficial for institutions to monitor market behavior of different trading markets, such as equity markets like the New York Stock Exchange (NYSE) and the NASDAQ. For example, it may be beneficial to detect anomalies within a market for a variety of purposes, including personal or institutional trading strategy, institutional monitoring (such as monitoring by the SEC), etc.
Often, certain securities (e.g., stocks, bonds, options, etc.) within a market share common price trends, such that these securities generally experience similar increases and decreases in pricing. For instance, automobile manufacturers, on average, may experience an increase in stock price during periods of economic growth and a decrease during periods of economic contraction. However, other external factors may cause a significant deviation from the market price trend. For example, a company may be associated with a bad press release causing its stock to drop significantly from the market price trend. Another company may run a successful advertising campaign and produce a significant increase in its stock price.
Consistent with disclosed embodiments, systems and methods are provided for detecting market irregularities. For example, disclosed embodiments may allow a user to analyze securities prices and identify correlations between the securities prices to build a network based on these correlations. The systems and methods may analyze securities prices over a predetermined time period (e.g. a trading day), wherein each security price within the predetermined time period is compared to every other security price. If the system detects a correlation between two securities (e.g. their prices changed in a similar manner over the trading day), the system may associate the two securities together and represent the association with an edge in the network. This network may be compared with one or more previously created networks to determine a market irregularity for a particular security (e.g. the stock prices for a first stock behaved differently from similarly situated stock).
In certain embodiments, the system may break the predetermined time period into a plurality of time segments and generate networks for each time segment. This may detect more correlations between securities prices than detected over just the predetermined time period. The networks corresponding to the plurality of time segments may be merged together into a final network. Additionally, the systems and methods may verify the accuracy of the network by removing associations and determining if a correlation value of the network increases or decreases.
Although disclosed embodiments are discussed primarily in the context of detecting market irregularities for securities markets, other applications are contemplated. For example, disclosed embodiments may allow for detection of irregularities with regard to other applications, such as, for example, detection of abnormal cellular behavior in biological systems.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosed embodiments, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate disclosed embodiments and, together with the description, serve to explain the disclosed embodiments.
Reference will now be made in detail to the disclosed embodiments, examples of which are illustrated in the accompanying drawings. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Network 110 may be any type of network configured to provide communications between components of
Processing entity 120 may be a system that processes and detects market irregularities. In some embodiments, processing entity 120 may include one or more computing systems that are located at a central location or may include computing devices that are distributed (locally or remotely).
Securities price provider(s) 130 may include one or more entities associated with one or more securities markets. For example, securities price providers 130 may monitor securities prices for one or more securities within a market and provide securities price information to processing entity 120. For the purposes of this application, a security refers to a tradable asset of any kind. For example, securities may include equity securities such as common stock, debt securities such as banknotes, bonds, and debentures, and/or derivative contracts such as forwards, futures, options, and swaps. Securities price providers 130 may include one or more computing systems to monitor the prices of one or more securities (i.e., securities prices). For example, securities price providers 130 may include a data repository (not shown) that maintains securities price information for each security within one or more markets. In some embodiments, securities price providers 130 may be separate entities and distinct from processing entity 120. However, it is contemplated that securities price providers 130 may include an integrated component of processing entity 120.
User(s) 140 may include one or more customers associated with processing entity 120. Users 140 may request securities price information, including securities price trends depicting market irregularities, from processing entity 120. Additionally, users 140 may communicate with other components of system 100, for example processing entity 120, through network 110 using any suitable computer device, such as a laptop or desktop computer, mobile phone (e.g., smartphone), tablet, and the like. In another embodiment, users 140 may interact directly with processing entity 120 via one or more user interface devices, such as a mouse, keyboard, display, touchscreen, etc., located at processing entity 120 (not shown).
Processor 123 may include one or more known processing devices, such as a microprocessor from the Pentium™ or Xeon™ family manufactured by Intel™, the Turion™ family manufactured by AMD™, or any other type of processor.
Memory 125 may include one or more storage devices configured to store instructions used by processor 123 to perform functions related to disclosed embodiments. For example, memory 125 may be configured with program 126 that, when executed by processor 123, enable processor 123 to perform one or more of the functions described below with regard to
Memory 125 may also be configured with operating system 127 that performs several functions well known in the art when executed by server 122. By way of example, the operating system may be Microsoft Windows™, Unix™, Linux™ Solaris™, or some other operating system. The choice of operating system, and even the use of an operating system, is not critical to any disclosed embodiment.
I/O devices 124 may be one or more device that are configured to allow data to be received and/or transmitted by server 122. I/O devices 122 may include one or more digital and/or analog communication devices that allow server 122 to communicate with other machines and devices.
Server 122 may also be communicatively connected to one or more data repositories 228 as shown in
As shown in step 430, users 140, processing entity 120, and/or another entity may determine the securities for processing. For example, server 122 may determine a subset of securities within a particular market and only process those securities. It is contemplated that the subset may be smaller than the market or the subset may include the entire market. For example, the subset may include the top 100 stocks on the NYSE or all retail participants on the Tokyo Stock Exchange. In other embodiments, the subset may include all stocks in the NASDAQ.
Processing entity 120, as shown in
As shown in
Server 122 may compare the securities prices over each time segment to detect market irregularities, as shown in step 520. It is contemplated that the comparison over each time segments may identify unique correlations not detectable in the other time segments. Alternatively, server 122 may only compare the securities prices over the first predetermined time period. Server 122 may use a variety of techniques to compare the securities prices, including, for example, a graphical cluster analysis incorporating the use of scatter plots to compare one security price to another. Server 122 may detect linear and non-linear correlations between the securities.
In one embodiment, server 122 may detect a securities price trend based on predetermined increment values to compare the securities prices. For example, server 122 may divide each time segment into a predetermined increment value and determine a securities price for each security at each increment. Alternatively, server 122 may receive this information from users 140. In one example, server 122 may determine the increment value to be 2 minutes and may detect the price of each security every 2 minutes within each time segment. Therefore, if the first time segment equals 4.5 hours (i.e. a trading day) and the predetermined increment value equals 2 minutes, server 122 may detect 135 securities price values for a first security over the first time segment. Server 122 may determine a trend for the first security based on the securities price values. For example, server 122 may detect that the price of the first security remained relatively constant for the first portion of the day at value X, increased in value to Y amount at 10:02 a.m., and then remained relatively constant for the remainder of the day. Server 122 may compare this trend for the first security with the trend of every security in the subset. Additionally, server 122 may perform this comparison for every other time segment.
As shown in step 530, based on the comparison of securities price changes, including the comparison of securities price trends, server 122 may determine that a correlation exists between two or more securities. For example, server 122 may determine that the first security trend behaved similarly, including linear and nonlinear patterns, to a second security trend (e.g. they both increased proportionally during the trading day, they both increased from approximately value X to approximately value Y, the second security decreased from approximately value Y to approximately value X, etc.). Server 122 may repeat this step by comparing each security in the subset with every other security in the subset.
In some embodiments, as shown by step 540, server 122 may only determine a correlation exists if the correlation meets a predetermined threshold correlation value. For example, server 122 may assign each association a correlation coefficient based on the Spearman's rank correlation, although one or more other linear or nonlinear correlation calculations may also be used, and compare each correlation coefficient to the predetermined threshold correlation value. In these embodiments, server 122 may assign a correlation coefficient a value between −1 and +1, with positive correlation values corresponding to a positive correlation (e.g., the correlated securities prices change in a similar manner) and negative correlation values corresponding to an inverse correlation (e.g., the correlated securities prices exhibit an inverse relationship to one another). Server 122 may assign the correlation values such that the more similar the association between two securities, the closer the absolute value of the correlation value is to 1, while the less similar the association, the closer the absolute value of the correlation value is to 0. For example, server 122 may assign a correlation coefficient of 0.8 to an association when a first security increased in price by 20% and a second security increased in price by 30% over the same time segment. Likewise, server 122 may assign a correlation coefficient of −0.8 to an association when a first security increased in price by 20% and a second security decreased in price by 30% over the same time segment. Therefore, server 122 may compare the correlation coefficient with the predetermined threshold correlation value, for example 0.75 and only determine the two securities to be correlated if the correlation coefficient meets the predetermined threshold correlation value. In one example, the correlation coefficient of 0.8 is higher than the predetermined threshold correlation value of 0.75 so that server 122 may determine the two securities to be correlated. In certain embodiments, server 122 may determine that two securities are correlated only if they have positive correlation coefficients and may determine that any securities with negative correlation coefficients are not correlated. In other embodiments, server 122 may compare the absolute value of the correlation coefficient to a threshold and may thus include within the network associations between securities having negative correlation coefficients.
As shown in
Server 122 may refine each network and verify each network is accurate (step 620).
As shown in step 630 of
In a second embodiment, server 122 may only include an association between two securities in the final network if the association between the two securities is included in a predetermined number of the multiple networks. Server 122 may determine a threshold association value representing the predetermined number of multiple networks, as shown in step 820. Server 122 may, in one example, determine a threshold association value of 10. Therefore, server 122 may only include the association between the two securities in the final network if the association is included in at least 10 networks of the multiple networks (step 830).
Server 122 may determine irregularities within a securities market by comparing the final network with one or more previously created networks.
As shown in step 920, server 122 may compare the final network with one or more previously created networks over the time interval. In one embodiment, server 122 may have previously created 10,000 networks over the time interval. Server 122 may then compare the final network with each of these 10,000 networks, for example, by comparing the associations within each network. A difference in one or more associations between the final network and the one or more previously created networks may be an indication that a market irregularity exists. For example, a first security may behave differently from the other securities within its subset. Additionally or alternatively, the first security may, for example, behave more similar to a different subset of securities than its own subset. Server 122 may detect these differences in securities associations between the networks (step 930) and generate results to users 140 (step 940). The results may include an indication that a market irregularity exists based on the differences in one or more associations between networks. Users 140 may use the results to help explain market trends and to form a diverse security portfolio.
Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed embodiments disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosed embodiments being indicated by the following claims.