Source: http://www.google.com/patents/US20020059294?dq=6,788,314
Timestamp: 2015-02-01 01:20:58
Document Index: 528675086

Matched Legal Cases: ['art 18', 'art 25', 'art 24', 'art 24', 'art 24', 'art 24', 'art 27', 'arts 28', 'arts 29', 'arts 27', 'art 21']

Patent US20020059294 - Method and apparatus for elaborating and representing data analysis in a ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsThe invention relates to a method and to an apparatus for elaborating and representing data analysis in a decision support system, the system comprising: an electronic data base which is daily updated; a data server managing said data base and comprising linking interfaces to allow on line and/or batch...http://www.google.com/patents/US20020059294?utm_source=gb-gplus-sharePatent US20020059294 - Method and apparatus for elaborating and representing data analysis in a decision support systemAdvanced Patent SearchPublication numberUS20020059294 A1Publication typeApplicationApplication numberUS 09/016,313Publication dateMay 16, 2002Filing dateJan 30, 1998Priority dateJan 30, 1998Also published asCA2284594A1, EP0976077A1, WO1999039290A1Publication number016313, 09016313, US 2002/0059294 A1, US 2002/059294 A1, US 20020059294 A1, US 20020059294A1, US 2002059294 A1, US 2002059294A1, US-A1-20020059294, US-A1-2002059294, US2002/0059294A1, US2002/059294A1, US20020059294 A1, US20020059294A1, US2002059294 A1, US2002059294A1InventorsSandro Bottarelli, Rocco Pellegrinelli, Luca SpampinatoOriginal AssigneeSandro Bottarelli, Rocco Pellegrinelli, Luca SpampinatoExport CitationBiBTeX, EndNote, RefManReferenced by (14), Classifications (8), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetMethod and apparatus for elaborating and representing data analysis in a decision support systemUS 20020059294 A1Abstract The invention relates to a method and to an apparatus for elaborating and representing data analysis in a decision support system, the system comprising: an electronic data base which is daily updated; a data server managing said data base and comprising linking interfaces to allow on line and/or batch connections to external data suppliers or providers; display means for displaying information and data and for allowing to the user to define data selection criteria; the method including the following steps: presenting on said display means a selection panel or menu reporting a list or table of data from said data base; detecting a pointer of a user's data selection; scanning said data base according to a mask or filter selected by the user; presenting on said display means a view or history chart showing to the user the variations versus time of the selected data, while maintaining the selection panel as a side or background view; automatically and immediately refreshing said view or history chart at each different detected pointer of the user's data selection. Advantageously, a plurality of different information data may be selected one after the other through said selection panel and a corresponding plurality of history charts are shown on said display means with the same time base and in an overlapping format. Images(13) Claims(19)
BRIEF DESCRIPTION OF THE DRAWINGS [0041]FIG. 1 shows a schematic diagram of an apparatus to implement the method according to the present invention; [0042]FIG. 2 is an exemplary visual representation of a selection menu presented on a dislay according to the method of the present invention; [0043]FIG. 3 is an exemplary visual representation of a selection panel according to the present invention; [0044]FIG. 3A is a further exemplary visual representation of the selection panel according to the present invention; [0045]FIG. 4 shows a schematic view of a historical data path of a selected data contained in a data base of the apparatus according to the present invention; [0046]FIG. 5 is a further exemplary visual representation of a selection panel according to the present invention; [0047]FIG. 6 shows a schematic view of a historical data path of a selected data shown in FIG. 5; [0048]FIGS. 7 and 8 show respective overlapping historical data paths of a set of data contained in a data base of the present invention; [0049]FIG. 9 is an exemplary visual representation of a graphic interface of the present invention; [0050]FIG. 10 is an exemplary visual representation of a further graphic interface of the present invention; [0051]FIG. 11 is a high level flow-chart representing the steps of a method in accordance with the present invention.
DETAILED DESCRIPTION [0052] 1. Overview [0053] In accordance with the present invention, a method and an apparatus is provided for elaborating and representing data analysis in a decision support system. [0054] The method and the apparatus allows to combine: [0055] fundamental information analysis; [0056] statistical information analysis; and, [0057] technical information analysis; [0058] in order to integrate as many analytical tools are needed and give a specific weight to each indicator according to investor's individual risk profiles or investment objectives. [0059] The inventive method and apparatus are implemented in a decision support system 1 including a computers local area network LAN 7 and an electronic data server 2. [0060] The data server 2 comprises memory means 3 and linking interfaces 4, such a multiplexer 6 and a modem 8, and to allow on line and/or batch connections to external data suppliers or providers. [0061] Video display means 5 are provided for displaying to the user information and data. A conventional keyboard 11 is associated to each computer 20 and network printer 12 is available too. [0062] The memory means 3 are provided to store an independent database of financial information such as investment portfolios. In the specific example herein given by way of non-limiting illustration, the database contains asset and financial information including more than 3,000 instruments, 120 indexes and 50 currencies. [0063] Each computer 20 which is connected on the LAN 7 contains a computer program according to the present invention and which is structured in a set of integrated easy-to-use software modules or subroutines which have been developed in a C++ programming language, within a Visual C++ MS� programming environment. [0064] Each module interactively assists the user in performing a specific task, such as: [0065] securities selection; [0066] portfolio allocation and optimization; [0067] portfolio analysis; [0068] benchmark comparison; etc . . . [0069] The user may combine the modules according to his favorite work flow as will be explained in the following description. [0070] The modules interact by means of the portfolio data base. As soon as a portfolio data is modified by a module, all the other modules which are active on any computer of the LAN 7 are automatically alerted and the new state can be loaded. [0071] A portfolio is always presented as a browser with the list 15 of securities presented in a table, as shown in FIG. 2. The user can quickly configure the table columns to display the values of any indicator in the data base, such as: date, market, weight, volatility, etc . . . [0072] The table can be searched and sorted with respect to the values in any column. [0073] 1.2 Selection [0074] A list of securities may be selected from a domain, according to a predetermined set of user's specified criteria. Preferably, the portfolio data base is used as domain and a selection menu 16 is available to the user for definying the preferred selection. [0075] The user may create a list of target securities using standard filters for security selection. [0076] The security selection panel or menu 16 is presented to the user so that basic, fundamental, quantitative and technical data may be selected. [0077] It is possible to define constrains on all the available indicators: [0078] basic; for instance: type, market, sector, currency, nationality; [0079] quantitative; such as: mean return, volatility, correlation, absolute and index-relative performance; [0080] technical; such as: long-term trend, short term momentum, noise; [0081] quantitative (second selection); such as: price/earning, price/book value, dividend. [0082] Numerical constrains are defined in a graphical way, as shown in FIG. 2, and may be quantitative, for instance a volatility of no more than 2.5%, or qualitative, for instance a price/earning low or very low; where for instance �very low� means the the lowest quartile of the values in the used domain and �low� means the quartile before the lowest. [0083] Qualitative values are automatically computed with respect to the securities in the used domain. [0084] The resulting selection is present as a browser, a table or a chart 18. [0085] As a matter of fact, all the available information about a specific security may be displayed in a specific window. As many security display windows can be opened at the same time as needed. [0086] Each of the displays is fully configurable to include only the information or indicators relevant for a current task. [0087] 1.3 Editor [0088] The portfolio data base can be manually built or expanded according to the user's need. In this respect an editor function is available. [0089] Specific securities or groups are added to the data base or they are removed from the target portfolio under the user control. [0090] Other portfolios may be used as a source for securities to add and two different portfolios may be merged. [0091] The editor is able to import and export portfolios into and from a set of common formats, such as ASCII code, DBF or ODBC compatible sources. [0092] The editor may even be used to create individual weighted or unweighted portfolios or indexed and recommendation lists. [0093] 1.4 Allocation [0094] This module allows to optimize the securities allocation according to relative weights. It allows to define filters for personal and global asset allocation. [0095] The user may choose on the video display 5 a set of indicators which, according to his strategy, must influence the relative weights of the securities in the current portfolio. [0096] For instance, it might be desirable to allocate more on securities having high trend and low volatility or allocate more on securities having low price/earnings and low price/book value. A dynamic, balanced or conservative strategy may be applicable on any portfolio, country or sector selection just according to the investor's individual risk profile. [0097] A relative priority matrix can be defined for a chosen indicator; for instance: high trend is worth 60% and low volatility is worth 40%. [0098] The weighting is displayed and defined by means of a very intuitive graphical interface 19, as shown in FIG. 9. [0099] The selected allocation is quickly computed and an optimized portfolio allocation is presented on a menu 22 with respect to the combination of user's defined preferences. [0100] User defined specific as well as generic constraints can be put on the allocation; for instance: no more than 3% on a certain security; between 2 and 2.5% on another security; no allocations smaller than 1%, and so on. [0101] Constraints are easily added, modified or removed according to the present invention by means of the graphical interface. [0102] The allocation algorithm picks up the user defined selection by means of a non-linear optimization procedure as will be explained in greater details hereinafter. [0103] 1.5 Analysis [0104] The data base portfolio may be deeply analyzed through a specific module. [0105] The analysis module computes the average of the portfolio combining the historical quotes of the securities while taking into account the portfolio allocations. [0106] The resulting index is presented in a chart 25, as shown in FIG. 7. Such a chart can be graphically compared with any other security in the data base as shown in FIG. 8. [0107] The indicators value of the portfolio index are also computed and are presented in a configurable table. The user can quickly navigate through a set of graphical views of the portfolio under consideration. [0108] Pie charts, scatter diagrams or heat maps may be presented on the video display by defining the indicators to focus on. [0109] 1.6 Comparison [0110] A comparison module allows to compare and match any set of portfolio data. [0111] The user indicates a reference portfolio and a number of actual portfolios to be compared. The comparison module computes the buy/sell actions needed to transform each of the portfolios into the reference and the implied turnover. [0112] The actions may be filtered and presented in a fully customized way. [0113] The comparison allows to analyze the differences among the portfolios under consideration with a powerful set of display tools, such as multiple synchronized pie charts, multiple scanner diagrams, etc . . . [0114] The comparison computes the average of all the portfolios under analysis combining the historical quotes of the securities and taking into account the portfolio allocations. The resulting indexes are presented in a single rescaled graph. [0115] The indicators values of the indexes are computed and displayed in a customizable comparison table, as shown in Figure. [0116] Hereinafter we will newly take in consideration the previous options to more deeply analyze the features of each program module. [0117] 2.1 Seletion: Fast Browsing of Market Data [0118] Feature [0119] With specific reference to the example shown in FIG. 3A, the program presents to the user a selection panel 16 for displaying information and data and for allowing to the user to define data selection criteria. [0120] For each portfolio display, there is a current security, whose name is highlighted, for instance the security indicated with 17 in FIG. 3. [0121] After a selection, a table 18 is presented in front of the user as shown in FIG. 3A. [0122] For the current highlighted security 23 it is possible at any time to open two different types of windows with detailed information. [0123] A) a graphical representation of the history of the security's market quotations, that is: a history chart 24 as shown in FIG. 4; [0124] B) the display of all the updated information available in the data base, organized by category (basics, quantitative, technical, etc.); this is just a security display; [0125] It is possible to open any number of such representations. [0126] When the current highlighted security 23 is changed by the user, as shown in FIG. 5, the representations (graphs and/or tables) on the last opened windows are immediately updated to the newly focused security as shown in FIG. 6. [0127] It is thus possible to quickly scan the securities in a portfolio flipping though detailed data and historical graphs. [0128] Therefore, the exential features of the inventive method include the following steps: [0129] presenting on the display means 5 a selection panel 16 or menu reporting a list or table 15 of data from the data base; [0130] detecting a pointer of a user's data selection; [0131] scanning the data base according to a mask or filter corresponding to the selection choosen by the user; [0132] presenting on the display means 5 a view or history chart 24 showing to the user the variations versus time of the selected data, while maintaining a selected panel 18 as a side or background view; [0133] refreshing immediately said view or history chart 24 at each different detected pointer 23 of the user's data selection. [0134] The automatic refreshment of the history chart is such that for the user get the updated view in the same instant in which a new highlighted security 23 is detected. [0135] 2.2 Implementation [0136] The implementation is based on the Document-View model of an architecture based on Microsoft Foundation Classes (MFC). In each application's document a pointer to the current security is defined. The portfolio display (browser) as well as the history chart and the security display are implemented as Views. [0137] When a security name is selected in the portfolio display or browser, the current security in the application document is updated and all the views are notified with the standard Update CDocument method in MFC. [0138] When notified of a current security change, both the history chart 24 and the security selected panel 18 ask to the data server 2 the information to be displayed. The data server 2 transmit the needed data in numerical format to the requiring views, which in turn compute the proper graphical representation of such views and update their displays on the screen. [0139] 3. Multiple Historical Series with Dynamic Rescaling [0140] 3.1 Feature [0141] In a history chart it is possible to compare any number of securities histories, as shown in FIG. 7. This is achieved by dragging form a portfolio display or browser the name of the security into the screen area 25 of a displayed history chart. All the displayed histories are rescaled to a reference value, for instance 100, at the beginning (first day) of the displayed period. [0142] When a point 26 in the chart is clicked, the rescale day is moved to the day in the history corresponding to the clicked point. The arrow keys allow to move the rescale day backward and forward on the time line. It is thus possible to evaluate the relative performances of all the securities displayed in a history chart over any specific period in the past, simply by clicking on the proper day. In the history graph legenda, the market data of all the displayed securities at the rescale day are displayed together with the performance of each of them since the rescale day. [0143] When a different security is selected in the portfolio display, the original security in the history chart is substituted with the new one and the chart is rescaled to the last selected rescale day. [0144] 3.2 Implementation [0145] The history chart view obtains from the data server 2 the history of each added security as soon as it is dragged into the chart screen area. The histories are stored in numerical format. The actual values to be displayed in graphical format are computed locally and by-need. When a new rescale day is selected, the value of all the histories is set to the reference value at the rescale day and each of them is transformed to keep unchanged the percentage variation of the value of each day with the value of the rescale day. After the transformation of the stored histories, a new graphical representation is computed and the display is updated. [0146] This feature allows a plurality of different information data to be selected one after the other through said selected panel 18 and a corresponding plurality of history charts to be shown on said display means with the same time base and in an overlapping format, as clearly shown in FIG. 7. [0147] 4. Fast Analysis of Security History Series Through Technical Indicators [0148] 4.1 Feature [0149] A studio module is a tool designed for the analysis of security history series through technical indicators such as return, average return, standard deviation, maximum draw-down, maximum recovery period and correlation to a benchmark. [0150] This module allows to display simultaneously a number of charts in a dynamic multiple splitter windows environment, as shown in FIG. 10. The available charts are the security price chart 27, indicators history charts 28 and indicators distribution charts 29. [0151] Synchronize Function [0152] 4.1.1 Feature [0153] The Synchronize Function is intended to help the user to match a specific time position over the different charts. A task such as finding out what happened to say-correlation when price had a specific value is accomplished just by moving the cursor to the selected chart time point 30 and asking for or clicking a button for a function �synchronize�. This causes all the other charts time scales to be sized accordingly to the leading chart and all cursors to jump to the same time position, so that the related indicators values are displayed. [0154] As long as the current charts 27 is focused, the cursors is �synchronized� to the current chart so that moving it up or down the time scale causes all the other charts to move accordingly. Synchronized distribution charts automatically display distributions of values up to the day specified. [0155] This feature makes easy to follow the historical development of a security price series and to analyze the relationship between different technical indicators. [0156] 4.2 Implementation [0157] When the Synchronize Function is invoked, the current history chart (�leader�) starts notifying the other charts (via Windows messaging) all the information needed for synchronization: [0158] the �time span� (the time interval spanned by the displayed data); [0159] the �granularity� (flagging if daily, weekly or monthly data are displayed); [0160] the �synchronize date� (the date leader's cursor is currently selecting). [0161] Other history charts are then redrawn according to these synchronize information. [0162] Setting the cursors according to the chart leader date causes the related value to be displayed. Distribution charts are recalculated on the fly after discarding the data referring to dates following the synchronization date. [0163] As the leader's state changes the notification process keeps all charts synchronized. [0164] The notification process stops when the �synchronize� button is clicked again or when the leader loses the focus. [0165]5. Easy Currency Conversion of Historical Series [0166] 5.1 Feature [0167] In the history chart, the �natural� currency of the displayed security is shown. The user can select, through a box 14, a different currency in the set of the currencies in the data base. The displayed history is transformed into the new currency taking into account the historical fluctuations of the exchange rate between the original currency and the new one, as shown in FIG. 8. [0168] When multiple histories are displayed, all of them are converted from their original currency to the selected one. This allow to visually compare the performance of a set of international securities when the mutual ratios among the involved currencies is taken into account. When the currency is reset by the user, all the displayed histories return to their original currency. [0169] 5.2 Implementation [0170] The data server 2 accepts two kind of queries for the history of a security: a plain one, and a currency-adjusted one. [0171] When a currency-adjusted query is sent by an application, the server loads from the data base the historical data of the security and the history of the exchange rate between the �natural� currency of the security and the currency specified in the query. When the specific exchange rate is not available in the data base, it is computed by combining the historical exchange rate between each of the currencies and the US dollar. [0172] The system data base contains a limited set of direct historical exchange rates and the historical exchange rates of all the considered currencies and the US dollar. [0173] Each value in the security history is then multiplied by the corresponding value in the exchange rate history. The resulting converted history is thus transmitted to the requiring application. [0174] When a specific currency is selected by the user, the history chart view issues a currency-adjusted query to the server 2 for each displayed security history and specifies for all of them the selected currency. The answers, are locally stored in numerical format, are rescaled according to the current rescale day and are displayed in graphical format on the screen. [0175] 6. Allocation by Ranking [0176] 6.1 Feature [0177] As previously mentioned, with the allocation module it is possible to optimize the allocation of a portfolio. The optimization is performed according to a set of criteria interactively defined by the user. Any numerical dimension on which the securities in the portfolio can have a value can be used as an allocation criteria. [0178] The user can thus select the allocation criteria among the numerical parameters available for the securities in the database. The user can also weight the selected criteria by graphically manipulating a set of cursors 19 which are presented on the screen as shown in FIG. 9 and corresponding also to a pie chart 21. There is one cursor for each criteria. [0179] Weight of criteria is expressed in percentage. [0180] The user interface includes a set of tools for balancing the weights according to the user's preferences. When the weight of a criteria is manipulated with the interface, the weights of the other criteria are adjusted in real-time to keep their total sum to 100, while respecting the ratios among them. [0181] It is anyway possible to �freeze� the weights of a subset of the criteria. In this case the automatic adjustment modifies only the weights of the remaining criteria. Each criteria can be used on a direct (higher values are preferred) or an inverse (lower values are preferred) scale. [0182] When the user asks for a new allocation, the system assigns a percentage of the portfolio to each security in the current list. Percentages are proportional to the scores of the securities with respect to the allocation criteria. The score of each security is computed as a combination of the values of the parameters in the data base used as allocation criteria. The security with a better compromise of values for the weighted criteria gets proportionally more than a security with a worse combined value. [0183] With a specific interactive interface, the user can define a number of generic or specific constraints on the allocation. A generic constraint sets a lower and/or an upper limit to the allocation on any security in the portfolio (�no allocation more than 7%� and or �less than 5%�). A specific constraint sets an upper and/or lower limit to the allocation on a specific security in the portfolio. Inconsistency among constraints is detected and signaled in real-time. The computed allocation satisfies the defined constraints while optimally approximating the corresponding unconstrained allocation with the same criteria and criteria weighing. [0184] In summary: the allocation module allows: [0185] presenting on the display means a selection panel or menu reporting a list or table of data from said data base; [0186] scanning said data base according to a mask or filter selected by the user to select a preferred set of data; [0187] selecting an allocation criteria among a number of numerical parameters available for the preferred set of data; [0188] weighting the selected criteria by graphically manipulating one or more cursors on the screen, one for each criteria; [0189] automatically presenting on said display means the results of the weighted selection criteria at each different detected selection of said cursors. [0190] 6.2 Implementation [0191] The user interface of the allocation module application is dynamically built on the set of criteria defined and weighted by the user. When a new criteria is added, the interface is restructured to host a new graphical object enabling the user to weight the criteria. When a new configuration of parameters has been defined, the application asks the server 2 for the values of the M parameters used as criteria for the N securities in the portfolio. [0192] A N�M matrix is built and locally stored. [0193] The securities values are thus cached in the application and it is not necessary to communicate with the server 2 if the set of the criteria is not changed. The computation of a new allocation is performed as follows: [0194] The weights of the parameters are stored in a column vector of dimension M; [0195] all the values in each column (same parameter) are normalized; [0196] to each row (security) a score is assigned equal to the internal product of the row vector with the column vector of the parameters weights; [0197] the scores are normalized; [0198] the scores are proportionally transformed into allocation percentages. [0199] Constraints are satisfied by solving a non-linear constrained optimization problem in which the constraints are directly used and the goal function to be minimized is defined as the sum for each security of the difference between the constrained and the unconstrained allocations divided by the normalized unconstrained allocation. [0200] A possible implementation is the algorithm of search by feasible directions.(see: M. Bazaraa and C. Shetty, �Nonlinear programming: theory and algorithms� Wiley, New York 1979.) [0201] The method and apparatus according to the present invention has the great advantage of allowing the managing of huge amounts of daily changing data and information which are transformed into image results helping the user in his decision process. [0202] The method according to the invention may be considered as a very fast solving puzzle in which a huge amount of different pieces are correctly put together in order to provide a complete picture. [0203] The method allows to work faster having all relevant investment information to take better investment decisions which may be based on the user preferred criteria. [0204] This method allows to improve the investment results by taking optimized decisions according to security parameters. [0205] The user may manage the risk by controlling portfolios and investment strategies. Referenced byCiting PatentFiling datePublication dateApplicantTitleUS7469228Feb 20, 2004Dec 23, 2008General Electric CompanySystems and methods for efficient frontier supplementation in multi-objective portfolio analysisUS7516225 *Jul 28, 2004Apr 7, 2009Sony CorporationExperience/preference information providing systemUS7542932Feb 20, 2004Jun 2, 2009General Electric CompanySystems and methods for multi-objective portfolio optimizationUS7593880Mar 19, 2003Sep 22, 2009General Electric CompanyMethods and systems for analytical-based multifactor multiobjective portfolio risk optimizationUS7630928Feb 20, 2004Dec 8, 2009General Electric CompanySystems and methods for multi-objective portfolio analysis and decision-making using visualization techniquesUS7640201Mar 19, 2003Dec 29, 2009General Electric CompanyMethods and systems for analytical-based multifactor Multiobjective portfolio risk optimizationUS7873676Sep 11, 2007Jan 18, 2011Opshub, Inc.Contextually analyzing data in tabular and graphical reportsUS7962398 *Sep 15, 2000Jun 14, 2011Charles Schwab & Co.Method and system for executing trades in a user preferred securityUS8126795Feb 20, 2004Feb 28, 2012General Electric CompanySystems and methods for initial sampling in multi-objective portfolio analysisUS8219477Feb 20, 2004Jul 10, 2012General Electric CompanySystems and methods for multi-objective portfolio analysis using pareto sorting evolutionary algorithmsUS8645906Sep 10, 2007Feb 4, 2014Sandeep JainMethod for enforcing change policy based on project stateUS8645907Sep 11, 2007Feb 4, 2014Sandeep JainCapturing effort level by task upon check-in to source control management systemEP1389764A1 *Nov 7, 2002Feb 18, 2004March Networks CorporationDatabase table filtering systemWO2008033939A2 *Sep 12, 2007Mar 20, 2008Sandeep JainContextually analyzing data in tabular and graphical reports* Cited by examinerClassifications U.S. Classification1/1, 707/999.107International ClassificationG06Q40/00, H04L12/18Cooperative ClassificationH04L12/1804, G06Q40/04European ClassificationG06Q40/04, H04L12/18BLegal EventsDateCodeEventDescriptionApr 28, 2000ASAssignmentOwner name: BRAINPOWER S.A., SWITZERLANDFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PELLEGRINELLI, ROCCO;SPAMPINATO, LUCA;BOTTARELLI, SANDRO;REEL/FRAME:010760/0822Effective date: 19980615RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services