METHOD AND APPARATUS FOR DETERMINING THE LOCATION OF INFORMATION DEPENDING ON THE PROPERTIES OF FINANCIAL DATA
CROSS REFERENCE TO RELATED APPLICATION
This application claims priority from U.S. utility application number 09/538,178 filed March 30, 2000, the disclosure of which is incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates to a method and apparatus to assist in locating information pertaining to a security, where the nature or characteristics of that security are used to determine the location. There are two main aspects of the invention: one aspect of the invention is a system for the logical translation of a security identifier into one or more resource locators; a second aspect of the invention is a system for the filtration of data sets of financial information to yield a data set of interest. The data set or sets of interest, and the resources identified by the resource locators can be displayed for the system user. Using the two aspects of the invention in combination can further enhance the process of locating information of interest.
BACKGROUND OF THE INVENTION
Securities are traded all over the world. In order to attempt to predict the future price of a security, it is common to apply mathematical formulas, graphical
representations or other types of pre-specified conditions and information to financial market data. Investors attempt to predict the future price of a security in order to determine whether to buy or sell the security. It has long been recognized that access to timely information regarding current conditions in the various financial and commodities markets is essential to successful and profitable trading and investment. This is particularly true in today' s fast moving markets where the ability to respond rapidly to changing market conditions within minutes or hours, rather than days, may mean the difference between substantial profits or equally substantial losses.
Today, many investors use the Internet and private networks, to obtain financial information and to obtain information relating to securities. In an effort to determine whether to trade a security, an investor will often refer to one or more Internet Page(s) to find information relating to the security of interest. For conyenience and speed, an investor will typically select one Page, or a few Pages, which have the type of information the investor seeks - and, for each security of interest, will review that Page's information relating to the security.
As an example, an investor can go to one Page for a graph of the price of a given security of interest, for the preceding quarter, plotted with "Bollinger bands" (a well known indicator) . The investor may then go to a different
Page to learn of current news for that security. For a different security, the investor may not be interested in "Bollinger bands," but instead may go to a different Internet Page to obtain a high-low-close chart for the prior year. As used herein, the term Internet Page, or sometimes web Page or just Page, is used to refer to a resource pointed to by a uniform resource locator or URL. Generally, a URL refers to a fully qualified URL, which may include information not only about the location of the resource, but also about the resource behavior. For example, the URL: http://monevcentral.msn.com/scripts/webquote.dll is a fully qualified resource locator. http://moneycentral.msn.com/scripts/webquote.clll?Svmbol=lBM is also a fully qualified URL, however, the portion following the N?" dictates the behavior of the resource - in the above example, the former requests a symbol, while the latter provides certain textual information regarding the security represented by the symbol IBM. Similarly, the URLs: http://monevcentral.msn.com/investor/charts/charting.asp and http://moneycentral.msn.com/investor/charts/chartinq.asp?Svmbol=IBM are fully qualified URLs, the former requesting a symbol, the latter providing charted information for the security represented by the symbol IBM.
There are certainly hundreds, and maybe thousands or tens of thousands of Internet Pages that provide information
relating to a security of interest. Some of these Pages are publicly available, some available by subscription and still others are private, available only to the owner. An investor often uses one or just a few of these Pages to do research on the security due to the complexity in: determining the URL for such Pages, learning what type of information is available at the Pages, understanding the flexibility of the Page to provide the information in the Investor's preferred format, and many other factors .
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method and an apparatus that quickly assists an investor in determining which one or more out of a plurality of securities meet the investor's criteria for scrutiny.
It is another object of the present invention to automatically locate and access current information from a plurality of sources, which information is relevant to a given security.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1A shows a block diagram, which is illustrative of a method for matching pre-selected information to a security. FIGURE IB shows a block diagram, which is illustrative of a method for matching pre-selected information to a security using multiple security selection expressions.
FIGURE 2A shows a block diagram, which is illustrative of a method for filtering information from a database using a security selection expression.
FIGURE 2B shows a block diagram, which is illustrative of a method for filtering information from a database using multiple security selection expressions.
FIGURE 3 shows an illustrative diagram of a display for displaying numerous URL' s returned by apply security selection expressions to a security database. FIGURE 4A shows a diagram illustrative of a method for filtering information from a database by applying a security selection expression, and using this information to match preselected information.
FIGURE 4B shows a diagram illustrative of a display of a first family of URL's.
FIGURE 4C shows a diagram illustrative of a second family of URL's.
DETAILED DESCRIPTION OF THE INVENTION A block diagram of an exemplary system and method for matching pre-selected information to a stock exchange symbol according to one aspect of the present invention is shown in Figure 1A. Although shown in its simplest form, as will be apparent from the description below, the present invention is designed to scale well beyond the single decision depicted here .
The illustrated embodiment includes a security selection expression 110. Security selection expression 110 comprises a logical or mathematical expression that requires, as input, a security symbol 105 and an initial data set 100. In this embodiment, security selection expression 110 performs logical operations on data set 100 based on the input of security symbol 105, and determines whether a particular condition or set of conditions is satisfied.
Security selection expression 110 may be a simple expression derived from a singular condition, such as, for example, P/E ratio over 25; or a complex expression derived from multiple conditions, such as, for example, Listed Exchange = NYSE and Market Capitalization over $200 Billion. Data set 100 comprises a database of information that contains, for example, trade data relating to securities sold on various exchanges, and aggregations or summaries of such data. As an example, for each security represented therein, initial data set 100 may include: the listed exchange; minimum, maximum, open and close prices; total volume; P/E ratio; earnings per share; dividends per share; current dividend yield; currency value; and market capitalization.
Security symbol 105 can be any form of unique identifier used to describe a particular security. In a preferred embodiment of the invention, security symbol 105 is the stock exchange ticker symbol for the particular security. Security symbol 105 may be input to security selection expression 110
automatically (as by a computer program for example via a pipe) , or manually (as by the actions of a user for example at a keyboard) .
Once provided with a security symbol 105, the security selection expression 110 is evaluated, and determines the whether the expression 110 is satisfied based upon the security symbol 105 and the data set 100. The security selection express 110 returns one value in the event it determines that the expression 110 is satisfied (shown as "yes" in the figure) , and a different value if it is determined that the expression 110 is not satisfied (shown as "no" in the figure) .
As depicted in the figure, in the event the security selection express 110 is satisfied, value 115 is returned, whereas in the event the security selection express 110 is not satisfied, a different value 120 is returned. Value 115 may comprise one or more resource locators (such as uniform resource locators, also known as URLs) . Value 115 may alternatively specify another security selection expression, as will be described in more detail below. Similarly, value 120 may comprise one or more resource locators, or specify another security selection expression. In addition, in a preferred embodiment, value 120 may comprise no information, which is depicted as a null set (0) in value 120. It is also possible that value 115 may comprise no information.
Accordingly, in operation, a security symbol 105 is provided to security selection expression 110; the security selection expression 110 is evaluated with respect to security symbol 105 and the data set 100; and value 115 or 120 is returned, consisting of one or more resource locators corresponding to the satisfaction or non-satisfaction of the expression 110. As an illustration, assume: (i) the security selection expression is PRICE greater than 100; (ii) value 115 is http://monevcentral.msn.com/investor/charts/charting.asp?Symbol=vvv (assuming, as above, that value 115 represents a resource that will show a chart relating to a security symbol substituted for "yyy") ; and (iii) value 120 is http://monevcentral.msn.com/scripts/webquote.dll7SymboNzzz (assuming, as above, that this represents a resource that will show textual information relating to a security symbol substituted for
"zzz") . Where the symbol is IBM and IBM is trading at a price greater than 100, a resource locator showing a chart of IBM will be returned - where, however, the symbol is IBM and IBM is trading at 100 or less, a resource locator showing certain textual information relating to IBM will be shown. In a preferred embodiment, the security selection expression 110, and the values 115 and 120 are predetermined, but may be changed at any time by an investor.
Once the present invention is understood, a person of ordinary skill in the art will see the utility of the invention. For example, if one resource is desirable to
analyze securities trading on NASD, while another is desired to analyze securities trading on the NYSE, the security selection expression 110 can easily be modified to accommodate such a selection, and provide the appropriate resource for the desired analysis.
The present invention further contemplates the application of a plurality of security selection expressions, aggregated into a logical matrix.
Turning now to Figure IB, an illustrative block diagram of a system and method for matching pre-selected information to a security symbol using multiple security selection expressions 121, 122, 123, 124, and 125 is shown.
The system depicted in Figure IB includes a security selection expression group 140 operatively connected to data set 100. Security selection expression group 140 comprises a plurality of security selection expressions 121, 122, 123, 124 and 125 ordered to form a matrix. Each security selection expression 121, 122, 123, 124 and 125, as described above, comprises a logical or mathematical expression that requires, as input, a security symbol 105 and an initial data set 100. As shown, security selection expressions 121, 122, 123, 124 and 125 perform logical operations on data set 100 based on the input of security symbol 105, and each determine whether a particular condition or set of conditions is satisfied. Although security symbol 105 and data set 100 are depicted as "connected" to security selection express 121, in
fact, all security selection expressions 121, 122, 123, 124 and 125 in the security selection express group 140, to the extent it would need to determine whether its conditions are satisfied, are provided the security symbol 105 and access to data set 100.
For illustration, examples of the security selection expressions 121, 122, 123, 124 and 125 that may be contained in security selection expression group 140 are:
Expression Condition
SSE 121 Listed Exchange = NASDAQ
SSE 122 Market Capitalization over $200 billion
SSE 123 P/E Ratio under 25
SSE 124 Earnings per Share over 3.5
SSE 125 Net Profit Margin over 8% Although each security selection expression 121, 122, 123, 124 and 125 in the security selection expression group 140 has a simple condition, it is possible, and within the scope of the invention, as discussed above, to permit any security selection express to be a compound expression. When security symbol 105 is provided to security selection expression group 140, the satisfaction of security selection express 121 is determined first, by reference to data set 100. If the condition of security selection expression 121 is satisfied (i.e., affirmative response in the figure) security selection expression 121 returns value 131. Value 131" may comprise one or more resource locators, but in the present example, comprises URL 1, which may be a web Page.
If the condition of security selection expression 121 is not satisfied (i.e., negative response in the figure) security selection expression 121, in essence, directs the security symbol 105 to be input to security selection expression 122 for further analysis. In a preferred embodiment, this is accomplished by returning a resource locator representing security selection expression 122.
The process continues by determining whether security selection expression 122 is satisfied, and as necessary, evaluating subsequent security selection expressions (e.g., 123, and then 125, or 124 and then 125) . Each security selection expression 121, 122, 123, 124 and 125 for which the determination of satisfaction is evaluated, is evaluated by reference to data set 100 and security symbol 105. Example I
The following example is offered for the purpose of illustration. Assume that the security symbol 105 is IBM, which, at all times relevant to this Example I, has the following associated attributes in data set 100:
Listed Exchange NYSE
Market Capitalization $202,342 billion
P/E Ratio 27.2
Earnings per Share $4.12
Net Profit Margin 8.80%
Applying these attributes to the plurality of security selection expressions 121, 122, 123, 124 and 125 contained in security selection expression group 140, value 133, namely URL 3 results. To determine the result, the following occurred:,
• the condition of security selection expression 121, that "Listed Exchange = NASDAQ" was not satisfied; following the matrix of group 140 results next in the evaluation of security selection expression 122; • the condition of security selection express 122,
"Market Capitalization over $200 billion" was satisfied because the market capitalization was $202,342 billion; following the matrix of group 140 results next in the evaluation of security selection expression 123; • the condition of security selection expression 123,
"P/E Ratio under 25" was not satisfied because the P/E ratio is 27.2; following the matrix of group 140 results next in the evaluation of security selection expression 125; and • the condition of security selection expression 125,
"Net Profit Margin over 8%" was satisfied because the net profit is 8.8%; following the matrix of group 140 resulting in the return of value 133, namely URL 3. In a preferred embodiment, the order of the security selection expressions 121, 122, 123, 124 and 125 comprising security selection expression group 140 can be selected and arranged by a user, or can be automatically arranged as, for example, by a computer program. The number or combinations of security selection expressions that may be used is entirely a design choice in carrying out the present invention.
The present invention is intended to permit an investor to continually update and modify both the security selection expressions, the links between security selection expressions within the matrix and the values. This flexibility will allow an investor to grow with such a system, and produce a very complex model of desired results depending entirely upon the investor's decisions. Accordingly, the present invention frees an investor from the need to consider "where" to look each time a security symbol becomes of interest. The present invention also provides an automated method and apparatus for delivering desired results to the user.
It is within the scope of the invention to implement the security selection expressions themselves as web Pages with the security symbol (and other information potentially including data set access information) passed thereto within the URL.
Turning now to Figure 2A, another aspect of the present invention is shown. Although shown in its simplest form, as
0 will be apparent from the description below, the present invention is designed to scale well beyond the single filter depicted here .
In this aspect, a security selection expression 205 is used to filter an initial data set 100 to produce a resulting data set 210. In other words, the application of the security selection expression 205 to the initial data set 100 produces a resulting data set 210 that represents a collection of all
of the records in data set 100 satisfying security selection expression 205. Using the illustration above, where the initial data set 100 comprises trade data relating to securities sold on various exchanges, and aggregations or summaries of such data, it will be appreciated that such data changes frequently.
According to this aspect of the present invention, the filtration of the initial data set 100 may be carried out either periodically, or alternatively, based upon some predetermined external event. Since such a security selection expression 205 is used to filter initial data set 100 on an ongoing basis, at each filtration, it may produce a new resulting data set 210. Thus, according to the invention, two additional data sets are created, an add data set 215 and a drop data set 220. As the names imply, the add data set 215 comprises a representation of the data that has been added to the resulting data set 210 when the most recent changes were made. Similarly, the drop data set 220 includes a representation of the data that has been removed from the resulting data set 210 when the most recent changes were made. In an alternative embodiment, the add data set 215 may comprise the data that has been added, and the drop data set 220 may comprise the data that has been dropped, the last time the security selection expression 205 was applied to the initial data set 100. This differs from the previously described embodiment in that, in this latter embodiment, the
add and drop data sets 215, 220 will be empty where the security selection expression 205 produced identical results when operated a successive, time; whereas, in the former embodiment, the add and drop data sets 215, 220 will contain a representation of the most recent changes that actually occurred. It is within the knowledge of one with ordinary skill in the art to elect between these two design choices in implementing the method or apparatus of the present invention. During operation, security selection expression 205 is applied to data set 100 to filter securities. Security selection expression 205 determines which securities represented in the initial data set 100 satisfy the condition associated with security selection expression 205, and creates resulting data set 210 to correspond to the records satisfying the condition. As described above, the add data set 215 and the drop data set 220 are created from additions to, or deletions from the resulting data set 210, respectfully. It is believed by the inventor to be efficient to produce add and drop data sets 215 and 220 as follows: the resulting data set 210 is saved. in a temporary file, a new resulting data set 210 is created by applying the security selection expression 205 to the initial data set 100; the new resulting data set 210 is then compared to the saved temporary file in order to produce add and drop data sets 215, 220. Techniques for comparing data sets are well known in the art, and are beyond the scope of this invention.
In an embodiment of the invention, for each security represented in the resulting, add and drop data sets 210, 215, 220 respectively, a record exists containing the same information (or much of the information) as was present for that security in the initial data set. In an alternative embodiment, the records contained in the resulting, add and drop data sets 210, 215, 220 respectively, include only a pointer or reference for the security represented. Such a pointer or reference could be, for example, the security symbol. Storing the reference rather than the data itself is more storage efficient, however, as is a well known tradeoff, it will require substantially more database access to obtain the information when it is later needed for processing. Making this implementation dependent design choice is within the knowledge of one with ordinary skill in the art.
Similar to the first aspect of the present invention, this aspect is capable of initiating more than one security selection expression for a given operation. Accordingly, it is within the scope of the present invention to create a matrix of numerous filters and to use some of the output from some of the filters as the input data set for others.
Turning now to Figure 2B, an illustrative block diagram of a method for filtering information from a database using multiple security selection expressions is shown. In a preferred embodiment, filter system 250 comprises security selection expression's 221, 231 and 241 that
successively perform filtering operations on data sets 100,
223 and 234 to produce resulting data set 242.
EXAMPLE II
For illustration, examples of the security selection expressions 221, 231 and 241 that may be contained in filter system 250 are:
Expression Condition
SSE 221 Listed Exchange = NYSE and
Market Capitalization over $100 billion SSE 231 P/E Ratio less than 30 SSE 241 Earnings per Share over 3.0
In the present example, security selection expression 221 filters data set 100 for securities listed on the New York Stock Exchange (NYSE) with a market capitalization over $100 Billion and corresponding records are created in resulting, add and drop data sets 222, 223, 224 respectively.
Assume that upon the filtering, the following securities are added to resulting data set 222: American Telephone and Telegraph Co. (T) , Johnson & Johnson, Inc. (JNJ) , General
Electric Co. (GE) , and International Business Machines (IBM). It follows that these were added to resulting data set 222 because the securities currently satisfied the condition associated with security selection expression 221, but did not satisfy security selection expression 221 the last time security selection expression 221 was applied. Accordingly, add data set 223 is provided with these records as well.
Securities selection expression 231 (P/E Ratio less than 30) is thereafter used to filter add data set 223. The application of security selection expression 231 generates the resulting, add and drop data sets 232, 233 and 234 respectively.
Assume further that T, JNJ and IBM did not satisfy security selection expression 231, but had satisfied the expression 231 the last time it was applied. Thus, in the example, drop data set 234 is provided with these records. Securities selection expression 241 (earnings per share over 3.0) is thereafter used to filter drop data set 234. The application of security selection expression 241 generates the resulting, add and drop data sets 242, 243 and 244 respectively. Finally, assume that only IBM satisfies the condition of securities selection expression 241. Thus, in this example, resulting data set 242 contains only IBM.
In other words, the application of filter system 250, to initial data set 100, using the assumptions of the present example, resulted in data set 242 representing only one security, IBM.
It should be noted that the conditions, number and order of the security selection expressions in filter system 250 can be selected and arranged in any manner, and, in a preferred embodiment are easily modified. In other words, any number or combination of the security selection expressions may be used.
Moreover, any data set within filter system 250, whether a resulting, add or drop data set, may be used as a source of data for subsequent security selection expression applications. It also bears mention that, although the given example produced only one data set of interest, a single filter system may be used to produce multiple data sets that are subsequently used. In addition, as will be apparent to a person of ordinary skill in the art, any later-unused data set, such as, in the example, data sets 224, 233, 243 and 244 need not actually be generated or maintained. In the example, resulting data sets 222 and 232, however, are needed to carry out intermediate steps of providing a basis for subsequent add and drop data sets . This aspect of the present invention is intended to permit an investor to update and modify both the security selection expressions and the links between security selection expressions within the filter system. This flexibility will allow an investor to grow with such a system, and produce a very complex model of desired results depending entirely upon the investor's decisions. Accordingly, the present invention frees an investor from the need to determine "which" security has become of interest. The present invention also provides an automated method and apparatus for delivering such results to the user.
Turning now to Figure 3, an illustrative diagram of a display for displaying a list of security symbols, and one or more URLs is shown.
Display 300 may be any kind of display. In a preferred embodiment, display 300 is a computer monitor, with a browser capable of displaying the resources associated with the resource locators returned by security selection expression group 140 (see Figure IB) . In the illustrated embodiment, display 300 comprises two areas A and B; area A being used for displaying five windowlettes 301, 302, 303, 304 and 305 each displaying a resource associated with a URL, and area B being used for the display of a list of security symbols. (The term windowlette, as used herein, refers to a portion of display 300 that can be used to display a resource associated with a resource locator.) Although area A is illustrated as providing five windowlettes for the display of five URLs, in a preferred embodiment, area A can be used to display any number of windowlettes (each for displaying a resource associated with a resource locator) , limited only by the useful resolution of area A of display 300.
The windowlettes of display 300 are populated with resources relating to one of the symbols listed in area B. In operation, in a preferred embodiment, when an operator selects, for example by "clicking," one of the listed security symbols in area B, that security is passed to a security selection expression group 140 (see Figure IB) . A windowlette
in area A is allocated for each resource locator returned by the security selection express group 140, and area A is redrawn to display the resource in its allocated windowlette. Turning now to Figure 4A, a block diagram of an embodiment incorporating both the selection and filtering aspects of the present invention is shown.
Filter system 250 is operatively connected to data set 100, and, as described above its filtering operation results in the creation of resulting data set 242. Accordingly, resulting data set 242 comprises a reference for each security satisfying the conditions of filter system 250. A reference, preferably a security symbol, for each security represented in data set 242 is displayed in area B of display 300.
Security selection expression group 140 comprises a plurality of security selection expressions ordered to form a matrix. As above, security selection expression group 140 requires, as input, a data set and a security symbol. In the present illustrative example, the data set is initial data set 100, and the security symbol is selected from the set of security symbols displayed in area B of display 300.
Based upon data set 100 and a selected security symbol from display area B of display 300, security selection expression group 140 returns value 420. In a preferred embodiment, the first security symbol displayed in area B of display 300 is "selected" by default for input into security selection expression group 140. The resource or resources
represented by value 420 are thereafter displayed in area A of display 300. To view the results for a different security symbol in the list displayed in area B, the user may, for example, select the desired security symbol from the list of securities displayed.
In the event that value 420 consists of a single resource locator, a single windowlette is allocated in area A, and area A is drawn to display the resource in that windowlette. In the event that value 420 consists of a plurality of resource locators, a windowlette in area A is allocated for each resource locator, and area A is drawn to display each resource in its allocated windowlette .
For the purpose of illustration, Figures 4B and 4C respectively show two examples of area A on display 300. Figure 4B shows area A' consisting of two windowlettes; and Figure 4B shows area A' ' consisting of three windowlettes . Similarly, Figure 3 shows an area A consisting of five windowlettes . The configurations of windowlettes shown for areas A, A' and A' ' are exemplary, and for illustrative purposes only. It will be apparent to one of ordinary skill in the art how to configure the windowlettes based upon the contents of value 420.
As will be apparent to a person of ordinary skill in the art, the list displayed in area B will change over time, as the initial data set 100 changes. For example, if the filter system 250 created a resulting data set 242 consisting of the
ten most active issues on the New York Stock Exchange, the set may change daily. The frequency of operation and/or the external events triggering the operation of filter system 250 will also be apparent to a person of ordinary skill in the art.
While the foregoing describes and illustrates the preferred embodiment of the present invention and suggests certain modifications thereto, those of ordinary skill in the art will recognize that still further changes and modifications may be made therein without departing from the spirit and scope of the invention. Accordingly, the above description should be construed as illustrative and not in a limiting sense, the scope of the invention being defined by the following claims .