DYNAMIC FLOW-THROUGH CONTEXT SWITCHING OF INVESTMENT DATA INTO
MULTIPLE INVESTMENT TOOLS
INVENTORS
Roderick K. V. Mason, Hanford C. Choy, and Akin Dirik
BACKGROUND
FIELD OF INVENTION
The present invention relates generally to investment research automation software, and more particularly, to user interfaces for investment research automation software providing dynamic context switching through multiple investment analysis tools and integrated creation, storage and retrieval of investment recommendations.
BACKGROUND OF INVENTION
Investment management is the practice and methodology of managing portfolios of investments, including securities, bonds, cash, and other types of investments. The techniques and products supporting investment management have evolved over the decades. However, the investment professional still has the same essential problem: to know where to invest, minimize investment risk and to communicate this knowledge to clients, whose money is being invested. In trying to accomplish these tasks, investment professionals face four types of problems:
Lack of time: Professional investment professionals often need to monitor over 100 stocks a day. While they add the most value to their organization by developing investment strategies and analyzing economic patterns and financial conditions, they spend 70% of their time aggregating and monitoring data and only 30% of their time doing the strategic and analytic functions. This has been a problem for decades, but has become considerably more difficult in the last 10 years for the following reasons:
1) Proliferation of Information Delivery Systems: In order to make decisions on all of the stocks and other investments they cover, investment professionals have needed multiple sources of information. No existing solution provides them with all the equity information they need in a single easy-to-use interface. Investment professionals, therefore, are forced to
use multiple, different computer systems at a time - each time manually inputting the ticker symbol for the company they are evaluating.
2) Technology is Driving the Economy: Now that technology is driving 30-40% of the economy's growth, investment organizations are increasingly forced to commit a higher percentage of their portfolio to technology companies in order to beat the market. What makes technology stocks different from other types of stock is the speed at which competitive dynamics change. Today, ten companies can exist and in twelve months two companies may remain. This high level of uncertainty has forced investment professionals to react ever more quickly to any positive or negative news. As analysts become less able to understand the technology and strategic issues of the companies that they invest in, they now rely on number crunching rather than on qualitative issues such as management, strategy, and the like to make investment decisions.
Rather than investing based on understanding, investment professionals invest based on how quickly they can get out of a stock before everyone else does. This is why technology stocks crash or appreciate at the slightest word of good or bad news. Since investment professionals are unable to understand which piece of information is significant, they are now forced to perform as many different types of analysis in as short a space of time as possible, using as much data as possible. In other words, they desire information overload, the only problem is finding the time to screen through all of the information. They are also monitoring as many different types of evaluation criteria as possible. More importantly, as new technologies are created, the need to adapt old evaluation criteria has increased.
3) Increasing Availability of Data: With the advent of the Internet, the proliferation of information from CD-ROMs, satellite, and direct networks, the availability of information has increased dramatically. Technology has transformed financial services to where there is so much information available that investment professionals are overwhelmed by the task of rapidly assimilating pieces of information and determining which are relevant and actionable.
4) Inflexible Products: Investment professionals typically use a workflow that includes monitoring financial conditions, generating investment strategies, analyzing and researching these strategies and forecasting their effect, and then documenting their recommendations. Because previous solutions were primarily designed for traders, investment professionals have been unable to use these systems in a way that easily adapt to daily work flow. To deal with this
problem they have been forced to use a combination of different systems, become proficient after years of practice but remain locked into analytical frameworks that are rapidly becoming antiquated.
Investment professionals deal with their situation by being extremely focused and often ignoring everything except the task immediately in front of them. In addition, they employ staff to review, assemble, and compile financial and statistical information for their review. Previous technical solutions have been inadequate because they did not provide an integrated approach to both the data the investment professional needs and the products he must deliver, are hard to use, and have limited sources of information. Previous solutions also wasted the investment professional's time because they were not set up to fit with the investment professional's workflow.
Need to Deliver Consistent Returns: Because of the increase of funds being put into the stock market by 40 IK plans and wealthy individuals, investment management firms have become more accountable to individual investors who have shorter investment horizons that traditional institutional investors (pension funds, endowments, etc.) and far more likely to switch firms if performance is below the benchmark they are measured against. Current systems do not enhance the investment professional's ability to document investment decisions in a way that can be easily retrieved and analyzed in conjunction with current information. At best, investment professionals currently write investment reports and file these reports in word processing systems or paper based storage.
Accordingly, it is desirable to provide an improved investment research software product that reduces the time necessary to review investment information, adapts to the investment professional's workflow, and provides facilities for documentation of investment decisions in the context of investment data.
SUMMARY OF THE INVENTION
The present invention provides an investment research software product with a user interface and software architecture that provides integrated access to multiple, disparate sources of investment related data for various classes of financial instruments, enables the investment professional to select arbitrary ones of the classes or financial instruments to form a context that is dynamically propagated to various investment tools. Each investment tool processes and
outputs certain types of investment data; for example there are investment tools for news data, real time pricing data, historical pricing data, corporate data, and so forth. These investment tools responsively display investment information defined by the received context in pre- configured templates, requesting or retrieving such information as appropriate to both the context, that is specific to the particularly financial instruments defining the context, and to each investment tool, that is specific to the types or forms of data that each investment tool is designed to process and output. In the present invention, this ability is called flow-through context switching. This enables the investment professional to rapidly switch contexts and have the data defined by the new context displayed in the respective investment tools. As a result, the investment professional can quickly analyze a large variety of market information, whether of particular securities, markets, exchanges, indexes, sectors, industries, or portfolios using various predefined templates merely by point-and-click navigation and selection. The investment professional does not have to specially access different computer systems, databases, tools and the like, each time there is change in the focus of interest, e.g. from a security to a portfolio, or to change the investment tool being used, e.g. from a real time quote tool to an earnings estimate tool.
The investment research software product uses as data sources real time and historical security prices, corporate financial information, such as securities filings, real time and historical news information, earning estimates, analyst's reports, and analyst's notes. These various data sources are all immediately available to supply the underlying data of a user selected context to the investment tools. In addition, the investment research software product integrates as part of its data sources an investment firm's own portfolio accounting system which stores portfolio information of the firm's portfolios and clients, but which conventionally are not integrated online with investment research tools. The portfolios of the portfolio accounting system are available as domains for user selection. In this fashion, the investment professional can transparently combine domains that include external financial instruments with internally construct portfolios to create a context, and then have the context propagates to the investment tools for analysis. For example, by selecting a domain including both an internal portfolio and various external market indices, the investment professional can quickly then flow that context into graphical or other investment tools to comparatively review the portfolio's performance.
The investment research software product of the present invention further integrates as part of its data sources an archived, collaborative collection of investment recommendations and research data. When the investment professional makes an investment recommendation, the investment research software product can capture the entirety of the context and data of the investment tools being used at the time the investment recommendation is made, and combine that with other information and data used to support the investment recommendation. In this manner, the investment professional can document his investment decisions and recommendations, using the precise data that supports such decisions. The archived nature of these recommendations then allows them to be recalled subsequently to re-establish the context from which the recommendation was made, and propagate such context into a variety of investment tools.
The ability to rapidly switch contexts into the investment tools, the ability of the investment tools to have user-configurable templates for presenting investment information, the integration of multiple sources of data, and the integrated archiving of investment recommendations, variously allow the investment research software product to be customized to the individual workflow of the investment professional. In particular, the user interface and software architecture enable the investment professional to establish collections of investment tools templates particular to different tasks of monitoring market conditions, generating new investment ideas, researching and analyzing these ideas, forecasting results, and documenting and reporting investment recommendations. Further, the user interface provides a consistent mechanism for manipulating data through these different tasks.
In a preferred embodiment of the investment research software product, the user selection of domains and financial instruments occurs in the user interface of one or more navigators. Each navigator displays a hierarchical list of domains at various level of hierarchy. In a preferred embodiment, a markets navigator displays a list of markets, exchanges, indices, industries, and sectors from which the user can select one or more domains to create a context. In the preferred embodiment, a portfolio navigator displays a list of portfolios, including actual, model, and watch list portfolios. The actual portfolios are derived from portfolio holdings data in a portfolio accounting system, thus seamlessly integrating external financial domains (e.g. markets) with internal financial domains. The user can select one or more portfolios in this navigator. A preferred securities navigator is responsive to the markets and portfolios navigator,
and lists those securities (or other financial instruments) that are contained within the domains available in these navigators, allowing further selection to augment and create the context. A preferred internal research navigator lists research memorandum and investment recommendations, again fully integrating the internal information with external information. These navigators communicate with the various active investment tools to supply the context corresponding the user selected domain(s). The context identifies specific financial instruments, but not the particular data items to be obtain. For example, a selection of a financial security (e.g. "IBM") creates a context representing this security, but not the specifics of data, such as its closing price or trading volume. Rather, upon receiving the context from the navigators, the investment tools obtain investment data defined by both the context and the type of data particular to each investment tool. Thus, a real time quotes tool would receive and display current quote information for the specific security while a news tool would receive and display news information for the specific security.
BRIEF DESCRIPTION OF THE DRAWINGS
An embodiment of the present invention may be understood and described by reference to the following figures, which include:
Fig. 1 is an illustration of the user interface of the investment research software product of the present invention, showing the markets navigator. Fig. 2 is another illustration of the user interface of the investment research software product, showing the portfolio navigator.
Fig. 3 illustrates the user interface of the news tool.
Fig. 4a illustrates the user interface of the quotes tool in an overview format; Fig. 4b illustrates the user interface of the quotes tool in the detail format. Fig. 5 illustrates the user interface of graph tool, for several sample graphs.
Fig. 6 illustrates a user interface of the earnings estimate tool, for a sample earnings estimate and analyst's notes.
Fig. 7 illustrates the user interface of the reports tool for a sample report. Fig. 8 illustrates the user interface of the summary tool for a sample security summary view.
Fig. 9 illustrates the user interface of the summary tool for a sample industry/sector summary view.
Fig. 10 illustrates the user interface of the summary tool for a sample portfolio summary view. Fig. 11 illustrates the user interface of the alerts tool for sample alerts.
Fig. 12 illustrates a spreadsheet from the spreadsheet tool.
Fig. 13 illustrates a system architecture for use with the present invention.
Fig. 14 illustrates flow-through context switching in a typical workflow for monitoring the market. Fig. 15 schematically illustrates the flow-through context switching during research and analysis screening.
Fig. 16 schematically illustrates the flow-through context switching using the internal research navigator.
Fig. 17 schematically illustrates the flow-through context switching as part of the recommendations process.
Fig. 18 illustrates the user interface for making an investment recommendation.
Fig. 19 illustrates the overall steps of the reporting process.
FUNCTIONAL OVERVIEW
The present invention provides an information synthesis, decision-support, and archival system for investment professionals and research analysts, providing features of integrated access and manipulation of multiple data sources, including external investment data and internal portfolio accounting data, and archiving and documentation of investment decision making.
The typical user is an investment professional, for example an investment manager, research analyst, or portfolio manager, who benefits from a menu-driven, highly intuitive graphical interface that can be customized at any time to reflect the user's workflow and changing needs.
Users can easily customize the user interface of the present invention to reflect their workflow and information needs. In particular, the investment professional may define a variety of different data contexts of investment data, and different investment tool templates (which each represent different analytical evaluation frameworks), to facilitate rapid selection of investment data to be analyzed or investment tools to be used for analysis. This feature saves time and provides a standard frame of reference for comparative analysis of various different securities, markets, portfolios, and the like.
The user has access to real-time, delayed, and historical securities information, both quantitative and qualitative. This information includes analyst reports, earnings estimates, news, real-time and historical pricing, and fundamental data. This information is integrated with portfolio accounting system data and archived investment recommendations and analysis, thereby providing the user with a complete picture of the investment portfolios being managed — with current performance, news, pricing, earnings, and analysis all immediately available.
The present invention supports three basic functions:
1. Information access and screening;
2. Views of the same information in different forms and contexts; and
3. The archival and sharing of all investment decisions and actions. 4. The recognition and notification of significant events.
Such features allow the user to better understand the significance of data and establish relationship between them in order to make rapid value added investment decision. Information Access and Screening & Store and Archive Investment Decisions In all cases a decision to buy or sell a security, commit a given industry or sector, and/or make portfolio allocations is a result of thorough research and its analysis. Over a period of time, an investment professional will re-evaluate his decisions by comparing the current conditions (financial, management, competitive position) of a company, industry, sector, or portfolio to past conditions. This evaluation is used to identify trends and determine if his expectations were met. To effectively do this, the investment professional should be able to easily reconstruct his past analyses to understand the reasoning behind his investment decision. This task is complicated by the fact that an investment professional is tracking more than 100 securities at a time.
The present invention's ability to store and archive recommendations is based on a set of features that facilitate the reconstruction of past decision-making analyses. The features allow portfolio managers to rigorously test and refine their investment decision-making rapidly and effectively.
View the Same Information in different forms and contexts
The present invention allows the user to better understand the significance of data under different conditions, and utilize it to make better decisions. The ability to take different forms of information and establish the relationships between them and act on it is fundamental to a investment professional's job.
The present invention allows portfolio managers and research analysts to obtain data and make investment decisions through total access to information in different forms and contexts. It is designed to include two navigators, each with several views or functions to help the user make investment decisions.
OVERVIEW OF USER INTERFACE
Referring now to Fig. 1, there is shown an illustration of the user interface of the investment research software product in accordance with the present invention. The user interface 100 includes two basic portions: navigators 102, and investment tools 122. (In this disclosure, reference numbers without letter subscripts are references to items generally, and references with letter subscripts are to specific items). The navigators 102 include domain
navigators 102a. 102b, and a child navigator 102c. The domain navigators include a markets navigator 102a and a portfolio navigator 102b, and an internal research navigator 102d (shown in Fig. 18). Each navigator 102 provides a hierarchical listing of financial instruments (or other investment related data) at various levels of categorization. In the embodiment described herein, the financial instruments are various types of securities or groupings of securities. However, the present invention and the navigators 102 may be used with other types of financial instruments including bonds, commodities, stock options, insurance products, derivatives, currencies, real estate investment trust, and futures (and their various respective markets, exchanges, or other categorization/distribution mechanisms). In the illustrated embodiment, the markets navigator 102a lists securities grouped by stock exchanges, indices, industries, and sectors. Fig. 1 illustrates the user interface with the user selection of the markets navigator 102a. The portfolio navigator 102b lists securities in user-configured portfolios, which can reflect actual portfolios, model portfolios, and watch lists. Fig. 2 illustrates the user interface with the selection of the portfolio navigator 102b. A set of securities at a particular level in the hierarchical list is a domain 103. Thus, in the markets navigator 102a, the S&P 500 (an index) is a domain 103, and the NYSE is another domain 103. Domains may have overlapping sets of securities within them. In the portfolio navigator 102b, for example, "Large Cap" is a domain, as is a particular fund, such as "Hercules Value Fund." In the securities navigator 102c, "Basic Materials" (an industry) is a domain 103, as is "Banks" (a sector). The securities navigator 102c is a child of the markets or portfolio navigator 102, so that the securities navigator 102c lists only securities that are within a selected domain in the active markets or portfolio navigator 102.
These navigators 102 allow the user to select one or more domains to establish a data context for propagating data to the investment tools 122. A context is a collection of one or more securities, markets, indices, or portfolios defined by a number of user selected domain(s), whether in a single navigator, or in several navigators at one time, and for which there is available financial data. The user may select any domain(s) at any level, such as selecting an exchange in the markets navigator 102a, or a combination of an index and a security (e.g. S&P 500 and "IBM" stock) to form a single data context. Any number of domains at various levels in the navigators 102 may be selected to form a data context. For example, a data context may comprise the NYSE (a market), IBM (a security), S&P 500 (an index) together. Creation of a
data context only defines the particular securities, and the like, for which various investment tools 122 will display relevant data pertaining to the context. The data itself which is displayed in the investment tools 122 is dynamically retrieved as needed by the investment tools 122 in response to a received context from the navigators 102. The investment tools 122 provide different modes for analyzing investment data regarding any selected domain or security. Each investment tool 122 preferably provides a view window for displaying its data, a setup dialog or wizard for configuring templates that are used to display data in the view window, and where appropriate an editor for editing the configuration of stored templates. Each investment tool 122 further includes a drop down menu 127 (or similar mechanism) for invoking an existing template. When a template for an investment tool 122 is invoked, it displays investment data corresponding to the currently selected domaιn(s) in the navigators 102. Thus, the navigator 102, in conjunction with the investment tools 122, cooperate to provide the flow-through context switching of the present invention. The user may activate or select an investment tool 122 for viewing by selecting a representative icon 105, each of which invokes an appropriate investment tool 122, as indicated by its name (i.e. the "Quotes" icon 105 invokes the quotes tool , the "E.E" icon 105 invokes the earnings estimate tool , and so forth).
For example, in Fig. 1, the selected domain 104 includes the security "JPM." An earnings estimate tool 122d reflects this context, and shows the earnings estimates, consensus estimates, and analyst notes for this company. Likewise, a news tool 122a shows news headlines also for this company. Finally, a graph tool 122c shows the percentage price change in the stock price for the company. Selection of a different security would result in these same tools showing different respective earnings estimates, news, and graphs, for the newly selected security or securities. Similarly, Fig. 2 shows the selection of the Hercules Value Fund as the selected domain
104 in the portfolio navigator 102b, and the resulting context causes a quotes tool 122b to show real time quote data for all of the securities in this fund, while a different template of the graph tool 122c shows the relative performance of the fund with respect to the S&P 500.
Each investment tool 122 allows the user to predefine a number of templates, and then selectively use different templates for different purposes or at different times. The "new" button in an investment tool 122 invokes the setup dialog for establishing a new template for that
particular investment tool 122. The "delete" button in an investment tool 122 deletes a current displayed template. The combo box displays a drop-down list of previously configured templates from which the user can select (and flow the current context into), and the "view" button updates the currently displayed template of the investment tool 122 with the data for the context corresponding to the currently selected domain, by displaying the data in the view window of the tool.
Generally, the investment tools 122 include the following:
News Tool
The news tool 122a allows the user to select news that is to be viewed on a daily (or other peπodic) basis. The user can select articles from general news, trade journals, economic data, corporate actions, earnings surprises, and analysts' notes. The user can obtain the articles based on a keyword search, and also filtered by index, exchange, sector, industry, portfolio and security. Fig. 3 illustrates the news tool 122a by itself, with additional features.
Default preferences for selecting and viewing news articles are determined through a template setup function opened by the view button. A new setup dialog box (not shown) determines which data sources will provide the articles that the user can later review through the view window of the news tool 122a. Among the properties the user can set are:
• News source (news services, newspapers, financial data vendors, and individual sources). The time peπod used in selecting the articles. • The keywords used to locate articles.
• The information to be displayed in the news tool 122a. such as the title, the source, the article length m words, and its date and time of publication.
Once the user has defined the news properties, they can save the properties as a template. Any number of templates can be created. There are three types of news available to the user: real-time news, penodical news, and corporate actions.
• Real-Time News: Real-time news articles come over the ticker feed and contain articles about specific secuπties They usually contain a newswire time, headline and body.
• Subscπption News: Standard peπodicals and publications may be searched peπodically for pertinent articles Articles may be about a secuπty or an industry, sector, exchange, or index.
• Corporate Actions: Corporate Action articles are specific to individual securities and allow the user to easily keep track of the corporate actions affecting securities in the user portfolios. For example, the user can find out what new issues, stock splits, or changes in ratings have occurred. The display of Corporate Actions articles is determined during a template setup process in which the type of information that is to be displayed is defined. As with standard news, other criteria (such as the securities and portfolios on which reporting is to take place) may also be specified during setup. The functions of the news tool 122a are generally as follows: 1. List articles according to user specified context. 2. Filter articles for user given a set of keywords or criteria. This feature is accessed via the find button.
3. Allow the user to specify an alert given the receipt of an article meeting contextual and filter criteria. This feature is accessed via the alert button.
4. Allow the user to cull pertinent information from an article and archive that article in the User Archive. This feature is accessed via the archive button.
5. Allow the user to access an article viewer in which s/he reads the articles.
6. Allow user to save articles into a briefcase or folder for later retrieval. This feature is accessed via the keep button.
7. Show which articles have been read or accessed before and which have not. 8. Allow the user to select the news sources, and the select and order columns for a template (selectable columns include title, date, time, news source, length, keyword matches). This feature is accessed via the show properties button.
The news tool 122a response to the context generated by the navigator 102 is as follows:
Quotes Tool
The quotes tool 122b displays real time price quotes on a set of domains, including specific securities, markets, exchanges, or indices. The quotes tool 122b is a top down tool, which allows the user to quickly see what is going on in a pre-specified set of stocks. An investment professional will typically use a quotes view to monitor all of the pπce quotes for a given portfolio and watch lists simultaneously. From this top-down view the user can see any significant pπce changes and make certain that s he understands the reason for the price move.
The quotes tool provides three different basic view formats, which may be configured by the user into view templates: Two overview formats and one detail view format. The two different overview formats are:
• The columnar format, which presents a user defined number of columns of information on the screen about each stock and presents the stocks as rows in the table. Fig. 4a illustrates this format.
• The Free Form format, which provides information about a user defined set of data items of each stock. Fig. 2 illustrates an example of this format.
The overview formats also show market summary information: selected market indicators and indices.
The currently active template determines for the overview formats:
• What security data items are displayed • The exchanges used for the displayed market summary information
• What indices are displayed
• The order of the security data items / columns
• The type of grouping of the displayed securities
• The order of the securities in the groups • The color that indicates trends for various security data items
The free form format is what portfolio managers generally think of when they think of a stock quote but the columnar format allows more data to be displayed.
In the detail format, the data of only one security is displayed with selected data items from real-time, earnings estimates, historical pricing and fundamental data sources. Fig. 4b illustrates an example of this format, with current bid and ask prices, 52-week high and low, and dividend yield data. The detail view appears when the user either doubles clicks on a given ticker symbol, or presses the detail button in one of the quotes overviews with any security selected. The displayed security data is logically grouped according to the settings for the detail view, defined in the current template. Within the quotes detail view the user has the option to go back to the quotes overview by pressing the appropriate button in this view.
The currently active template determines for the quote detail formats:
• What security data items are displayed
• The order of the security data items on the screen (top to bottom, left to right)
• The logical grouping of the security data items • The color that indicates trends for various security data items
The appearance and the information to be displayed by these views can be set by the user and stored in templates. The user can activate any template at any time in the quotes tool, with the effect of an immediate change of the view appearance. Fig. 2 illustrates a view of the quotes tool, showing how it responds to the user selected domain "Harvest Fund" m the portfolio navigator 102b.
The functions of the quotes tool are generally as follows:
1 Show real time data for a set of secuπties in two different formats.
2. Show real-time detail information for a particular secuπty.
3. Provide ways to define the information to be displayed in the overview formats. 4 Allow the user to define the Selected Quotes detail information to be displayed.
5. Show news for a secuπty.
6. Allow the user to view a selected data item of any secuπty as a graph over the time. 7 Show market summary information. Indices and market indicators.
The quotes tool 122b response to the context generated by the navigator 102 is as follows:
Graph Tool
This tool allows the user to view quantitative data items (i.e. Earnings Estimates, Historical Financial, Real Time and Historical Pricing) in a graphical form. Investment professionals and research analysts use graphing to identify relationships or trends in data that would otherwise be difficult to see in a table format. Like the other investment tools 122, the graph tool 122c allows the user to define a number of different templates (i.e. different graph formats) which can be selectively used to display data for the current context.
Default preferences for the format of a graph are determined through a Setup function opened by the Setup command button. The Graph Setup dialog box determines which sources will provide the data that the user can later graph with the graph tool 122c. Once the user has defined a default graph's properties, they can save the properties as a template. Any number of
templates can be created. A graph editor also allows the user to edit the format of any existing graph.
The graph tool 122c displays the data for (a) the context specified in the navigator 102 and (b) the data items specified in the graph editor or in graph set-up. In other words, a navigator 102 defines the context for displaying data, and the graph editor/setup defines the format and attributes of the data being graphed for the context. Fig. 5 illustrates this feature, showing two graph views, one for "S&P 500" price change in the last year, and one for "CMB, CCI, JPM". In the markets navigator 102a, the SPX is selected, thus providing the context for the first graph; in the securities navigator 102c, the three securities CMB, CCI, and JPM are selected, thus providing the context for the second graph.
Users will be able to create line or bar graphs with three or more data types (e.g. price, earning estimates, sales, P E Ratio). In most cases, each data type is coming from a unique data-source. To properly implement this feature the following issues are resolved:
1. The availability of data across multiple data-types (databases) does not overlap. To understand the correlation between different types of information, the investment professional will create graphs to compare different data-types over a period of time. To be usable, data for each data type must overlap across a given date range. If not, the value in analyzing such a graph is useless.
For instance, a user wishes to create a line graph that compares the price vs. sales vs. earnings estimates for IBM over a 15-year period. When the user creates the graphs she realizes that over the specified date range the data types overlap for only 5 years. Since 5 years overlap is the only valuable date range of the graph, she would therefore want to eliminate data from the graph where there is no overlap.
To address the issue, the graph tool 122c includes a magnify feature that allows the user to display only the date range where all of the desired different data types overlap. That is, the magnify feature processes all of different data types selected for the graph, and includes in the graph only data from the multiple sources which have the largest common set of dates. If in the rare instance there are two discontinuous areas of overlap, the user will get a dialog box asking her to select the desired date range. 2. Displaying data types with values that differ by a factor of more than 10:
The numerical value of different data types may differ substantially. For instance, earning estimate may be S 1.25, while sales are $2 billion. The utility of such graphs is to compare relative changes, not absolute changes, yet, with different data types and extreme variations in value, a comparative graph would be useless using only raw values. Dual Y-axis graphs provide a limited solution that works only where the data types fall into one of two value ranges; if 3 or more data types with different value scales need to be commonly graphed (e.g. earning per share in the SI -10 range; revenues in the S10M-100M range, and share price in the SI 00-200 range), then dual Y-axis graphs are insufficient.
Accordingly, to make these types of graphs usable the scale of the various data types is readjusted using one of following two schemes, as selected by the user:
1. Scale data streams into a common percentage change scale: In this scheme, the user chooses to see each of the data streams in terms of its relative percentage change over time, instead of its raw, unsealed values. In this fashion, the user can view the relative percentage changes of each of the data streams over time. For this scheme the scaling is as follows: where:
Y1 {t) is the raw data item for data stream i at time t; and
D,
(t) is the scaled data item for data stream i at time t; then:
Thus, each data stream Y, is scaled with the initial value Y, of the data stream at t=0.
2. Scale the data streams to a base power of 10: In this scheme, each data stream is scaled to show is relative changes over time with respect to base ten power. For example, a data stream that ranges from S2M at t=0 to $10M at t=10 is scaled relative to 1 ,000,000, whereas in the same graph a data stream that ranges from 5,000 to 8,000 (e.g. the DJIA) is scaled relative to 1,000. For this scheme: where:
Y,
(t) is the raw data item for data stream / at time t; D,
(t) is the scaled data item for data stream i at time t; and N, = INT(log,
0(Y,
(0))); then:
The graph tool 122c includes the following properties for defining a template.
Date Range: To create a graph the user specifies the date range of the data that is of interest. The maximum date range for any type of data is dependent upon the availability of the data being graphed. Depending on the data being used the user will be able to graph data at the following granularity:
• Year • Day • Week • Quarter
• Month • Hour (for tick by tick real-time pricing) • Minute
Data Type: The user can display different types of data items. If the values (i.e. in millions vs. thousands) for each data type are substantially different the graph scales to display relative performance rather than absolute performance.
Graph Type: The user can specify the type (e.g. bar, line) of graph that they wish. They can assign a graph view with more than one type of graph per data type. For instance a user can specify a graph that shows a stock price as a line graph and the stock's volume as a bar chart. Legend: The user can specify the format of the graph legend and its position.
Title: When creating a graph the user can customize the description, location, and format of the graph title.
Mathematical Functions: The user can apply any number of technical (mean, variance, etc.) and financial functions (IRR, P/E Ratio) to valid data items. Data Items: The data items available to graph vary based on the navigator context. The graph tool 122c responds to the selected navigator domain as follows:
Earnings Estimates Tool
This tool 122d is used to analyze earnings estimates and related data (analyst notes, research reports) of securities, industries, and sectors. It supports an important part of the investment management process. It allows investment professionals to examine the past performance of a security, industry, or sector and analyze the present outlook, and make predictions about future performance.
Fig. 6 illustrates a sample user interface of the earnings estimate tool 122d. Earnings estimates data contains information related to a company's actual quarterly and annual earnings, future earnings expected by brokers and broker consensus, and recommendations on the company's present outlook. The user can compare the estimates and recommendations from different brokers with the consensus to get a better understanding on the general outlook of a security. The earnings estimates and recommendation data provides the user with the information to examine and compare individual expectation versus group expectation versus actual results, allowing the user to make more informed decisions.
In a preferred embodiment, the earnings estimate tool 122d provides five different types of earnings estimates tables. These are:
Table 4
Table Type Description
Broker estimates Contains estimates of brokers.
Consensus estimates Contains fields (in addition to broker estimates) describing brokerage estimates incorporated in a consensus estimate.
Actual earnings Relationship of estimates to actual earnings allows a buy side analyst to evaluate the accuracy of estimates.
Broker recommendations Broker recommendations and consensus recommendations are similar to earning estimates in that broker recommendations are aggregated into consensus recommendations. Consensus recommendations contain additional fields to describe the distribution of broker recommendations making up an aggregate.
Consensus See (Broker Recommendations). recommendations
Analyst Notes Contains a brief explanation of current earnings estimate forecasts.
Research Reports Contains in-depth analysis on a security, industry or sector.
As with the other tools 122, the earnings estimate tool 122d responds to the selected domain and context in the navigators 102, and displays the earnings estimates of the securities within that context. Table 5 defines the response of the earnings estimate tool to the navigator context:
Table 5
The functions of the earnings estimate tool 122d are generally:
1. Display earning estimate values, notes, research reports, and recommendations by (a) date range, (b) security, (c) broker, (d) analyst, or (e) key word. 2. Display graphs to evaluate earning estimate trends, accuracy of Wall Street Analyst, or a user.
3. Display notes, recommendations, research reports, or historical graphs associated with an earning estimate.
4. Create custom consensus by selecting analysts of choice. 5. Set an alert for earning estimate data, notes, and recommendations.
6. Apply macros to earnings estimate values that can incorporate fundamental and histoπcal pricing feeds.
7. Allow user to attach notes to an earnings estimate view or subview. A sample note is an analyst detail or analyst notes. 8. Allow user to store earnings estimate view or subview.
9. Allow user to compared internal estimates and recommendations to Wall Street estimates and recommendations through the "in-house" broker. The source for "in-house" broker estimates and recommendations are recommendations generated and archived by a customer.
Reports Tool The reports tool 122e is a data aggregation mechanism that is used to bring together differing types of information in a presentation quality form to create reports regarding various investment matters. The reports tool 122e displays the data for (a) the context specified in the navigator 102 and (b) the data items specified in the reports editor or in reports set-up. In other words, a navigator 102 defines the context for displaying data, and the reports editor/setup defines the format and attributes of the data being reported for the context.
A report is used to aggregate and present data at each level of the domains selected in the navigator 102. Examples of reports would be: Recommendation: The result of in depth security analysis. Aggregates a customized set of tool views on a particular security.
Industry Report: The result of in depth industry analysis. Aggregates a customized set of tool views on a particular industry.
Benchmark Analysis: Performance attribution and characteristics of an index. The investment professional is typically competing against a benchmark and wants to be able to decompose its performance and valuation.
Portfolio Analysis: Performance attribution and characteristics of a portfolio. For use in client presentations, explaining portfolio performance and strategy to clients. Customizable so that the portfolio manager can tailor the report to the particular customer's concerns. Ad hoc Company Reports: Provide templates including (a) a short tabular report of a company's ten year financial history on an absolute and common size basis, with key financial and valuation ratios, and (b) a company description report that includes a business description, current price, valuation, technical, and fundamental information, company executives, headquarters address, phone number, and the like, indices the security is in and the percentage of the index it accounts for, history of stock offerings, valuation and financial ratio summary page, geographic segments, product segments, historic financial statements.
Ad hoc Industry Reports: Provide templates for a tabular report summarizing the financial performance of the industry and the constituent companies over a specified time horizon (less than 10 years). Ad hoc Reports: miscellaneous reports as desired by the user.
Fig. 7 illustrates the formatting features for the reports tool 122e. A report generated by the reports tool 122e can contain four types of information: (1) Header. (2) Text, (3) Graphs, (4) Tables. A report may contain multiple instances of each type of information.
Header - This goes at the top of the report and includes for example, the title, author, date and key information about the security such as price change, trading volume, financial ratios, revenue growth rates, and the like. The user is able to specify what these key fields are. All quantitative fields are available.
Text - This is the write up explaining all the investment hypothesis and the analysts findings. Text templates are available which contain pointers to text such as: business description, latest headline news article, latest analyst note, and the like. All qualitative fields as available.
Graphs - Visual presentation of information on the security which may be of any of the data fields, functionally equivalent to a graph view. The user can use templates available in graph tool 122c for graphs in a report. Tables - These are spreadsheets, which may be custom spreadsheets generated in the investment research software product itself, a forecast or an externally generated spreadsheet. Provides a spreadsheet wizard to construct a table.
Hypertext - Imbedded in each report there can be hypertext which points to specific web pages or other documents stored on the application server, client intranet, in-house database, extranet, or Internet.
Fig. 7 illustrates these four features in the sample report, showing a header with P E, current price, consensus EPS, and so forth, a quote graph, a text statement of reasons to invest, and a spreadsheet.
The reports tool 122e provides the user the ability to create a number of report templates, specifying the format and inclusion of text, graphs, tables, and headers, and their size and location on a page. Generally, the reports tool 122e provides the following functions:
1. Allow user to specify the views that will be in the report.
2. Allow user to drag and drop those views from other parts of the investment research software product. Also, allow user to generate within reports any of the views s/he may have generated in the global views.
3. Allow user the flexibility to position and move the views around in the presentation.
4. Allow user the flexibility to resize each view in the presentation.
5. Allow user formatting options for each type of data and each type of presentation.
6. Allow user to add notes and speaking points to a report.
7. Allow multi-select in navigator 102 in each field to use multiple data sources for report data.
8. Allow user to save as a report or as a template.
9. Allow user to generate a report from a template.
The selected navigator 102 provides the context for the report for the data of the portfolio, index, market, or securities to be included as the data of the report. Table 6 defines the reports tool 122e response to the navigator 102:
Table 6
Alerts Tool
Alerts are a key piece of the monitoring process used by the investment professionals to monitor the state of the markets, securities, and portfolios. Alerts allow the user to set limits on security or portfolio characteristics, of which the user would like to be notified. In particular, the alerts tool 122f allows the investment professional to define alerts specific to changes in the financial performance of a security, industry, sector, or portfolio. The characteristics which a user sets alerts are in most cases the criteria used to select a security (or industry or sector for investment/allocation). Alerts are a shortcut to knowing all the values that the user ideally would know.
For instance, a portfolio manager may say that the growth rate of his portfolio securities is between 10 and 12%. As long as it is between 10 and 12% s/ e is not concerned what the exact number is, but s/he needs to know if it is not between 10 and 12%. Thus, the user may set an alert that notifies her anytime the growth rate (based on a currently received data of earning growth report) falls below the 10% threshold. In this way an alert can be used as a quick way to update knowledge. Passive and Active Alerts
Active alerts are for information that is of critical importance to the user — which the user would like to know immediately. The classic example of an active alert is an alert set on a buy or a sell target price. The user is notified if the price goes below the buy target or goes above the sell target. In the case of an active alert this information interrupts the workflow and flashes an alert notification dialog box. Another active alert may be set to notify the user when the P/E ratio of a security drops above or rise above defined thresholds.
The example of a portfolio manager monitoring the aggregate earnings growth rate of the stock in his/her portfolio would be a passive alert. The portfolio manager does not have to immediately react if the growth rate of his/her portfolio is less than 10% or greater than 12%. It is, however, valuable information that the portfolio manager wishes to take note of. Passive alerts are generally of the informative type, involving some characteristics other than price. The passive alert does not invoke the alert notification dialog.
Each user will define what is an active and what is a passive alert based on how s/he values the information that the alert is set to watch. Threshold and Keyword Alerts
The examples of alerts that have been given so far in this section have been for criteria alerts. Criteria alerts are set on quantitative variables. Keyword alerts are set on words that may occur in headline news or analyst notes. Keyword alerts run on the real-time qualitative feeds. Both keyword and criteria alerts can be either passive or active. Fig. 11 illustrates the alerts tool 122f for viewing the currently defined set of alerts, editing alerts, deleting alerts, and for filtering the displayed list of alerts based on keywords, active or passive status, or their criteria.
Generally, the function of the alerts tool 122f include:
1. List alerts according to specified context. 2. Allow user to select an alert to modify it using an alert setup dialog.
3. Allow user to set-up an alert using an alert wizard according to the questions in the overview.
4. Notify users when an alert has been triggered.
5. Allow user to modify an alert or respond to an alert when the alert is triggered. 6. Allow users to see which alerts have been triggered in the alert view, essential for passive alerts. The response of the alerts tool 122f provides the following response to the navigator context:
Spreadsheet Tool The spreadsheet tool provides a space in which the user can (1) populate spreadsheets with data from the investment research software product, and (2) work on those or other spreadsheets. The user should be able to download any of the data from any of the feeds that are subscribed to. Fig. 12 illustrates a completed spreadsheet.
The spreadsheet tool 122g supports two types of spreadsheets: instant and templates. For the purpose of this discussion, an instant spreadsheet has four phases: (1) design, (2) population, (3) modification, and (4) maintenance. In the design phase the user defines the context for the data, granularity of the data, time horizon, data fields and the layout of the data. One or more of the navigators 102 are used to navigate to and select a domain and define a context for the spreadsheet. For example, a user may define the context of a spreadsheet to include one or more securities and portfolios. The data source, granularity, time horizon, data fields and layout are specified in a spreadsheet wizard. In the design phase the user may specify the data as live or historical. Live data updates within the spreadsheet when it is opened. Historical data can be updated automatically when more current data is available (see publish/subscribe discussion) or manually updated at the user's discretion. In other words, live data is linked to real time sources and historical data is not. Next the spreadsheet is populated with data based on the parameters specified in the design phase. A dialog appears as the investment research software product is downloading the data into the spreadsheet to inform the user that the system is downloading and to indicate how many data items are being downloaded and the cost or "account status" if applicable.
Then the user is able to modify the spreadsheet by adding rows or columns, formatting cells as italic or bolder, adding a data field in an added row, and the like. The modifications are modifications to the design. Whenever the design is modified beyond just the layout, i.e. data field are added or the time horizon is extended, the spreadsheet is repopulated.
After the modification stage the spreadsheet will be saved and then maintained. Maintenance comprises modifications which are made to the spreadsheet after it has been saved. In Fig. 12, modifications are made via selection of various items in drop down menus 109 shown in the settings panel 107. Here, the user can select additional items to include in the rows of the spreadsheet, change the columns with respect to their frequency, change the overall date range of the spreadsheet for the data to be included, or change the source of data. Each modification is propagated into the spreadsheet for the user to see the results immediately. Thus, the user can very easily and repeatedly modify the spreadsheet through these simple controls, without having to duplicate and repeatedly reformat different spreadsheets just to view different selections of row and column data types, as in conventional spreadsheet products.
A template spreadsheet is the design for an instant spreadsheet without a definition of the context which supplies the particular data to be processed. Thus, a spreadsheet can be saved as the particular data which had been downloaded (and formatted) and/or as a template. Generally, the spreadsheet tool 122g provides the following functions: 1. Allows users to download data into spreadsheets.
2. Allows user to specify the data to be downloaded by context, granularity, time horizon, and data fields.
3. Download data with headers - label to identify the data such as "closing price."
4. Allows users to work on the spreadsheets. 5. Allow users to save spreadsheet as either a file or as a template.
6. Allow users to download data either as hard data (e.g. using Microsoft Corp.'s OLE) so that the data automatically updates (live vs. historical data).
7. Allow users to add spreadsheets to the recommendation folder.
8. Allow users to download data from different sources into a single spreadsheet. 9. Allow users to download data from a spreadsheet to another spreadsheet.
10. Allow user to select from different layout options.
1 1. Allow users formatting options - bold, italic, fonts, to visually distinguish data.
12. Show users progress of download.
13. Show users cost of download by data source. 14. Allow users to create spreadsheets from templates.
15. Allow users to create custom data fields, which are functions of existing data fields.
16. Allow users to create custom sets of custom data fields (custom financial statements).
17. Integrate data from footnotes to financial statements.
18. Integrate web-based information agent.
Summary Tool
The summary tool 122h is a generalized tool that enables the user to combine information from the other tools into a single view. The contents of the summary view depend on the user's needs and requirements. The view can consist of many information forms, thereby saving the user from scrolling through, or selecting different items from many different views. The user can build the summary screen from any of the global views.
The summary view contains information that the user can obtain from other views within the portfolio 102b or markets navigator 102a, such as graphs, headline news, earnings estimates, analysts notes, quotes. In the security navigator 102c when a specific security is selected, the summary view may contain information from recommendations from that security. Security Summary
Fig. 8 illustrates a security summary view used to get a snapshot of a company. What exactly that snapshot contains will depend on what the user wants the snapshot for. This example includes a graph of prices for a specific security from the graph tool 122c, a quotes table of prices of various companies from the quotes tool 122b, and news for a specific security from the news tool 122a. Other examples include:
1. An analyst is doing research on a company and wants to call the investor relations contact. The analyst has a security summary template which contains the telephone number of the investor relations contact, a stock price graph, headline news and earnings estimates. The analyst would bring up this screen and refresh himself on the company before calling. 2. A portfolio manager has a security summary template that is used when deciding whether to buy or sell a security. The template includes earnings estimates, and a number of technical graphs which show the way a stock is trading in the market that day. This helps the portfolio manager decide how much of a stock to sell or buy. Industry/Sector Summary Fig. 9 illustrates a sector summary view from a suitably defined template. This summary view includes two views from the news tool 122a (headlines news and corporate
action), the quotes tool 122b. the earnings estimate tool 122d, and the graph tool 122c. The analyst would use the industry or sector summary to get a snapshot of an industry that s/he is covering. The portfolio manager would look at an industry or sector snapshot to see how an industry or sector is performing relative to the market. The analyst is coming from the bottom up and the portfolio manager is coming from the top down. Portfolio Summary
Fig. 10 illustrates a portfolio summary view from a suitably defined template. This summary view includes a quotes table from the quotes tool 122b for a watch list, and a news view from the news tool 122a. As another example, to quickly see key analytics the portfolio manager will use the portfolio summary screen. This could include (1) a graph showing both absolute performance and performance relative to an index, (2) a table of portfolio characteristics: price/book, price to earnings, earnings growth rate, dividend yield, and the like - a detail quote on the portfolio, (3) the top ten holdings and in a portfolio, their weighting in the portfolio and their year to date performance, and (4) headline news on any of the top ten holdings. Generally, the functions of the summary tool include:
1. Show a summary of information according to the format of the portfolio summary template for the selected context.
2. Save different summaries as templates. 3. Differentiate summaries based on context: exchange, index, portfolio, sector, industry, security. Some data is only available for an exchange or a security.
4. Bring up summary template last used in context when user presses summary view the next time.
5. Allow user to setup templates from a summary setup dialog. 6. Allow user to incorporate views from any of the global views into a summary screen.
The summary tool responds to the selected navigator context as follows:
SYSTEM ARCHITECTURE
Referring now to Fig. 13, there is illustrated an overall system architecture 200 for use with the investment research software product in accordance with the present invention. The system 200 includes the investment research software product 220 comprising the navigator 102 and the investment tools 122, as described above, and which executes as a client in a client- server architecture. These are coupled to a publish/subscribe engine 202, a request/reply engine 203, a normalization engine 204, a data feed processor 206, a normalized feed database 210, and an application server 211 which reside on a server. Client and server communicate via TCP/IP over a WAN, LAN, or the internet. These server components are coupled to external data
sources 208 which supply various types of data to the system 200. The flow-through context switching feature of the present invention is supported by the system 200 as follows. The investment research software product 220 executes on a computer including a processor, memory, network interface, display, input and output devices. The investment research software product 220 may be provided to the computer on various computer readable mediums as a computer program product, including such mediums as a CD-ROM, PCMCIA card or other storage devices, or by such mediums as downloading from a host computer system via direct dial connection, direct connection via WAN or satellite, or the internet, such as by file transfer protocol. (Those of skill in the art further appreciate that the navigators 102 and investment tools 122 comprise computer executable code portions that create and manage the various user interface components, and functional features as described above through computer implemented processes.)
The application server 211 is a server to the individual investment tools 122, which tools may execute on multiple different client computers for many different users. The application server 211 maintains information about the active investment tools 122 it is serving on each user's computer.
As noted above, user selection of a domain(s) in the navigator 102 establishes a new data context. As a result, the navigator 102 communicates this new context to the application server 211, and identifies the user's computer. The application server 211 then propagates the appropriate data to the investment tools 122 that it is serving on that client computer. The application server 211 receives this data from the publish/subscribe engine 202 and the request reply engine 203.
The data feed processor 206 reads the data from the disparate data feed sources 208, communicating with each data source 208 as required by the interface specifications of each source, and places a wrapper on the data to identify its data type as the data feed is read. (In the preferred embodiment, there are multiple instances of the data feed processor 206, one for each type of data feed source 208; for convenience, these multiple data feed processors 206 are considered and discussed as a single entity.) These data feed sources include real time data 208 of current stock ticker and market indicators, historical data 208b of historical price information, earnings estimates 208c, news data 208d, company financial data and securities filings 208e,f, and other miscellaneous data related to securities, markets, and the like. Real-time data is
normally disseminated via a WAN or satellite. For example. Standard & Poor's "Comstock" data for exchanges is disseminated via satellite to a S&P server which is the real time data source 208a. The data feed processor 206 reads the real-time pricing data using TCP/IP sockets. News data distributed by Dow Jones is another example of data that is disseminated via satellite. Bulk data can be disseminated using several media types, e.g., tape, CD-ROM, ftp,
WAN. The data feed processor 206 for these bulk feeds contain software adapters that read the media used to deliver the bulk data. For example, historical quote data is typically disseminated via files on a CD-ROM. On the other hand, the data feed processor 206 converses with the SEC's EDGAR database directly via a set of APIs provided by the company data source (such as Disclosure, Inc.) to retrieve EDGAR data.
The normalization engine 204 is used to convert the data that is read by the data feed processor 206 from the different file formats used by the data feed sources 208 into a single common data format. As data records are read from the data sources 208, the data feed processor 206 works in tandem with the normalization engine 204 to normalize (standardize) this data before writing the data into the normalized feed database 210. When financial data has been normalized and stored in the normalized feed database 210, a user can retrieve disparate financial data from the database using a user-specified context, created in one of the navigators 102 as a key to the data.
Normalization is a two-step process. First, there exists a previously defined normalized record structure containing a number of normalized fields. Each normalized field has a defined data type, which is known to the normalization engine 204. A group of normalized fields together may form the normalized schema for a particular type of data, e.g. quotation data, earnings estimate data, or company data, each of which resides in a separate database table(s). For each normalized field there is a defined mapping between the normalized field and the fields of the data records from one or more of the data feed sources. For example, a normalized field for security ticker has a mapping to the appropriate security ticker field used by each of the data feed sources. This mapping may be logical, for example where explicitly typed data is used by the data feed source, or physical (i.e. an offset into the record where a field starts and a length of field), where structured, implicitly typed data is used by a data feed source 208. During operation, the normalization engine 204 identifies a data feed type, e.g., earnings estimates, pricing, news, as it is being received from the data feed processor 206, to obtain the
correct set of mapping relationships between the normalized records and the data feed format, based on the data feed type. The feed type maps to a normalized (standardized) record field naming convention for that type of feed.
As data is read by the data feed processor 206, normalization engine 204 maps incoming record fields for that feed type to normalized fields of the normalized records, using the mappings defined for the data feed type. Data type conversion also occurs before writing the data feed records into the normalized feed database 210.
For example, the normalization engine 204 defines normalized record fields for Earnings
Estimates (EE) feeds. When a new EE feed is brought online, e.g., FirstCall, the normalization engine 204 maps FirstCall EE record fields to EE normalized record fields. Record fields containing the same EE information map to each other, e.g., FirstCall EE CUSIP field (a security identification field) maps to the EE CUSIP field.
Second, record fields that define context for a record are then mapped to a normalized financial entity identification nomenclature. This second step is needed since data feeds can use different naming conventions to identify the same financial entity. More specifically, for each financial entity and its normalized ticker symbol (an exemplary financial entity identification label), there is a set of mappings of keywords and tokens onto the normalized ticker symbol. In this manner, whenever one of mapped keywords or token is found in the data from a particular data feed source 208, the data can be appropriately mapped to the correct financial entity. The keywords or tokens can be variations of a company's name, the names of significant individuals, keywords related to industries, technologies, and the like. These mapping are created as desired by the developer.
As an example, FirstCall Earnings Estimate feed data (208c) contains a ticker symbol field, e.g., "MSFT" for Microsoft. Dow Jones News feed data may also contain a ticker symbol (keyword) in the news header, e.g., "MSFT". Since "MSFT" is the normalized ticker symbol for Microsoft, no mapping is needed by the normalization engine 204; a user simply enters
"MSFT" to display FirstCall EE and Dow Jones news for Microsoft.
However, assume the Dow Jones News feed inserts keyword "Microsoft" into the news header, instead of "MSFT". In order to ensure that this news item is properly available to the user when using the news tool 122a to view news about Microsoft, the normalization engine
204 contains a mapping for company name "Microsoft" (in addition to Microsoft's ticker symbol), thereby resulting in indexing of the second news story to Microsoft.
The normalization engine 204 also communicates with the portfolio accounting system 213. The portfolio accounting system 213 stores and maintains actual portfolios managed by the investment professional. These portfolios include the specific data defining the number of shares of various securities in each portfolio, and the client information indicating appropriate client holdings in the various portfolios. The normalization engine 204 normalizes the portfolio data into the normalized feed database 210 in the same manner as above, in order to provide a transparent integration of the portfolio data with the externally received data feed sources. This allows portfolio data to be included along with external data as part of any user selected context for the investment tools 122.
The publish/subscribe engine 202 is a client/server based service that supports one-to- many dissemination of real-time financial data to client applications. A publisher is defined as a service that provides real-time financial data. Within the system 200, a publisher is a data feed processor 206 (though in other embodiments, a publisher may be the data feed source itself).
A subscriber is defined as a consumer of real-time financial data. Within the system 200, a subscriber is one of the investment tools 122, as managed by the application server 211. One publisher can support many (1 :n) subscribers.
The publish/subscribe engine 202 is event driven. An event is defined as arrival of new financial feed data into the data feed processor 206 and then passed onto the publish/subscribe engine 202. The publish/subscribe engine 202 fans-out (pushes) the financial data to the application server 211, which serves the data to the requesting investment tool 122.
To subscribe to specific financial data, an investment tool 122 on a particular user computer sends a message to the application server 211 describing the desired financial data as per the type of data handled by the tool, along with the currently defined context, according to the domain(s) selected in the user's navigator 102. The application server 211 forwards to the publish/subscribe engine 202 a request for the appropriate context and data source. For example, if the news tool 122a of a particular client requests headlines for "IBM" the application server 211 forwards a request for news data for "IBM" to the publish/subscribe engine 202, but need not delimit the data to merely headline data.
Thereafter, when the publish subscribe engine 202 receives the desired financial data, the publish/subscribe engine 202 pushes the data to the application server 211. The application server 211 maintains state on each of the investment tools 122 it serves, including their context and the particular data that they are subscribing to. The application server 211 forwards the subscribed data appropriate to each subscribing investment tool 122. The interaction between the publish/subscribe engine 202 and a subscriber is one-way from the publish/subscribe engine 202 to the subscriber. Since the interaction is event-driven, the subscriber need not prompt the publish subscribe engine 202 for data after issuing a subscription request.
The publish/subscribe engine 202 supports the flow-through context switching of the present invention. Assume a user opens a view for the quotes tool and a view for the news tool 122a. Also, assume the quote tool 122b displays quotes for three companies - Microsoft Corp., Cisco Systems Inc., and Intel, Inc. Assume the news tool 122a displays news for the same three companies. When this context is established by the user's navigator 102, these investment tools 122 notify the application server 211 of their subscription status for news and quote data, and the application server 211 notifies the publish/subscribe engine 202 to provide this information. The publish/subscribe engine 202 asynchronously pushes pricing data for these three companies to the quotes tool 122b. Likewise, the publish/subscribe engine 202 pushes headlines for news pertaining to the three companies to the news tool 122a.
Now, assume the user changes the domain to IBM by selecting this ticker in the securities navigator 102c. This causes the securities navigator 102c to send the new context for "IBM" to the quotes and news tools, and to the application server 211, indicating the new state of the user's computer. The application server 211 updates the publish/subscribe engine 202 with this request only if its is not already receiving IBM related data (which may be already being served to other investment tools). Thereafter, the publish/subscribe engine pushes pricing data for IBM to the quotes tool 122b and headlines pertaining to IBM to the news tool 122a via the application server 211, without any further interaction by the quotes tool 122b and news tool 122a.
The request/reply engine 203 is a client/server based synchronous, point-to-point, demand-based service between the investment tools 122 and the underlying normalized feed database 210. Like the publish subscribe engine 202, it communicates data to the investment tools 122 via the application server 211. A requester is defined as a consumer of financial data.
Within the system 200. a requester is defined as an investment tool 122. A reply is defined as the results of a database query by a requester from the normalized feed database 210.
The request/reply engine 203 accepts queries for the normalized feed database 210 from the application server 211 on behalf of individual investment tools 122, processes the queries, and returns the results to the application server 211 to be served to the requesting investment tool 122. The interaction between the request/reply engine 203 and an investment tool 122 is a two-way data exchange. When an investment tool 122 issues a request for financial data, the request/reply engine 203 processes the query and returns the results to the investment tool 122 via the application server 211. Unlike the publish/subscribe engine, feed data is not sent to an investment tool 122 until the investment tool 122 requests the data.
The request/reply engine 203 also supports the flow-through context switching feature of the present invention. Assume a user opens the earnings estimate tool 122d to view earnings estimates for Cisco Systems, Inc. Now, assume the user changes the context to IBM, Inc. by selection of the "IBM" ticker in the securities navigator 102c (which causes the securities navigator 102c to send the new context for IBM to the earnings estimate tool 122d). The earnings estimate tool 122d then sends a request to the request/reply engine 203 via the application server 211 to query the normalized feed database 210 for earning estimate data on IBM. When the request/reply engine 203 replies with the database results, the earnings estimate tool 122d displays the appropriate earning estimate data for IBM.
INVESTMENT MANAGEMENT WORKFLOW WITH THE NAVIGATORS AND INVESTMENT TOOLS
The present invention fully supports the workflow of the investment professional while providing for both complete, immediate control of the selection of data to be analyzed at any moment via the navigators 102 and complete customization of the presentation of such data via the various investment tools. To illustrate these features of the present invention, an example of the use of the investment research software product in the investment professional's workflow is now described.
Investment Tool Configuration As an initial step, the investment professional configures the various investment tools 122 as described above to define any number of useful templates in any of the tools. For example, the investment professional may define a collection including a news templates for the
news tool 122a. detailed quotes templates for the quotes tool 122b for viewing real time quote data for securities and indices, earning estimate templates for the earnings estimate tool 122d for analyzing projected earnings, a variety of different graphs for the graph tool 122c for spotting trends in data, and various summary templates for generalized monitoring of market, portfolio, and security performance. The investment professional may also define a number of passive or active alerts relative to selected ones of portfolios available in the portfolio accounting system 213 or watch lists, with respect to particular markets or indices, or the like. The configuration of each tool's templates is provided by a setup dialog or wizard particular to the tool as described above. Once the various templates are configured, the online workflow of the investment professional begins.
Online Workflow The investment research analysis software product of the present invention provides complete support for all stages of the investment professional's workflow, and yet allows for personal customization of any stage of this workflow. The following example illustrates a typical workflow. The example begins by stating the current assumed market situation and the desired action of the investment professional: The Situation
• The market is dropping precipitously. • The investment professional has a large cash position all year because she felt stocks were overvalued.
• The investment professional's clients have been expressing concern for their portfolios because they are under performing relative to stocks.
• Today appears to be a key buying opportunity. Actions
First, the investment professional must determine how her portfolios are performing. Then she needs to quickly find value stocks to purchase. Lastly, she needs to document reasons for the her investment decisions to report these to her clients.
The investment professional's workflow, as facilitated by the investment research software product is as follows. Monitoring the Market
Fig. 14 illustrates the schematic structure of the investment research software product and system 200 dunng monitoπng. Here, the investment professional has configured a number of different tool templates to get a general overview of her portfolio's stocks and the market:
• Quotes tool 122b: this tool is configured to display quotes of companies within portfolios and markets selected in navigator 102. Portfolio holdings data is received from the portfolio accounting system 213. The real time data is received from real time data source 208a. Fig. 2 illustrates that the quotes tool 122b is responsive to the selection of a portfolio m the portfolio navigator 102b.
• Graph tool 122c, Window ??1 : Displays P/Expected Earnings against average earnings/share of portfolio and NASDAQ. The data context is set by a navigator 102 in response to user selection of domains. Settings and templates are stored in the database 210. Portfolio holdings data is received from the portfolio accounting system 213. Histoncal pπce data is received from histoncal data source 208b; earnings data from earnings estimates data source 208c; earnings per share data from company data source 208e.
• Graph tool 122c, Window #2: Displays performance of portfolio holding by sector relative to S & P 500. Settings and templates are stored in database 210. Portfolio holdings data is retrieved from the portfolio accounting system 213. Real-time price data is retneved from real time data source 208a. • News tool 122a: Displays current news items associated with portfolio or market selected in navigator 102. News window settings and templates are stored in database 210. Settings and templates are stored in database 210. Portfolio holdings data is retneved from the portfolio accounting system 213 Real-time price data is retrieved from real time data source 208a. The investment professional reviews the alerts that have been recently generated in the alerts tool 122f.
The investment professional can review the performance of any of her portfolios by one or more portfolio names in the portfolio navigator 102b, thereby changing all of the windows descπbed above to reflect current quote, news, earnings, and other data as the configured tools. Generate New Investment Ideas
The investment professional can perform a market wide screen for stocks that have been hit harder than the overall market. This would entail review of real time quotes data from the real time data source 208a. This scan identifies a new group of securities to be researched for investment. From this scan, the investment professional creates a new model portfolio with the resulting group of securities by dragging the securities from the securities navigator 102c into a new portfolio in the portfolio navigator 102b.
Research Screening Purposes & Process
Now the investment professional has to conduct research to screen these securities and select specific ones for investment. The result of a screen is a set of data on a set of securities.
Screening serves the function of both (1) idea generation - searching for securities, as well as
(2) ad hoc data access - because the data is necessarily available in order to be able to search on it. This research is as follows:
Working the model portfolio generated by the initial screening, the investment professional reviews each security listed in the model portfolio in the portfolio navigator 102b and views her customized templates. Clicking on a new security changes all the open tool windows but keeps their formats but creates a new flow-through context. At this stage the investment professional decides to use the following tools, as illustrated in Fig. 15.
• News tool 122a: displays news items pertaining to the individual security as selected in the portfolio navigator 102b. News settings and templates stored in database 210. Realtime news received from news data source 208d.
• Earnings estimate tool 122d: Displays estimates from various Wall Street analysts for the security selected in portfolio navigator 102b. Data received from earnings estimate data source 208c. • Graph tool 122c: Displays relevant data including annual sales vs. P/E of selected security. Sales and earnings data are retrieved from company data source 208e. Realtime price data is retrieved from real time quote data source 208a. Historical stock price data is retrieved from histoncal quote data source 208b. Keeping the existing windows on the screen, the investment professional can hide the markets navigator 102a and portfolio navigator 102b and open an internal research navigator 102d to look at her company's own internal research on these securities. Fig. 16 illustrates
schematically this operation. Fig. 18 illustrates the user interface of the internal research navigator 102d, which displays a hierarchical list of investment research data. Research notes, quotes, news, graphs, earnings estimates, spreadsheets, alerts and reports that were previously captured/created can be immediately retrieved by selection of the appropriate item in the internal research navigator 102d. These stored windows also have the capability of launching the use of the corresponding tool. Forecasting
The investment professional next determines which securities will perform the best by using a forecast model in the spreadsheet tool 122g. The forecast model can receive historical stock prices from historical quote data source 208b, earnings estimates from data received from earnings estimate data source 208c, and company historical data from company data source 208e,f. Again, the forecast model in the spreadsheet tool 122g is responsive to the selected domain in the navigators 102, and so the investment professional can click on each security in a model portfolio in the portfolio navigator 102b, an entire portfolio itself, or on any other domain, and change the forecast model automatically. Recommendations
The investment professional then makes various investment recommendations by creating a new recommendation in the internal research navigator 102d, (selecting the "new" button). This opens a blank view window, into which the user can drag and drop view from any of the investment tools 122 (e.g. graphs, spreadsheets, analyst reports, earnings estimates, forecasts, or news.) and attach a recommendation note ("abstract"). Fig. 17 illustrates this operation schematically. Fig. 18 illustrates the user interface for making the recommendation using the internal research navigator 102d and a recommendations tool 1800. The recommendation tool 1800 interface allows the investment professional to select via the drop down menu 1801 various of the different views from the other investment tools 122, for inclusion in a recommendation, and further allows the investment professional to specify the type of recommendation (e.g. strong buy), and explanation via the abstract. The supporting data, such as the earnings expectations, EPS, and so forth that was dragged into the tool is also automatically included in the recommendation, defining both the context of the data, the specific data value, and the configuration of the originating investment tools 122. In effect, the investment professional can create a snapshot of the state of the investment tools 122 at about
the time the recommendation is made, thereby documenting and supporting the investment recommendation. This recommendation is then stored and archived and can be accessed at any time via the internal research navigator 102d by any other user. A recommendation may be for specific security, for a sector or industry, or with respect to an allocation within a portfolio, or any other type of investment related recommendation. Selection of a recommendation from the internal research navigator 102d propagates all of the stored context and data to the appropriate tools, thereby allowing the later user to see exactly the context and data that was used when the recommendation was made. Reporting The investment professional then generates one or more reports for her customers on their portfolios and individual stocks including the reasoning used originally to pick the stocks. This is done using the reports tool 122e described above. The investment professional selects one or more report templates, and drags and drops any of the tool windows into the reports, such as graphs or spreadsheets, and the like. Again, within the scope of the reports tool 122e, these windows will respond to the context defined by the currently selected domain in the internal research navigator 102d, the market navigator 102a, and the portfolio navigator 102b. The investment professional can add any text to explain the investment decision, using direct text entry or copying text from any internal recommendation. Fig. 19 illustrates the overall steps of the reporting process, including the selection of header data 1902, text data 1904, graphs 1906, and tables 1908. The completed report can then be output (either electronically or in hardcopy) and transmitted to the investment professional's clients and others.
In summary then, the present invention provides an easy to use, dynamic user interface for an investment research software product, that allows the user to quickly process different types of investment information through many different investment tools, by flexibly selecting and defining different contexts for application of data related to the context to predefined templates in the investment tools. The present invention integrates multiple data sources via the user interface and a normalization process, including external data sources, such as real time quotes, historical quotes and company information, and internal information, such as portfolio accounting data and internal research and recommendations. All of this data is immediately
available via the navigator user interface features for propagation in the vanous investment tools, and for archiving and creation of further investment recommendations and reports.
The above described embodiment of the investment research software product, along with the accompanying illustrations of its user interface features and its software architecture, are merely illustrative of one implementation of the present invention for specific types of financial instruments. The particular organizational features of the user interfaces of the navigators or investment tools may be realized in other designs and implementations. For example, the various markets, portfolios, and securities navigators may be combined into a single navigator, or segregated further into additional navigators. Other investment tools appropriate to different financial instruments may be provided; for example value at risk tools may be implemented to provide value at risk information about a user selected domain; currency pricing model tools would be used for currency financial instruments, as would derivative pricing model tools for derivative securities. The system architecture may be varied by more or fewer data feed processors, integration of the data feed processors into the normalization engine, or direct interfacing of the investment tools with the database, without using the client-server architecture of the application server.
Accordingly, the scope of the present invention should be defined solely with respect to the claims herein, without limitation to the embodiments described.