[go: up one dir, main page]

US20160005127A1 - Method and system for analysis, display and dissemination of financial information using resampled statistical methods - Google Patents

Method and system for analysis, display and dissemination of financial information using resampled statistical methods Download PDF

Info

Publication number
US20160005127A1
US20160005127A1 US14/735,100 US201514735100A US2016005127A1 US 20160005127 A1 US20160005127 A1 US 20160005127A1 US 201514735100 A US201514735100 A US 201514735100A US 2016005127 A1 US2016005127 A1 US 2016005127A1
Authority
US
United States
Prior art keywords
investment
resampled
data
sample
financial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/735,100
Inventor
Samir Varma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INVESTPIC LLC
Original Assignee
INVESTPIC LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23943550&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20160005127(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by INVESTPIC LLC filed Critical INVESTPIC LLC
Priority to US14/735,100 priority Critical patent/US20160005127A1/en
Publication of US20160005127A1 publication Critical patent/US20160005127A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention relates to the area of electronic information systems.
  • the present invention relates to a method and system for the delivery of financial information using resampled statistical methods over an information network.
  • WWW World Wide Web
  • PDF probability distribution function
  • the present invention provides a method and system for the statistical analysis, display and dissemination of financial data over an information network such as the Internet and WWW.
  • the present invention utilizes resampled statistical methods for the analysis of financial data. Resampled statistical analysis provides a meaningful and reasonable statistical description of financial information, which typically escapes modeling using parametric methods (i.e., assumptions of a Gaussian distribution).
  • the present invention includes a financial information network node that is coupled to an information network such as the Internet.
  • the financial information network node includes a front end subsystem, a resampled statistical analysis engine (“RSAE”) and a graphics rendering engine (“GRE”).
  • the front end subsystem provides a graphical user interface (“GUI”) that allows clients also coupled to the information network to submit requests for resampled statistical analysis of various financial investments and receive graphical display of the results.
  • GUI graphical user interface
  • the RSAE performs resampled statistical analysis of financial data in response to user queries and incorporates routines to preserve temporal correlation in financial data, which necessarily provides more accurate analysis.
  • the RSAE provides for user control of a number of parameters to simulate various financial environmental conditions.
  • the RSAE allows a user to simulate either bull or bear market conditions by setting a bias parameter that controls a degree of randomness in the resampling process.
  • the GRE generates a graphical display of statistical distributions generated by the RSAE.
  • the present invention employs a parallel processing architecture to speed generation of the resampled statistics.
  • the parallel architecture is afforded by the nature of the resampling algorithm itself, which permits the financial data to be vectorized.
  • This parallel processing architecture provides at least two significant advantages. First, the architecture permits the delivery and processing of financial data in compressed time frames, which facilitates “real time” or “near real time” statistical analysis.
  • the parallel computation scheme provides the ability to perform statistical analysis on a large number of financial entities (e.g., a mutual fund or hedge fund) through a weighting process.
  • a financial information site is coupled to the Internet via a front end subsystem including a WWW server.
  • the financial information site includes a front end subsystem, a RSAE and a GRE.
  • the financial information site maintains a database of financial data for any number of financial entities such as companies, mutual funds etc.
  • the financial information site also maintains a database of clients that have registered with the financial information site and desire to obtain statistical analysis of financial data.
  • a query is received from a client via the front end subsystem.
  • a client may specify a number of parameters including an investment or investments (e.g., a portfolio) to be analyzed, a financial function, a sample size, a period, a type of plot and a bias parameter, which controls the randomness of the resampling process.
  • the RSAE Based upon the parameters specified by the client, the RSAE performs a resampled statistical analysis of relevant financial data.
  • the GRE then produces a distribution plot based upon the output generated by the RSAE, which is presented to the client via the front end subsystem.
  • the RSAE performs at least three types of financial functions on financial data.
  • a gross rate of return function provides analysis of the gross rate of returns for an investment over a specified time period.
  • a maximum drawdown function provides analysis of a maximum drawdown for an investment over a specified period.
  • a monitor function provides analysis of a number of“up” and “down” days for a particular investment over a period of time.
  • the financial information site also provides functionality for storing a set of client specified alert rules that are used to automatically monitor the behavior of investments based upon a resampled statistical analysis process and notify clients of the financial information site when the behavior of a particular investment violates a specified rule.
  • FIGS. 1A AND 1B ARE block diagrams of a network architecture that illustrates the relationship between a financial information site and a client according to one embodiment of the present invention.
  • FIG. 2 is a detailed block diagram of a financial information site according to one embodiment of the present invention.
  • FIG. 3 depicts the structure of a client record that is stored in a client database at a financial information site according to one embodiment of the present invention.
  • FIG. 4 depicts the structure of an investment record that is stored in an investment database at a financial information site according to one embodiment of the present invention.
  • FIG. Sa depicts the structure of an alert rule record that is stored in an alert rules database at a financial information site according to one embodiment of the present invention.
  • FIG. 5 b depicts the structure of a rule object record according to one embodiment of the present invention.
  • FIG. 6 a depicts a data structure for storing financial data in a financial database according to one embodiment of the present invention.
  • FIG. 6 b depicts a data structure for storing a financial return according to one embodiment of the present invention.
  • FIG. 7 depicts a data structure for storing a function prototype in a function database at a financial information site according to one embodiment of the present invention.
  • FIG. 8 depicts a data structure for storing plot information in a plot database at a financial information site according to one embodiment of the present invention.
  • FIG. 9 a depicts the underlying theory of the bootstrap method.
  • FIG. 9 b depicts a procedure for performing a bootstrap method to generate a distribution of bootstrap replications according to one embodiment of the present invention.
  • FIG. 10 is a flowchart of steps for performing a resampled analysis of an investment and generating a graphical output according to one embodiment of the present invention.
  • FIG. 11 is a flowchart that depicts a set of steps to initiate a resampled statistical analysis of financial data using a parallel processing architecture according to one embodiment of the present invention.
  • FIG. 12 is a flowchart of a parallel processing control process according to one embodiment of the present invention.
  • FIG. 13 is a flowchart of a set of steps for performing a resampled statistical analysis according to one embodiment of the present invention.
  • FIG. 14 is a flowchart of a set of steps for performing a biasing procedure according to one embodiment of the present invention.
  • FIG. 15 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to gross rate of returns according to one embodiment of the present invention.
  • FIG. 16 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to maximum drawdown returns according to one embodiment of the present invention.
  • FIG. 17 is an exemplary plot of a resampled statistical analysis comparing multiple investment strategies with respect to a monitor function according to one embodiment of the present invention.
  • the present invention is compatible with any type of information network public or private and thus, the embodiments described herein are not intended to limit the scope of the claims appended hereto.
  • the present invention could be implemented using a private Intranet, local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or even a wireless network.
  • FIGS. 1A AND 1B are block diagrams of a network topology that illustrates the relationship between the Internet, a financial information site and various clients according to one embodiment of the present invention.
  • financial information site 119 Based upon queries submitted by clients, financial information site 119 performs resampled statistical analysis of financial data and provides a graphical display of distribution results. Details of the functionality provided by financial information site 119 are described below.
  • Clients 105 a - 105 c communicate with financial information site 119 via Internet 114 .
  • financial information site 119 is coupled to Internet 114 via T1 line 130 b .
  • Client 105 a illustrates a typical narrowband client coupled to Internet 114 via a dial-up connection described in more detail below.
  • Client 105 b illustrates a typical broadband client coupled to Internet 114 via a cable modem.
  • Client 105 c illustrates a corporate client that is coupled to Internet via T1 line 130 c and server 151 .
  • Corporate client 105 c includes three network nodes 171 a - 171 c that share bandwidth on Ethernet 161 .
  • FIGS. 1A and 1B illustrate three clients ( 105 a - 105 c ), it is to be understood that financial information site 119 may serve any arbitrary number of clients 105 limited only by the processing power and bandwidth available.
  • client 105 a communicates with financial information site 119 via personal computer 112 a , modem 115 a , POTS telephone line 117 and Internet service provider 120 a .
  • Internet service provider 120 a includes modem bank 121 and router 135 a that routes packets received from modem bank 121 onto Internet 114 via T1 line 130 a . Packets are routed over Internet 114 to client gateway server 140 a at financial information site 119 via T1 line 130 b.
  • Client 105 a utilizes personal computer 112 a to navigate Internet/World-Wide-Web (WWW 114 via browser software (not shown) and display device (not shown).
  • the browser software permits navigation between various file servers connected to Internet 114 , including client gateway server 140 a at financial information site 119 .
  • the browser software also provides functionality for rendering of files distributed on the Internet (i.e., through plug-ins or Active X controls).
  • modem 115 a In order to transmit data to financial information site 119 , personal computer 112 a transmits signals through a dial-up connection utilizing modem 115 a .
  • Modem 115 a performs modulation of digital signals generated by personal computer 112 a onto an analog carrier signal for transmission over the public switched telephone network (“PSTN”) (not shown).
  • PSTN public switched telephone network
  • Modem 115 a also performs demodulation of signals received over local lines (e.g., 117 ) from the PSTN extracting digital byte codes from a modulated analog carrier.
  • ISP 120 a Signals are received at ISP 120 a , which is connected to the PSTN through modem bank 121 . Digital IP packets are then transmitted via Internet 114 and various routers (not shown) to WWW server 140 a . IP packets are also transmitted in the reverse direction from WWW server 140 a to personal computer 112 a.
  • Client 105 b is coupled to Internet 114 via a broadband cable connection.
  • personal computer 112 b transmits packets via cable modem 115 b to ISP 120 b where the packets are routed over Internet 114 to client gateway server 140 a .
  • Packets from financial information site 119 traverse a reverse path to client 105 b .
  • client 105 b utilizes browser software to navigate Internet 114 and WWW.
  • Corporate client 105 c includes network nodes 171 a - 171 c , which are coupled to Internet via Ethernet 161 , server 151 and T1 line 130 c .
  • Network nodes 171 a - 171 c may communicate with financial information site 119 via Ethernet, server 151 , T1 line 130 c , Internet 114 and T1 line 130 b . Similar to clients 105 a - 105 b , it is assumed that users at network nodes 171 a - 171 c utilize browser software to navigate Internet 114 and WWW.
  • clients 105 a - 105 c and the methods through which they are coupled to Internet 114 depicted in FIGS. 1A and 1B are merely exemplary.
  • the present invention is compatible with any type of Internet client and/or connection (broadband or narrowband).
  • clients 105 may connect to Internet 114 using any potential medium whether it be a dedicated connection such as a cable modem, T1 line, DSL (“Digital Subscriber Line”), a dial-up POTS connection or even a wireless connection.
  • FIG. 2 is a detailed block diagram of a financial information site according to one embodiment of the present invention.
  • Financial information site 119 includes front end subsystem 129 , RSAE 139 , GRE 149 , back end server 140 , client database 150 g and alert rules database 150 c.
  • Front end subsystem 129 includes client/gateway server 140 a , which is coupled to GUI database 150 a .
  • Front end subsystem 129 provides a GUI, which allows clients 105 to transmit information to and receive information from financial information site 119 .
  • GUI database 150 a stores HTML (“Hypertext Markup Language”) code (i.e., WWW pages) relating to various information and functions provided by financial information site 119 .
  • GUI database 150 a may store a HTML “home page” for financial information site 119 or HTML pages including forms, which allow the input of data at financial information site 119 .
  • Front end subsystem 129 also includes SMTP (“Simple Mail Transport Protocol”) server 140 f SMTP server 140 f performs transmission of e-mail messages to clients 105 associated with financial information site 119 in order to provide notification regarding various events (as described in more detail below).
  • SMTP Simple Mail Transport Protocol
  • Client gateway server 140 a communicates with back end server 140 b , which controls and orchestrates the large-scale processing of data at financial information site 119 .
  • back end server 140 b handles responses to requests from clients 105 for resampled statistical analysis of investments.
  • back end server 140 b submits requests to RSAE for resampled statistical analysis of financial data and submits requests to GRE for graphical rendering of output generated by RSAE.
  • Back end server 140 b communicates with control server 140 c at RSAE 139 , graphics rendering server 140 e at GRE 149 and SMTP server 140 f at front end 1 subsystem 29 .
  • RSAE 139 includes control server 140 c , parallel process control server 140 d , parallel processors 112 a - 112 e (each including local respective cache 112 a 1 - 112 e 1 ), financial database 150 d , investment database 150 e , function database 150 f shared memory area 160 a and output data area 160 b .
  • RSAE 139 depicted in FIGS. 1-2 utilizes a parallel processing architecture. This parallel scheme is merely exemplary and is not intended to limit the scope of the claims appended hereto. Other embodiments may not rely upon a parallel processing architecture at RSAE 139 .
  • Control server 140 c provides communication functions between back end server 140 b and RSAE 139 and controls the overall operation of a resampled statistical analysis process.
  • Control server 140 c is coupled to parallel process control server 140 d and shared memory area 160 a .
  • Shared memory area 160 a stores sample data for financial investments currently being analyzed by RSAE 139 .
  • control server 140 c receives requests for parallel processing computations from back end server 140 b , performs certain initialization functions, loads appropriate data into shared memory 160 a and forwards these requests to parallel process control server 140 d for performance.
  • Control server 140 c then waits for a completion signal from parallel process control server 140 d and provides the output results to back end server 140 b for further processing (e.g., graphical rendering via GRE 149 ).
  • Control server 140 c is also coupled to financial database 150 d , investment database 150 e , function database 150 f and shared memory area 160 a .
  • Financial database 150 d (described in more detail below) stores financial sample data relating to particular investments.
  • Investment database 150 e (described in more detail below) stores financial data regarding investments for which clients may be interested in performing resampled statistical analysis (i.e., stocks, mutual funds, etc.).
  • Function database 150 f (described in more detail below) stores function prototypes for functions to be performed on financial data.
  • Parallel process control server 140 d is coupled to parallel processors 112 a - 112 e and output data memory area 160 b .
  • Parallel processors 112 a - 112 e which are each coupled to a respective local cache 12 a 1 - 112 e 1 and shared memory area 160 a , perform resampled statistical analysis of sample data stored in shared memory area 160 a (i.e., resampled statistical computations).
  • Parallel process control server 140 d (described in more detail below) orchestrates and controls parallel computation processes running on parallel processors 112 a - 112 e .
  • parallel process control server 140 d requests initialization of resampled statistical analysis of data stored in shared memory area 160 a from individual processors 112 a - 112 e . Upon completion of all parallel processes running on processors 112 a - 112 e , parallel process control server 140 d retrieves the results stored in local caches 112 a 1 - 112 e 1 and stores the aggregate data in output data area 160 b where it can be processed further (e.g., in GRE 149 ).
  • GRE 149 performs graphical rendering (e.g., plots) of output data generated by RSAE 139 .
  • GRE 149 includes graphics rendering engine server 140 e , which is coupled to plot database 150 b .
  • plot database 150 b stores data regarding the rendering and formatting of distribution plots generated by graphics rendering engine server 140 e.
  • Back end server 140 b is also coupled to client database 150 g and alert rules database 150 c .
  • Client database 150 g stores information related to clients that have registered with financial information site 119 .
  • Alert rules database 150 c stores data pertaining to client specified rules for alerting clients to near real time behavior of investments. According to one embodiment of the present invention, clients are alerted to rule violations by e-mail via SMTP server 140 f , which is also coupled to back end server 140 b.
  • FIG. 3 depicts the structure of a client record that is stored in a client database 150 g at a financial information site 119 according to one embodiment of the present invention.
  • Each client record 305 includes client ID field 310 , client password field 315 , portfolio* pointer field 320 , alert rules* pointer field 325 , e-mail address field 330 , billing parameter field 335 and preference parameter fields 340 ( 1 )- 340 (N).
  • Client ID field 310 stores a unique 16-byte character array or pointer to a character array of a client that has registered with financial information site 119 .
  • Client password field 315 stores a unique 16-byte character array or pointer to a character array of a password associated with a client 105 .
  • Clients 105 may establish a client ID and password upon registration with financial information site 119 .
  • Portfolio* pointer field 320 stores a pointer to a linked list of investments that a client 105 has selected for tracking using financial information site 119 .
  • each link in the linked list stores an identifier of an investment entity as described in more detail below.
  • Alert rules* pointer field 340 stores a linked list of alert rule record IDs (discussed in more detail below) that specify particular financial alert rules that are monitored by financial information site 119 and associated with individual clients 105 . These rules are used to notify individual clients 105 of the occurrence of particular events they wish to follow based upon a resampled statistical analysis of financial data.
  • E-mail address field 330 stores a 32-byte character array or pointer to a character array of an e-mail address of a client 105 .
  • Billing parameter field 335 stores a pointer to billing object record that includes billing information for a client 105 .
  • Preference parameters 340 ( 1 )- 340 (N) store preference parameters related to customization functions associated with financial information site 119 .
  • FIG. 4 depicts the structure of an investment record that is stored in an investment database 150 e at a financial information site 119 according to one embodiment of the present invention.
  • Investments may represent stocks, mutual funds, etc.
  • Each investment record 405 includes investment ID field 410 , investment name field 415 and investment data pointer 420 .
  • Investment ID field 410 stores a unique 32-bit value corresponding to a particular investment.
  • Investment name field 415 stores a 16-byte character array of a name of an investment.
  • Investment data pointer 420 stores a pointer to a linked list of financial data records related to an investment, which are stored in financial database 150 d (described in more detail below).
  • FIG. 5 a depicts the structure of an alert rule record that is stored in an alert rules database 150 c at a financial information site 119 according to one embodiment of the present invention.
  • each alert rule specifies a percentile constraint of a resampled distribution for which a client 105 desires notification.
  • Clients 105 of financial information site 119 may desire to be notified if the occurrence of a current event is extremely unlikely.
  • financial information site 119 executes a process to notify clients if a threshold percentile of a resampled statistical distribution is either below or above a current value of a financial event, indicating that the event is unlikely.
  • a client 105 may desire to be alerted if the gross rate of returns for a specified investment over a 200-day period assumes an improbable value.
  • financial information site 119 calculates the actual gross rate of returns for the investment over the last 200 days. Then, financial information site 119 executes a resampled statistical process to evaluate the gross rate of returns for 200-day periods described in detail below) to determine whether a percentile value of the distribution is above or below the current value. If so, the current value is highly unlikely and the client 105 is notified via e-mail.
  • Each alert rule record 505 includes rule ID field 510 and rule function object* pointer field 515 .
  • Rule ID) field 510 stores a unique 32-bit integer value pertaining to an alert rule, which is used for identification purposes.
  • Rule function object pointer field 515 stores a reference to a rule object (described with reference to FIG. 5 b ) relating to the occurrence of a financial event for which a client desires notification.
  • FIG. 5 b depicts the structure of an alert rule object according to one embodiment of the present invention.
  • Each rule alert rule record 507 includes investment ID field 520 , function field 525 , periods field 530 , operator field 535 , percentile value field 540 , sample size field 545 and replications field 550 .
  • Investment ID field stores a 32-bit integer value identifying an investment, as described below with respect to FIG. 6 a .
  • Function field 525 stores a 32-bit function ID of a function record as described below with respect to FIG. 7 .
  • Periods field 530 stores a number of periods (i.e., days) for which the client 105 desires to evaluate the investment.
  • Operator field 535 stores a 4-bit field indicating an operator such as ‘ ⁇ ’ or ‘>.’
  • Percentile value field 540 stores an integer representing a percentile value.
  • Sample size field 545 stores a 32-bit integer value representing a sample size for which to conduct a resampled statistical analysis.
  • Replications field 550 stores a 32-bit integer value representing a number of replications to perform in conducting a resampled statistical process.
  • the resampled process is conducted based upon parameters stored in fields 520 , 525 , 530 , 545 and 550 . Based upon operator filed 535 , it is then determined whether the distribution results for a resampled statistical process above or below the current value exceed the percentile value stored in percentile value field 540 . If so, the client is notified.
  • FIG. 6 a depicts a data structure for storing financial data in a financial database according to one embodiment of the present invention.
  • Each financial data record 605 includes investment ID field 610 , and one or more return objects 625 ( 1 )- 625 (N).
  • Investment ID field 610 stores a 32-bit integer value uniquely identifying a financial record.
  • Return objects 625 (as described in FIG. 6 b ) store actual data values of returns associated with the investment represented by investment ID field 610 .
  • FIG. 6 b depicts a data structure for storing a return object according to one embodiment of the present invention.
  • Each return object 625 includes a date field 630 and a value field 635 .
  • Date field 630 stores a data object corresponding to the data of a return and value field 635 stores the value (dollar amount or otherwise) of the investment on the date stored in date field 630 .
  • FIG. 7 depicts a data structure for storing data in a function database 150 f at a financial information site 119 according to one embodiment of the present invention.
  • Function database 150 f stores various function prototypes for functions to be performed on investment data, which are used in performing resampled statistical analysis of financial data.
  • function database 150 f stores function prototypes for gross rate of return, maximum drawdown and/or a monitor function.
  • Each function record 705 includes function prototype ID 710 and function prototype object 715 .
  • Function prototype ID field 710 stores a unique 32-bit integer value pertaining to a function prototype, which is used for identification purposes.
  • Function prototype object field 715 stores a 1024-byte character array of a function prototype.
  • a maximum drawdown function prototype is stored in function database 150 based upon the following equation: For a set of returns (r 1 -r n ):
  • a gross rate of returns function prototype is stored in function database 150 f based upon the follow equation: For a set of returns (r 1 -rn):
  • a monitor function calculates a number of ‘up’ or ‘down’ days for a given investment over a certain period.
  • the following equation describes a monitor function:
  • the maximum drawdown function, the gross rate of return function (as described above) and the monitor function are coded according to a predefined syntax and stored as a function prototype in function database 150 f.
  • FIG. 8 depicts a data structure for storing plot information in a plot database at a financial information site according to one embodiment of the present invention.
  • Each plot type record 805 stores plot type ID field 810 and one or more plot parameter fields 825 ( 1 )- 825 (N).
  • Plot ID field stores a unique 32-bit integer identifying a particular plot type.
  • Plot parameter fields 825 ( 1 )- 825 (N) store various parameters relating to formatting of plots.
  • FIG. 9 a depicts the underlying theory of the bootstrap method. Ideally statistical inferences are based on a known probability distribution ⁇ circumflex over (F) ⁇ . A parameter is a function of a known probability distribution ⁇ circumflex over (F) ⁇ .
  • Resampled statistical methods such as the bootstrap attempt to estimate the PDF of an unknown distribution using sampled data.
  • sample data is available for an investment that is dependent upon an unknown PDF F.
  • the plug-in principle is a method of estimating parameters from samples.
  • These statistics are referred to as summary statistics, estimates or estimators. Resampled statistical methods attempt to determine the distribution of ⁇ , an estimator of ⁇ , derived from a sample x.
  • the star notion indicates that x* is not the actual data set x, but rather a randomized, or resampled version of x.
  • the bootstrap data points x 1 *, x 2 *, . . . , x n * are a random sample of size n drawn with replacement from the population of n objects (x 1 , x 2 , . . . , x n ).
  • the quantity s(x*) is the result of applying the same function s(•) to x* as was applied to x (i.e., the statistical function of interest). For example, s(•) may be the gross rate of return of an investment over a specific period of time.
  • FIG. 9 b depicts a process for performing a bootstrap method (a resampled statistical method) to generate a distribution of bootstrap replications according to one embodiment of the present invention.
  • a sample space x is selected.
  • bootstrap samples x* (x 1 *, x 2 *, . . . , x n *), are generated from the sample space using a resampling process.
  • a plot of the distribution of bootstrap replications (s(x* 1 ), s(x* 2 ) . . . s(x* B )) is generated in order to estimate the distribution of ⁇ circumflex over ( ⁇ ) ⁇ .
  • FIG. 10 is a flowchart of steps for initializing a resampled statistical analysis of financial data at a financial information site 119 according to one embodiment of the present invention.
  • the process is initiated upon receipt of a request for a resampled statistical analysis of financial data, which is received via front end subsystem 129 (e.g., via an HTML form).
  • front end subsystem 129 e.g., via an HTML form.
  • input parameters relating to a resampled statistical analysis are received via client/gateway server 140 a and transmitted to back end server 140 b .
  • the following parameters are solicited from a client 105 : investment; function;
  • the ‘investment’ parameter specifies an identifier of an investment (i.e., 410 ) stored in investment database 150 e .
  • the ‘function’ parameter specifies a function prototype identifier (i.e., 710 ) stored in function database 150 f .
  • the function prototype may correspond to a function for maximum drawdown, gross rate of return or a monitor function as described above.
  • the ‘periods’ parameter specifies a number of periods for which a client 105 desires to evaluate an investment. For example, a client 105 may desire to perform a resampled statistical analysis for the gross rate of returns of an investment over a 253-day period.
  • the ‘sample_size’ parameter specifies a number of samples to use in the resampling process (the size of the x).
  • the ‘replications’ parameter specifies a number of bootstrap samples to be used in the resampling process.
  • the ‘plot_type’ parameter specifies a plot type identifier (i.e., 810 ) pertaining to formatting parameters to be used in generating a plot of distribution results.
  • back end server 140 b requests the initiation of a resampled statistical analysis process at RSAE 139 .
  • back end server 140 b transmits the following vector to control server 140 c at RSAE 139 : request_resampling process (investment, function, periods (Q), bias, sample_size, replications, plot_type).
  • Back end server 140 b then waits for completion of the resampled statistical analysis task.
  • back end server 140 b determines whether RSAE 139 has completed the resampling process.
  • control server 140 c transmits a completion signal to back end server 140 b and an address in output data area 160 b where output data of a resampled statistical process is stored. If the resampling process is not completed (‘no’ branch of step 1020 ), back end server 140 b continues to wait for notification.
  • back end processor 140 b requests a graphics plot from GRE 129 .
  • back end processor 140 b transmits the following vector to graphics rendering server 140 e at GRE 149 : plot (OutAddr, plot_type, plot_parameters).
  • OutAddr specifies an address in output data area, which stores results of a resampled statistical process previously conducted by RSAE 139
  • plot_type specifies a plot type requested by a client 105
  • plot_parameters specifies additional plotting parameters that may be required by GRE 129 .
  • Back end server 140 b then waits for completion of the plot.
  • back end processor 140 b determines whether graphics rendering server 140 e has completed the requested plot (i.e., whether graphics server has transmitted a completion signal to back end processor). According to one embodiment, upon completion of a plot, graphics rendering server 140 e transmits a completion signal to back end processor 140 b .
  • Graphics rendering server 140 e also transmits results of the plotting process in the form of plot data, which may be used to dynamically create an HTML page for transmission to a client 105 . If the plot is not finished (‘no’ branch of step 1027 ), back end processor 140 b continues to wait for the completion signal. If the plot has been completed (‘yes’ branch of step 1027 ) in step 1029 and back end processor 140 b transmits the plot data results (e.g., HTML page) to client/gateway server 140 a for transmission to client 105 . The process ends in step 1030 .
  • plot data results e.g., HTML page
  • FIG. 11 is a flowchart that depicts a set of preparation steps performed by a control server 140 c at a financial information site 119 to initialize a resampled statistical analysis of financial data using a parallel processing.
  • the process is initiated upon the receipt of a request_resampling_process vector from back end server 140 b as described above with reference to FIG. 10 .
  • control server 140 c reserves appropriate memory in shared memory area 160 a and output data area 160 b and stores appropriate sample data for processing in shared memory area 160 a .
  • a sample space is determined using the sample_size parameter received in step 1105 .
  • financial database 150 d may store samples for investments for many different time periods
  • step 1115 a set of relevant samples for the resampled statistical analysis requested by the client 105 is determined.
  • control server 140 c determines an amount of memory required for storage of samples in shared memory area 160 a and allocates an appropriate memory block in shared memory area 160 a for storage of the samples.
  • server 140 c determines an amount of memory to reserve in output data memory area 160 b for storage of results of the resampling process.
  • server 140 c retrieves financial data samples from financial database 150 d and stores these samples in shared memory area 160 a in the memory block previously reserved in step 1117 .
  • process server 140 c computes a from the sample data stored in shared memory area 160 a .
  • a statistical function such as the mean, median or standard distribution is calculated by dividing the sample space into appropriate length periods.
  • control server 140 c executes a series of steps to format and prepare the data for processing. Specifically, in step 1125 , autocorrelation of the sample space data stored in shared memory area 160 a is analyzed. Specifically, control server 140 c executes a process to calculate the autocorrelation and partial autocorrelation functions on the data stored in shared memory area 160 a for a number of different lag periods (a) and stores the results in temporary storage. According to one embodiment, the following equations are utilized to calculate the autocorrelation and partial autocorrelation functions for the data stored in shared memory area 160 a:
  • Samples in the sample space are defined as:
  • r (r 1 , r 2 , . . . , r n )
  • the autocorrelation function is defined as:
  • ACF ⁇ ( a ) S ⁇ ( a ) z 1 ⁇ z 2 S ⁇ ( a ) z 1 ⁇ S ⁇ ( a ) z 2
  • the partial autocorrelation function is defined as:
  • PACF ⁇ ( x , a ) S ⁇ ( a ) z 1 ⁇ z 2 - S ⁇ ( a ) z 2 ⁇ z x ⁇ S ⁇ ( a ) z 1 ⁇ z s 1 - ( S ⁇ ( a ) z 2 ⁇ z x ) 2 ⁇ 1 - ( S ⁇ ( a ) z 1 ⁇ z x ) 2
  • step 1130 the autocorrelation and partial autocorrelation data calculated is analyzed to determine a minimum lag factor (N) that minimizes the autocorrelation (a).
  • the minimum lag factor (a) corresponds to the number of consecutive periods that are selected at one time during the resampling process.
  • step 1145 If no transformation is necessary (‘no’ branch of step 1145 ), control is transferred to step 1160 . Otherwise (‘yes’ branch of step 1045 ) in step 1150 , the data is transformed and restored in shared memory area 160 b in step 1150 .
  • the variable ‘M’ specifies the number of samples to select for each resampling.
  • server 140 c executes a request for parallel processing of data stored in shared memory area 160 a by transmitting a vector to parallel processing control server 140 d using the prototype: Request_Parallel_Process(input_addr, input_range, output_addr, output_range, M, N function, bias, replications).
  • the parameters ‘input_addr’, ‘input_range’, ‘output_addr’ and ‘output_range’ correspond respectively to the start address and range in shared memory area 160 a and output memory area 160 b that were determined in step 1117 .
  • the parameters M and N correspond to the variables determined in steps 1130 and 1160 respectively.
  • the parameters ‘bias’ and ‘replications’ correspond to the same parameters received in step 1105 .
  • control server 140 c determines whether it has received a signal from parallel process control server 140 d indicating the completion of parallel processing. If not (‘no’ branch of step 1070 ), control server 140 c continues to wait for the completion signal. If a completion signal has been received (‘yes’ branch of step 1170 ), in step 1175 , control server 140 c transmits a completion signal to back end server 140 b along with a memory address in output data area 160 b where the output data for the resampled method is stored.
  • FIG. 12 is a flowchart of a parallel processing control process according to one embodiment of the present invention. Although only 5 parallel processors ( 112 a - 112 e ) are depicted in FIG. 1 , this number is arbitrary and any number P of parallel processors may be used to perform the resampling technique. Furthermore, although the method described herein utilizes a parallel processing architecture, the present invention does not require a parallel processing scheme. According to one embodiment of the present invention, the process depicted in FIG. 12 is implemented by parallel process control server 140 d at financial information site 119 .
  • parallel process control server 140 d receives a vector requesting a parallel process as described in step 1165 .
  • parallel process control server 140 d performs a load balancing step.
  • parallel process control server 140 d requests the initiation of processes on individual parallel processors 112 a - 112 e by transmitting a begin_process vector to each respective parallel processor 112 a - 112 e .
  • the vector is transmitted to each processor 112 a - 112 e to initiate parallel processing: begin_process (input_addr, input_range, M, N, function, bias, replications/P).
  • the parameters ‘input_addr’, ‘input_range’, correspond respectively to the start address and range in shared memory area 160 a that were received in step 1205 .
  • the parameters ‘periods’, ‘bias’ and ‘replications’, ‘M’ and ‘N’ correspond to the same parameters received in step 1205 .
  • P specifies the number of parallel processors. Thus, each parallel processor computes replications/P replications.
  • parallel process control server 140 d checks to determine whether all parallel processors 112 a - 112 e have completed processing. Upon completion of a processing task, each parallel processor executes a step of notifying control server 140 c of completion. In particular, according to one embodiment, upon completion each parallel processor 112 sends parallel process control server a notification message defining a memory block where output results have been stored on the respective local cache 112 a 1 - 112 e 1 . If notifications have not been received from all processors 112 a - 112 e , parallel process control server 140 c continues waiting (‘no’ branch of step 1120 ). Upon receipt of all completion notifications (‘yes’ branch of step 1230 ), parallel process control server 140 d retrieves the data output for each parallel processor stored on local cache 112 a 1 - 112 a 5 .
  • parallel process control server assembles all output data from each respective local cache 112 a 1 - 112 e 1 in output data area 160 b .
  • parallel process control server 140 d notifies server control 140 c that the parallel processing is completed. The process ends in step 1260 .
  • FIG. 13 is a flowchart of set of steps for performing a resampled statistical method according to one embodiment of the present invention.
  • the steps shown in FIG. 13 are executed on each parallel processor 112 a - 112 e upon the request for a parallel process by server 140 d .
  • step 1305 the process is initiated and each parallel processor receives a begin_process vector as described above with reference to step 1220 of FIG. 12 .
  • step 1310 each respective processor 112 a - 112 e determines a range of output memory in local cache 112 a 1 - 112 e 1 for storage of output results.
  • the parallel processor 112 determines a random start location in shared memory area 160 a to begin sampling.
  • step 1340 the temporary ‘Count’ variable is increment. A biasing process is described in detail below with reference to FIG. 14 .
  • step 1350 a bootstrap replication s(x* replication ) is computed corresponding to the function s(•) received in step 1305 .
  • step 1355 the bootstrap replication s(x* replication ) is stored in local cache (e.g., 120 a 1 ).
  • step 1325 the parallel processor 112 notifies parallel process control server 140 d that processing has been completed and also notifies parallel process control server 140 d of the memory block in local cache (i.e., 112 a - 112 e 1 ) where the output data is stored.
  • FIG. 14 is a flowchart of a set of steps for conducting a bias algorithm according to one embodiment of the present invention.
  • the process is initiated in step 1405 .
  • step 1410 the sample space is separated into two sets, a first set including only ‘up’ days and a second set including only ‘down’ days.
  • step 1420 a random number r, between 0 and 1 is selected.
  • the process ends in step 1460 .
  • the process depicted in FIG. 14 is repeated for each bootstrap sample.
  • FIG. 15 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to gross rate of returns. As depicted in FIG. 15 , investment strategy 1510 outperforms investment strategy 1520 .
  • FIG. 16 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to maximum drawdown. As depicted in FIG. 16 , investment strategy 1610 outperforms investment strategy 1620 .
  • FIG. 17 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to a monitor function. As depicted in FIG. 17 , investment strategies 1720 outperforms investment strategy 1710 .

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention provides a method and system for the statistical analysis, display and dissemination of financial data over an information network such as the Internet and WWW. The present invention utilizes resampled statistical methods for the analysis of financial data. Resampled statistical analysis provides a meaningful and reasonable statistical description of financial information, which typically escapes modeling using parametric methods (i.e., assumptions of a Gaussian distribution). The present invention provides at least a GUI that provides functionality for user input of statistical queries, a statistical computation engine that performs statistical analysis of financial data and a graphical rendering engine that generates graphical display of statistical distributions generated by the statistical computation engine. According to one embodiment, the present invention employs a parallel processing architecture to speed generation of the resampled statistics.

Description

    FIELD OF THE INVENTION
  • The present invention relates to the area of electronic information systems. In particular, the present invention relates to a method and system for the delivery of financial information using resampled statistical methods over an information network.
  • BACKGROUND OF THE INVENTION
  • Investors and financial analysts rely upon electronic information systems for the delivery of accurate financial and investment data and analysis in order to devise meaningful investment strategies. The growth of the Internet and World Wide Web (“WWW”) highlights the potential for global distribution of “real time” or “near real time” financial information and analysis. For example, a number of WWW sites provide financial information to clients such as investors and financial analysts.
  • However, conventional financial information sites do not provide meaningful analysis tools to accurately analyze, forecast and predict the behavior of financial markets. Conventional technology for delivery of financial information over information networks such as the Internet typically allows users to track returns for various investments and perform rudimentary statistical analysis (e.g., computation of the mean and standard deviation) for these investments. However, these rudimentary statistical functions are not useful to investors in forecasting the behavior of financial markets because they rely upon assumptions that the underlying probability distribution function (“PDF”) for the financial data follows a normal or Gaussian distribution, which is generally false.
  • The true distribution of returns for any financial market (and thus of a trading strategy) is unknown. It is therefore incorrect to rely upon a statistical model based on assumptions of normality (e.g., standard deviation). Typically, the PDF for financial market data is heavy tailed (i.e., the histograms of financial market data typically involve many outliers containing important information). Thus, statistical measures such as the standard deviation provide no meaningful insight into the distribution of financial data.
  • Providing reasonable methods for the analysis of financial market data is essential for investors. Reasonable statistical analysis of financial data should at a minimum provide an accurate assessment of potential financial risk and reward. However, conventional methods, which rely upon assumptions of a Gaussian distribution, are dangerous to investors because these analyses understate the true risk and overstate potential rewards for an investment or trading strategy. Thus, this information is not generally useful and if relied upon promotes imprudent investment decisions. In general, the heavy tailed nature of financial data presents significant challenges in providing meaningful statistical analysis.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method and system for the statistical analysis, display and dissemination of financial data over an information network such as the Internet and WWW. The present invention utilizes resampled statistical methods for the analysis of financial data. Resampled statistical analysis provides a meaningful and reasonable statistical description of financial information, which typically escapes modeling using parametric methods (i.e., assumptions of a Gaussian distribution).
  • The present invention includes a financial information network node that is coupled to an information network such as the Internet. The financial information network node includes a front end subsystem, a resampled statistical analysis engine (“RSAE”) and a graphics rendering engine (“GRE”). The front end subsystem provides a graphical user interface (“GUI”) that allows clients also coupled to the information network to submit requests for resampled statistical analysis of various financial investments and receive graphical display of the results. The RSAE performs resampled statistical analysis of financial data in response to user queries and incorporates routines to preserve temporal correlation in financial data, which necessarily provides more accurate analysis. In addition, the RSAE provides for user control of a number of parameters to simulate various financial environmental conditions. For example, according to one embodiment, the RSAE allows a user to simulate either bull or bear market conditions by setting a bias parameter that controls a degree of randomness in the resampling process. The GRE generates a graphical display of statistical distributions generated by the RSAE.
  • According to one embodiment, the present invention employs a parallel processing architecture to speed generation of the resampled statistics. The parallel architecture is afforded by the nature of the resampling algorithm itself, which permits the financial data to be vectorized. This parallel processing architecture provides at least two significant advantages. First, the architecture permits the delivery and processing of financial data in compressed time frames, which facilitates “real time” or “near real time” statistical analysis. In addition, the parallel computation scheme provides the ability to perform statistical analysis on a large number of financial entities (e.g., a mutual fund or hedge fund) through a weighting process.
  • According to one embodiment of the present invention for implementation on the Internet, a financial information site is coupled to the Internet via a front end subsystem including a WWW server. The financial information site includes a front end subsystem, a RSAE and a GRE. In addition, the financial information site maintains a database of financial data for any number of financial entities such as companies, mutual funds etc. The financial information site also maintains a database of clients that have registered with the financial information site and desire to obtain statistical analysis of financial data.
  • In order to perform a resampled statistical analysis, a query is received from a client via the front end subsystem. A client may specify a number of parameters including an investment or investments (e.g., a portfolio) to be analyzed, a financial function, a sample size, a period, a type of plot and a bias parameter, which controls the randomness of the resampling process. Based upon the parameters specified by the client, the RSAE performs a resampled statistical analysis of relevant financial data. The GRE then produces a distribution plot based upon the output generated by the RSAE, which is presented to the client via the front end subsystem.
  • According to one embodiment of the present invention, the RSAE performs at least three types of financial functions on financial data. A gross rate of return function provides analysis of the gross rate of returns for an investment over a specified time period. A maximum drawdown function provides analysis of a maximum drawdown for an investment over a specified period. A monitor function provides analysis of a number of“up” and “down” days for a particular investment over a period of time.
  • The financial information site also provides functionality for storing a set of client specified alert rules that are used to automatically monitor the behavior of investments based upon a resampled statistical analysis process and notify clients of the financial information site when the behavior of a particular investment violates a specified rule.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1A AND 1B ARE block diagrams of a network architecture that illustrates the relationship between a financial information site and a client according to one embodiment of the present invention.
  • FIG. 2 is a detailed block diagram of a financial information site according to one embodiment of the present invention.
  • FIG. 3 depicts the structure of a client record that is stored in a client database at a financial information site according to one embodiment of the present invention.
  • FIG. 4 depicts the structure of an investment record that is stored in an investment database at a financial information site according to one embodiment of the present invention.
  • FIG. Sa depicts the structure of an alert rule record that is stored in an alert rules database at a financial information site according to one embodiment of the present invention.
  • FIG. 5 b depicts the structure of a rule object record according to one embodiment of the present invention.
  • FIG. 6 a depicts a data structure for storing financial data in a financial database according to one embodiment of the present invention.
  • FIG. 6 b depicts a data structure for storing a financial return according to one embodiment of the present invention.
  • FIG. 7 depicts a data structure for storing a function prototype in a function database at a financial information site according to one embodiment of the present invention.
  • FIG. 8 depicts a data structure for storing plot information in a plot database at a financial information site according to one embodiment of the present invention.
  • FIG. 9 a (reprinted from Efron and Tibshirani) depicts the underlying theory of the bootstrap method.
  • FIG. 9 b depicts a procedure for performing a bootstrap method to generate a distribution of bootstrap replications according to one embodiment of the present invention.
  • FIG. 10 is a flowchart of steps for performing a resampled analysis of an investment and generating a graphical output according to one embodiment of the present invention.
  • FIG. 11 is a flowchart that depicts a set of steps to initiate a resampled statistical analysis of financial data using a parallel processing architecture according to one embodiment of the present invention.
  • FIG. 12 is a flowchart of a parallel processing control process according to one embodiment of the present invention.
  • FIG. 13 is a flowchart of a set of steps for performing a resampled statistical analysis according to one embodiment of the present invention.
  • FIG. 14 is a flowchart of a set of steps for performing a biasing procedure according to one embodiment of the present invention.
  • FIG. 15 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to gross rate of returns according to one embodiment of the present invention.
  • FIG. 16 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to maximum drawdown returns according to one embodiment of the present invention.
  • FIG. 17 is an exemplary plot of a resampled statistical analysis comparing multiple investment strategies with respect to a monitor function according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • Although the embodiments described herein utilize the Internet and WWW, the present invention is compatible with any type of information network public or private and thus, the embodiments described herein are not intended to limit the scope of the claims appended hereto. For example, the present invention could be implemented using a private Intranet, local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or even a wireless network.
  • FIGS. 1A AND 1B are block diagrams of a network topology that illustrates the relationship between the Internet, a financial information site and various clients according to one embodiment of the present invention. Based upon queries submitted by clients, financial information site 119 performs resampled statistical analysis of financial data and provides a graphical display of distribution results. Details of the functionality provided by financial information site 119 are described below.
  • Clients 105 a-105 c communicate with financial information site 119 via Internet 114. According to the embodiment depicted in FIGS. 1A and 1B, financial information site 119 is coupled to Internet 114 via T1 line 130 b. Client 105 a illustrates a typical narrowband client coupled to Internet 114 via a dial-up connection described in more detail below. Client 105 b illustrates a typical broadband client coupled to Internet 114 via a cable modem. Client 105 c illustrates a corporate client that is coupled to Internet via T1 line 130 c and server 151. Corporate client 105 c includes three network nodes 171 a-171 c that share bandwidth on Ethernet 161. Although FIGS. 1A and 1B illustrate three clients (105 a-105 c), it is to be understood that financial information site 119 may serve any arbitrary number of clients 105 limited only by the processing power and bandwidth available.
  • As illustrated in FIGS. 1A and 1B, client 105 a communicates with financial information site 119 via personal computer 112 a, modem 115 a, POTS telephone line 117 and Internet service provider 120 a. Internet service provider 120 a includes modem bank 121 and router 135 a that routes packets received from modem bank 121 onto Internet 114 via T1 line 130 a. Packets are routed over Internet 114 to client gateway server 140 a at financial information site 119 via T1 line 130 b.
  • Client 105 a utilizes personal computer 112 a to navigate Internet/World-Wide-Web (WWW 114 via browser software (not shown) and display device (not shown). The browser software permits navigation between various file servers connected to Internet 114, including client gateway server 140 a at financial information site 119. The browser software also provides functionality for rendering of files distributed on the Internet (i.e., through plug-ins or Active X controls).
  • In order to transmit data to financial information site 119, personal computer 112 a transmits signals through a dial-up connection utilizing modem 115 a. Modem 115 a performs modulation of digital signals generated by personal computer 112 a onto an analog carrier signal for transmission over the public switched telephone network (“PSTN”) (not shown). Modem 115 a also performs demodulation of signals received over local lines (e.g., 117) from the PSTN extracting digital byte codes from a modulated analog carrier.
  • Signals are received at ISP 120 a, which is connected to the PSTN through modem bank 121. Digital IP packets are then transmitted via Internet 114 and various routers (not shown) to WWW server 140 a. IP packets are also transmitted in the reverse direction from WWW server 140 a to personal computer 112 a.
  • Client 105 b is coupled to Internet 114 via a broadband cable connection. In particular, personal computer 112 b transmits packets via cable modem 115 b to ISP 120 b where the packets are routed over Internet 114 to client gateway server 140 a. Packets from financial information site 119 traverse a reverse path to client 105 b. Similar to client 105 a, client 105 b utilizes browser software to navigate Internet 114 and WWW.
  • Corporate client 105 c includes network nodes 171 a-171 c, which are coupled to Internet via Ethernet 161, server 151 and T1 line 130 c. Network nodes 171 a-171 c may communicate with financial information site 119 via Ethernet, server 151, T1 line 130 c, Internet 114 and T1 line 130 b. Similar to clients 105 a-105 b, it is assumed that users at network nodes 171 a-171 c utilize browser software to navigate Internet 114 and WWW.
  • The specific nature of clients 105 a-105 c and the methods through which they are coupled to Internet 114 depicted in FIGS. 1A and 1B are merely exemplary. The present invention is compatible with any type of Internet client and/or connection (broadband or narrowband). In general, it is to be understood that clients 105 may connect to Internet 114 using any potential medium whether it be a dedicated connection such as a cable modem, T1 line, DSL (“Digital Subscriber Line”), a dial-up POTS connection or even a wireless connection.
  • FIG. 2 is a detailed block diagram of a financial information site according to one embodiment of the present invention. Financial information site 119 includes front end subsystem 129, RSAE 139, GRE 149, back end server 140, client database 150 g and alert rules database 150 c.
  • Front end subsystem 129 includes client/gateway server 140 a, which is coupled to GUI database 150 a. Front end subsystem 129 provides a GUI, which allows clients 105 to transmit information to and receive information from financial information site 119. According to one embodiment GUI database 150 a stores HTML (“Hypertext Markup Language”) code (i.e., WWW pages) relating to various information and functions provided by financial information site 119. For example, GUI database 150 a may store a HTML “home page” for financial information site 119 or HTML pages including forms, which allow the input of data at financial information site 119.
  • Front end subsystem 129 also includes SMTP (“Simple Mail Transport Protocol”) server 140 f SMTP server 140 f performs transmission of e-mail messages to clients 105 associated with financial information site 119 in order to provide notification regarding various events (as described in more detail below).
  • Client gateway server 140 a communicates with back end server 140 b, which controls and orchestrates the large-scale processing of data at financial information site 119. In particular, back end server 140 b handles responses to requests from clients 105 for resampled statistical analysis of investments. For example, back end server 140 b submits requests to RSAE for resampled statistical analysis of financial data and submits requests to GRE for graphical rendering of output generated by RSAE. Back end server 140 b communicates with control server 140 c at RSAE 139, graphics rendering server 140 e at GRE 149 and SMTP server 140 f at front end 1 subsystem 29.
  • RSAE 139 includes control server 140 c, parallel process control server 140 d, parallel processors 112 a-112 e (each including local respective cache 112 a 1-112 e 1), financial database 150 d, investment database 150 e, function database 150 f shared memory area 160 a and output data area 160 b. Note that RSAE 139 depicted in FIGS. 1-2 utilizes a parallel processing architecture. This parallel scheme is merely exemplary and is not intended to limit the scope of the claims appended hereto. Other embodiments may not rely upon a parallel processing architecture at RSAE 139.
  • Control server 140 c provides communication functions between back end server 140 b and RSAE 139 and controls the overall operation of a resampled statistical analysis process. Control server 140 c is coupled to parallel process control server 140 d and shared memory area 160 a. Shared memory area 160 a stores sample data for financial investments currently being analyzed by RSAE 139. As described in detail below, control server 140 c receives requests for parallel processing computations from back end server 140 b, performs certain initialization functions, loads appropriate data into shared memory 160 a and forwards these requests to parallel process control server 140 d for performance. Control server 140 c then waits for a completion signal from parallel process control server 140 d and provides the output results to back end server 140 b for further processing (e.g., graphical rendering via GRE 149).
  • Control server 140 c is also coupled to financial database 150 d, investment database 150 e, function database 150 f and shared memory area 160 a. Financial database 150 d (described in more detail below) stores financial sample data relating to particular investments. Investment database 150 e (described in more detail below) stores financial data regarding investments for which clients may be interested in performing resampled statistical analysis (i.e., stocks, mutual funds, etc.). Function database 150 f (described in more detail below) stores function prototypes for functions to be performed on financial data.
  • Parallel process control server 140 d is coupled to parallel processors 112 a-112 e and output data memory area 160 b. Parallel processors 112 a-112 e, which are each coupled to a respective local cache 12 a 1-112 e 1 and shared memory area 160 a, perform resampled statistical analysis of sample data stored in shared memory area 160 a (i.e., resampled statistical computations). Parallel process control server 140 d (described in more detail below) orchestrates and controls parallel computation processes running on parallel processors 112 a-112 e. In particular, parallel process control server 140 d requests initialization of resampled statistical analysis of data stored in shared memory area 160 a from individual processors 112 a-112 e. Upon completion of all parallel processes running on processors 112 a-112 e, parallel process control server 140 d retrieves the results stored in local caches 112 a 1-112 e 1 and stores the aggregate data in output data area 160 b where it can be processed further (e.g., in GRE 149).
  • GRE 149 performs graphical rendering (e.g., plots) of output data generated by RSAE 139. GRE 149 includes graphics rendering engine server 140 e, which is coupled to plot database 150 b. As described in detail below, plot database 150 b stores data regarding the rendering and formatting of distribution plots generated by graphics rendering engine server 140 e.
  • Back end server 140 b is also coupled to client database 150 g and alert rules database 150 c. Client database 150 g stores information related to clients that have registered with financial information site 119. Alert rules database 150 c stores data pertaining to client specified rules for alerting clients to near real time behavior of investments. According to one embodiment of the present invention, clients are alerted to rule violations by e-mail via SMTP server 140 f, which is also coupled to back end server 140 b.
  • FIG. 3 depicts the structure of a client record that is stored in a client database 150 g at a financial information site 119 according to one embodiment of the present invention. Each client record 305 includes client ID field 310, client password field 315, portfolio* pointer field 320, alert rules* pointer field 325, e-mail address field 330, billing parameter field 335 and preference parameter fields 340(1)-340(N).
  • Client ID field 310 stores a unique 16-byte character array or pointer to a character array of a client that has registered with financial information site 119. Client password field 315 stores a unique 16-byte character array or pointer to a character array of a password associated with a client 105. Clients 105 may establish a client ID and password upon registration with financial information site 119.
  • Portfolio* pointer field 320 stores a pointer to a linked list of investments that a client 105 has selected for tracking using financial information site 119. According to one embodiment of the present invention, each link in the linked list stores an identifier of an investment entity as described in more detail below. Alert rules* pointer field 340 stores a linked list of alert rule record IDs (discussed in more detail below) that specify particular financial alert rules that are monitored by financial information site 119 and associated with individual clients 105. These rules are used to notify individual clients 105 of the occurrence of particular events they wish to follow based upon a resampled statistical analysis of financial data. E-mail address field 330 stores a 32-byte character array or pointer to a character array of an e-mail address of a client 105. Billing parameter field 335 stores a pointer to billing object record that includes billing information for a client 105. Preference parameters 340(1)-340(N) store preference parameters related to customization functions associated with financial information site 119.
  • FIG. 4 depicts the structure of an investment record that is stored in an investment database 150 e at a financial information site 119 according to one embodiment of the present invention. Investments may represent stocks, mutual funds, etc. Each investment record 405 includes investment ID field 410, investment name field 415 and investment data pointer 420. Investment ID field 410 stores a unique 32-bit value corresponding to a particular investment. Investment name field 415 stores a 16-byte character array of a name of an investment. Investment data pointer 420 stores a pointer to a linked list of financial data records related to an investment, which are stored in financial database 150 d (described in more detail below).
  • FIG. 5 a depicts the structure of an alert rule record that is stored in an alert rules database 150 c at a financial information site 119 according to one embodiment of the present invention. According to one embodiment of the present invention, each alert rule specifies a percentile constraint of a resampled distribution for which a client 105 desires notification. Clients 105 of financial information site 119 may desire to be notified if the occurrence of a current event is extremely unlikely. As described in detail below, financial information site 119 executes a process to notify clients if a threshold percentile of a resampled statistical distribution is either below or above a current value of a financial event, indicating that the event is unlikely. For example, a client 105 may desire to be alerted if the gross rate of returns for a specified investment over a 200-day period assumes an improbable value. In this case, each day (or at a frequency specified by a client 105), financial information site 119 calculates the actual gross rate of returns for the investment over the last 200 days. Then, financial information site 119 executes a resampled statistical process to evaluate the gross rate of returns for 200-day periods described in detail below) to determine whether a percentile value of the distribution is above or below the current value. If so, the current value is highly unlikely and the client 105 is notified via e-mail.
  • Each alert rule record 505 includes rule ID field 510 and rule function object* pointer field 515. Rule ID) field 510 stores a unique 32-bit integer value pertaining to an alert rule, which is used for identification purposes. Rule function object pointer field 515 stores a reference to a rule object (described with reference to FIG. 5 b) relating to the occurrence of a financial event for which a client desires notification.
  • FIG. 5 b depicts the structure of an alert rule object according to one embodiment of the present invention. Each rule alert rule record 507 includes investment ID field 520, function field 525, periods field 530, operator field 535, percentile value field 540, sample size field 545 and replications field 550. Investment ID field stores a 32-bit integer value identifying an investment, as described below with respect to FIG. 6 a. Function field 525 stores a 32-bit function ID of a function record as described below with respect to FIG. 7. Periods field 530 stores a number of periods (i.e., days) for which the client 105 desires to evaluate the investment. Operator field 535 stores a 4-bit field indicating an operator such as ‘<’ or ‘>.’ Percentile value field 540 stores an integer representing a percentile value. Sample size field 545 stores a 32-bit integer value representing a sample size for which to conduct a resampled statistical analysis. Replications field 550 stores a 32-bit integer value representing a number of replications to perform in conducting a resampled statistical process.
  • As described in detail below, the resampled process is conducted based upon parameters stored in fields 520, 525, 530, 545 and 550. Based upon operator filed 535, it is then determined whether the distribution results for a resampled statistical process above or below the current value exceed the percentile value stored in percentile value field 540. If so, the client is notified.
  • FIG. 6 a depicts a data structure for storing financial data in a financial database according to one embodiment of the present invention. Each financial data record 605 includes investment ID field 610, and one or more return objects 625(1)-625(N). Investment ID field 610 stores a 32-bit integer value uniquely identifying a financial record. Return objects 625 (as described in FIG. 6 b) store actual data values of returns associated with the investment represented by investment ID field 610.
  • FIG. 6 b depicts a data structure for storing a return object according to one embodiment of the present invention. Each return object 625 includes a date field 630 and a value field 635. Date field 630 stores a data object corresponding to the data of a return and value field 635 stores the value (dollar amount or otherwise) of the investment on the date stored in date field 630.
  • FIG. 7 depicts a data structure for storing data in a function database 150 f at a financial information site 119 according to one embodiment of the present invention. Function database 150 f stores various function prototypes for functions to be performed on investment data, which are used in performing resampled statistical analysis of financial data. For example, according to one embodiment function database 150 f stores function prototypes for gross rate of return, maximum drawdown and/or a monitor function. Each function record 705 includes function prototype ID 710 and function prototype object 715. Function prototype ID field 710 stores a unique 32-bit integer value pertaining to a function prototype, which is used for identification purposes. Function prototype object field 715 stores a 1024-byte character array of a function prototype. The syntax for representing a function prototype stored in function prototype object field 715 is variable. Practitioners skilled in the art will recognize that many data structures and techniques may be utilized to represent function prototypes. According to one embodiment of the present invention, a maximum drawdown function prototype is stored in function database 150 based upon the following equation: For a set of returns (r1-rn):
  • Max . Drawdown = 1 · Min ( 1 + r 1 1 ( 1 + r 1 ) ( 1 + r 2 ) 1 ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) 1 ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r n ) 1 0 ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 1 ) ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r 1 ) ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r n ) ( 1 + r 1 ) 0 0 ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r n ) ( 1 + r 1 ) ( 1 + r 2 ) 0 0 0 ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r n ) ( 1 + r 1 ) ( 1 + r 2 ) ( 1 + r 3 ) ( 1 + r n - 1 ) )
  • According to one embodiment of the present invention, a gross rate of returns function prototype is stored in function database 150 f based upon the follow equation: For a set of returns (r1-rn):
  • Gross Rate of Return = [ i ( i + r 1 ) ] - 1
  • According to one embodiment of the present invention, a monitor function calculates a number of ‘up’ or ‘down’ days for a given investment over a certain period. Thus, the following equation describes a monitor function:
  • i N δ ( r i = up )
  • Thus, for example, according to one embodiment, the maximum drawdown function, the gross rate of return function (as described above) and the monitor function are coded according to a predefined syntax and stored as a function prototype in function database 150 f.
  • FIG. 8 depicts a data structure for storing plot information in a plot database at a financial information site according to one embodiment of the present invention. Each plot type record 805 stores plot type ID field 810 and one or more plot parameter fields 825(1)-825(N). Plot ID field stores a unique 32-bit integer identifying a particular plot type. Plot parameter fields 825(1)-825(N) store various parameters relating to formatting of plots.
  • FIG. 9 a (reprinted from Efron and Tibshirani) depicts the underlying theory of the bootstrap method. Ideally statistical inferences are based on a known probability distribution {circumflex over (F)}. A parameter is a function of a known probability distribution {circumflex over (F)}.

  • θ=t(F)
  • Furthermore, generally financial data may not be modeled parametrically because it is heavy tailed (i.e., non-Gaussian) and therefore, {circumflex over (F)} is not known or ascertainable. For example, with respect to financial data, an investor may desire to study a specific parameter of a financial investment such as the gross rate of return of a stock over a certain period of time that is dependent upon knowledge of the true probability distribution function for the investment. However, generally neither the PDF for an investment, nor the PDF for a parameter such as the gross rate of return over a specified time period for the investment (which is dependent upon the underlying PDF) is known.
  • Resampled statistical methods such as the bootstrap attempt to estimate the PDF of an unknown distribution using sampled data. Typically, sample data is available for an investment that is dependent upon an unknown PDF F.

  • F→x=(x 1,2 , . . . , x n)
  • The empirical distribution function {circumflex over (F)} is defined to be the discrete distribution that puts probability 1/n on each value xi, i=1, 2, . . . n. {circumflex over (F)} assigns to a set A in the sample space of x its empirical probability Prob {A}=#{xiεA}/n, In, the proportion of the observed sample x=(x1,2, . . . , xn).
  • The plug-in principle is a method of estimating parameters from samples. The plug-in estimate of a parameter θ=t(F) is defined to be {circumflex over (θ)}=t({circumflex over (F)}) 910. These statistics are referred to as summary statistics, estimates or estimators. Resampled statistical methods attempt to determine the distribution of θ, an estimator of θ, derived from a sample x.
  • Bootstrap methods depend on the notion of a bootstrap sample. If {circumflex over (F)} is an empirical distribution with probability of 1/n for each of the observed values xi, i=1, 2, . . . n, a bootstrap sample is defined to be a random sample of size n drawn from {circumflex over (F)}, x*=(x1*, x2*, . . . , xn*), where {circumflex over (F)}→(x1*, x2*, . . . , xn*). The star notion indicates that x* is not the actual data set x, but rather a randomized, or resampled version of x. The bootstrap data points x1*, x2*, . . . , xn* are a random sample of size n drawn with replacement from the population of n objects (x1, x2, . . . , xn). Corresponding to a bootstrap data set x* is a bootstrap replication of {circumflex over (θ)}, {circumflex over (θ)}*=s(x*) 915. The quantity s(x*) is the result of applying the same function s(•) to x* as was applied to x (i.e., the statistical function of interest). For example, s(•) may be the gross rate of return of an investment over a specific period of time.
  • Thus the bootstrap attempts to estimate a parameter of interest θ=t(F) from an unknown distribution F using a random sample x=(x1, x2, . . . , xn). Given a random sample x=(x1, x2, . . . , xn) and a statistic {circumflex over (θ)}=s(x,F) that depends on the sample and possibly the underlying distribution F, the distribution of {circumflex over (θ)},

  • ζF({circumflex over (θ)}=s(x,F))
  • is estimated by that of

  • ζF({circumflex over (θ)}*=s(x*,{circumflex over (F)})
  • FIG. 9 b depicts a process for performing a bootstrap method (a resampled statistical method) to generate a distribution of bootstrap replications according to one embodiment of the present invention. In step 920, a sample space x is selected. In step 925, a statistical function based on the sample space data is computed {circumflex over (θ)}=t({circumflex over (F)}). In step 930, bootstrap samples x*=(x1*, x2*, . . . , xn*), are generated from the sample space using a resampling process. In step 935, a bootstrap replication {circumflex over (θ)}=s(x*) is computed for each bootstrap sample using a desired function. In step 940, a plot of the distribution of bootstrap replications (s(x*1), s(x*2) . . . s(x*B)) is generated in order to estimate the distribution of {circumflex over (θ)}.
  • FIG. 10 is a flowchart of steps for initializing a resampled statistical analysis of financial data at a financial information site 119 according to one embodiment of the present invention. In step 1005, the process is initiated upon receipt of a request for a resampled statistical analysis of financial data, which is received via front end subsystem 129 (e.g., via an HTML form). In step 1010, input parameters relating to a resampled statistical analysis are received via client/gateway server 140 a and transmitted to back end server 140 b. According to one embodiment, the following parameters are solicited from a client 105: investment; function;
  • periods (Q);
  • bias;
  • sample_size;
  • replications; and
  • plot_type.
  • The ‘investment’ parameter specifies an identifier of an investment (i.e., 410) stored in investment database 150 e. The ‘function’ parameter specifies a function prototype identifier (i.e., 710) stored in function database 150 f. For example, according to one embodiment, the function prototype may correspond to a function for maximum drawdown, gross rate of return or a monitor function as described above. The ‘periods’ parameter specifies a number of periods for which a client 105 desires to evaluate an investment. For example, a client 105 may desire to perform a resampled statistical analysis for the gross rate of returns of an investment over a 253-day period. The ‘bias’ parameter is a decimal value that is either −1 or between 0 and 1 that specifies the degree of randomness in the resampling process. A value of −1 indicates that the resampling process should be conducted purely randomly. As described in more detail below, if the ‘bias’ parameter is between 0 and 1, sampling is performed so that b % of the samples are ‘up’ days and 1-b % of the samples are ‘down’ ‘days, where b=bias. Thus, if b=1, only ‘up’ days will be selected and if b=0 only ‘down’ days are selected. The ‘sample_size’ parameter specifies a number of samples to use in the resampling process (the size of the x). The ‘replications’ parameter specifies a number of bootstrap samples to be used in the resampling process. The ‘plot_type’ parameter specifies a plot type identifier (i.e., 810) pertaining to formatting parameters to be used in generating a plot of distribution results.
  • In step 1015, back end server 140 b requests the initiation of a resampled statistical analysis process at RSAE 139. In particular, according to one embodiment of the present invention, back end server 140 b transmits the following vector to control server 140 c at RSAE 139: request_resampling process (investment, function, periods (Q), bias, sample_size, replications, plot_type).
  • Back end server 140 b then waits for completion of the resampled statistical analysis task. In step 1020, back end server 140 b determines whether RSAE 139 has completed the resampling process. According to one embodiment, upon completion of the resampling process, control server 140 c transmits a completion signal to back end server 140 b and an address in output data area 160 b where output data of a resampled statistical process is stored. If the resampling process is not completed (‘no’ branch of step 1020), back end server 140 b continues to wait for notification. If the resampling method is completed (‘yes’ branch of step 1020), in step 1025, back end processor 140 b requests a graphics plot from GRE 129. In particular, according to one embodiment, back end processor 140 b transmits the following vector to graphics rendering server 140 e at GRE 149: plot (OutAddr, plot_type, plot_parameters).
  • OutAddr specifies an address in output data area, which stores results of a resampled statistical process previously conducted by RSAE 139, plot_type specifies a plot type requested by a client 105 and plot_parameters specifies additional plotting parameters that may be required by GRE 129. Back end server 140 b then waits for completion of the plot. In step 1027, back end processor 140 b determines whether graphics rendering server 140 e has completed the requested plot (i.e., whether graphics server has transmitted a completion signal to back end processor). According to one embodiment, upon completion of a plot, graphics rendering server 140 e transmits a completion signal to back end processor 140 b. Graphics rendering server 140 e also transmits results of the plotting process in the form of plot data, which may be used to dynamically create an HTML page for transmission to a client 105. If the plot is not finished (‘no’ branch of step 1027), back end processor 140 b continues to wait for the completion signal. If the plot has been completed (‘yes’ branch of step 1027) in step 1029 and back end processor 140 b transmits the plot data results (e.g., HTML page) to client/gateway server 140 a for transmission to client 105. The process ends in step 1030.
  • FIG. 11 is a flowchart that depicts a set of preparation steps performed by a control server 140 c at a financial information site 119 to initialize a resampled statistical analysis of financial data using a parallel processing. In step 1105, the process is initiated upon the receipt of a request_resampling_process vector from back end server 140 b as described above with reference to FIG. 10.
  • In steps 1115-1119, control server 140 c reserves appropriate memory in shared memory area 160 a and output data area 160 b and stores appropriate sample data for processing in shared memory area 160 a. In particular, in step 1115, a sample space is determined using the sample_size parameter received in step 1105. Because financial database 150 d may store samples for investments for many different time periods, in step 1115, a set of relevant samples for the resampled statistical analysis requested by the client 105 is determined. In step 1117, based upon the sample_size parameter, control server 140 c determines an amount of memory required for storage of samples in shared memory area 160 a and allocates an appropriate memory block in shared memory area 160 a for storage of the samples. Further, based upon the replications parameter, server 140 c also determines an amount of memory to reserve in output data memory area 160 b for storage of results of the resampling process. In step 1119, based upon the sample_size parameter, server 140 c retrieves financial data samples from financial database 150 d and stores these samples in shared memory area 160 a in the memory block previously reserved in step 1117. In step 1120, process server 140 c computes a from the sample data stored in shared memory area 160 a. In particular, a statistical function such as the mean, median or standard distribution is calculated by dividing the sample space into appropriate length periods.
  • In steps 1125-1160, control server 140 c executes a series of steps to format and prepare the data for processing. Specifically, in step 1125, autocorrelation of the sample space data stored in shared memory area 160 a is analyzed. Specifically, control server 140 c executes a process to calculate the autocorrelation and partial autocorrelation functions on the data stored in shared memory area 160 a for a number of different lag periods (a) and stores the results in temporary storage. According to one embodiment, the following equations are utilized to calculate the autocorrelation and partial autocorrelation functions for the data stored in shared memory area 160 a:
  • ∀a<n and 1≦x<a:
  • Samples in the sample space are defined as:
  • r=(r1, r2, . . . , rn)
  • Shifted versions of the sample space are defined:
  • Z1≡(r1, r2, . . . , rn-a)
  • Z2≡(ra+1, r2, . . . , rn)
  • Z2≡(ra+1−x, . . . , rn-x)
  • The autocorrelation function is defined as:
  • ACF ( a ) = S ( a ) z 1 z 2 S ( a ) z 1 S ( a ) z 2
  • The partial autocorrelation function is defined as:
  • PACF ( x , a ) = S ( a ) z 1 z 2 - S ( a ) z 2 z x S ( a ) z 1 z s 1 - ( S ( a ) z 2 z x ) 2 1 - ( S ( a ) z 1 z x ) 2
  • The following are intermediate calculations:
  • S ( a ) z 1 z 2 = ( Z 1 i - Z 1 _ ) ( Z 2 i - Z 2 _ ) n - a - 1 S ( a ) z 1 = i = 1 n - a ( Z 1 i - Z 1 _ ) 2 n - a - 1 S ( a ) z 2 = i = a + 1 n ( Z 2 i - Z 2 _ ) 2 n - a - 1 Z 1 i _ = i = 1 n - a Z 2 i n - a Z 2 i _ = i = a + 1 n Z 2 i n - a
  • In step 1130, the autocorrelation and partial autocorrelation data calculated is analyzed to determine a minimum lag factor (N) that minimizes the autocorrelation (a). The minimum lag factor (a) corresponds to the number of consecutive periods that are selected at one time during the resampling process.
  • In step 1135, the bias parameter received in step 1105 is analyzed. If no bias is selected (i.e., bias=−1 and data is to be selected randomly), control passes to step 1045 (‘no’ branch of step 1035). If bias< >0, in step 1040, a bias initialization algorithm is performed as described in detail below. In step 1145, it is determined whether the sample space data should be transformed. This determination is based upon the precise function requested by the client 105 (i.e., specified by function parameter). For example, if the function is gross rate of return over a specified period, no transformation step is required. However, if for example, the function type is the monitor type, the sample data is transformed to represent the sign of the returns only (i.e., −1 and +1). Other variations will exist depending upon the type of functions implemented. If no transformation is necessary (‘no’ branch of step 1145), control is transferred to step 1160. Otherwise (‘yes’ branch of step 1045) in step 1150, the data is transformed and restored in shared memory area 160 b in step 1150.
  • In step 1160, the variable M=Int(Q/N) is determined. The variable ‘M’ specifies the number of samples to select for each resampling. In step 1165, server 140 c executes a request for parallel processing of data stored in shared memory area 160 a by transmitting a vector to parallel processing control server 140 d using the prototype: Request_Parallel_Process(input_addr, input_range, output_addr, output_range, M, N function, bias, replications). The parameters ‘input_addr’, ‘input_range’, ‘output_addr’ and ‘output_range’ correspond respectively to the start address and range in shared memory area 160 a and output memory area 160 b that were determined in step 1117. The parameters M and N correspond to the variables determined in steps 1130 and 1160 respectively. The parameters ‘bias’ and ‘replications’ correspond to the same parameters received in step 1105.
  • In step 1170, control server 140 c determines whether it has received a signal from parallel process control server 140 d indicating the completion of parallel processing. If not (‘no’ branch of step 1070), control server 140 c continues to wait for the completion signal. If a completion signal has been received (‘yes’ branch of step 1170), in step 1175, control server 140 c transmits a completion signal to back end server 140 b along with a memory address in output data area 160 b where the output data for the resampled method is stored.
  • FIG. 12 is a flowchart of a parallel processing control process according to one embodiment of the present invention. Although only 5 parallel processors (112 a-112 e) are depicted in FIG. 1, this number is arbitrary and any number P of parallel processors may be used to perform the resampling technique. Furthermore, although the method described herein utilizes a parallel processing architecture, the present invention does not require a parallel processing scheme. According to one embodiment of the present invention, the process depicted in FIG. 12 is implemented by parallel process control server 140 d at financial information site 119.
  • In step 1205, parallel process control server 140 d receives a vector requesting a parallel process as described in step 1165. In step 1210, parallel process control server 140 d performs a load balancing step. In step 1220, parallel process control server 140 d requests the initiation of processes on individual parallel processors 112 a-112 e by transmitting a begin_process vector to each respective parallel processor 112 a-112 e. According to one embodiment of the present invention the vector is transmitted to each processor 112 a-112 e to initiate parallel processing: begin_process (input_addr, input_range, M, N, function, bias, replications/P). The parameters ‘input_addr’, ‘input_range’, correspond respectively to the start address and range in shared memory area 160 a that were received in step 1205. The parameters ‘periods’, ‘bias’ and ‘replications’, ‘M’ and ‘N’ correspond to the same parameters received in step 1205. P specifies the number of parallel processors. Thus, each parallel processor computes replications/P replications.
  • In step 1230, parallel process control server 140 d checks to determine whether all parallel processors 112 a-112 e have completed processing. Upon completion of a processing task, each parallel processor executes a step of notifying control server 140 c of completion. In particular, according to one embodiment, upon completion each parallel processor 112 sends parallel process control server a notification message defining a memory block where output results have been stored on the respective local cache 112 a 1-112 e 1. If notifications have not been received from all processors 112 a-112 e, parallel process control server 140 c continues waiting (‘no’ branch of step 1120). Upon receipt of all completion notifications (‘yes’ branch of step 1230), parallel process control server 140 d retrieves the data output for each parallel processor stored on local cache 112 a 1-112 a 5.
  • In step 1240, parallel process control server assembles all output data from each respective local cache 112 a 1-112 e 1 in output data area 160 b. In step 1250, parallel process control server 140 d notifies server control 140 c that the parallel processing is completed. The process ends in step 1260.
  • FIG. 13 is a flowchart of set of steps for performing a resampled statistical method according to one embodiment of the present invention. The steps shown in FIG. 13 are executed on each parallel processor 112 a-112 e upon the request for a parallel process by server 140 d. In step 1305, the process is initiated and each parallel processor receives a begin_process vector as described above with reference to step 1220 of FIG. 12. In step 1310 each respective processor 112 a-112 e determines a range of output memory in local cache 112 a 1-112 e 1 for storage of output results. In step 1320, the parallel processor 112 determines a random start location in shared memory area 160 a to begin sampling. In step 1325, it is determined whether all replications (Q) have been completed. If not (‘no’ branch of step 1325) processing continues with steps 1330-1345. Steps 1330-1345 correspond to the selection of a bootstrap sample x*Replication. In step 1330, a temporary variable ‘Count’ is set to zero. In step 1335, N consecutive periods of sample points are selected from shared memory area. The degree of randomness in selection is determined by the variable ‘bias’. If bias=−1, the beginning of each consecutive period is selected purely randomly. If the ‘bias’ parameter is set to any value other than −1, sampling is performed so that bias percent of the samples are “up” days for the investment and 1-bias percent of the samples are “down” days for the investment as described in detail below. Thus, if bias=1, only “up” days will be selected. In step 1340, the temporary ‘Count’ variable is increment. A biasing process is described in detail below with reference to FIG. 14. In step 1345, it is determined whether Count=M. If not (‘no’ branch of step 1345), flow continues with step 1335 (i.e., another N consecutive periods are selected). If so (‘yes’ branch of step 1345), flow continues with step 1350, and a bootstrap replication s(x*replication) is computed corresponding to the function s(•) received in step 1305. In step 1355, the bootstrap replication s(x*replication) is stored in local cache (e.g., 120 a 1). Flow continues with step 1325. When all replications have been completed (‘yes’ branch of step 1325), in step 1360, the parallel processor 112 notifies parallel process control server 140 d that processing has been completed and also notifies parallel process control server 140 d of the memory block in local cache (i.e., 112 a-112 e 1) where the output data is stored.
  • FIG. 14 is a flowchart of a set of steps for conducting a bias algorithm according to one embodiment of the present invention. The process is initiated in step 1405. In step 1410, the sample space is separated into two sets, a first set including only ‘up’ days and a second set including only ‘down’ days. In step, 1420 a random number r, between 0 and 1 is selected. In step 1430, it is determined whether the random number r<=b (the bias parameter specified by the client). If so (‘yes’ branch of step 1430), in step 1440, an up day is selected. If nor (‘no’ branch of step 1440), in step 1450, a down day is selected. The process ends in step 1460. The process depicted in FIG. 14 is repeated for each bootstrap sample.
  • FIG. 15 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to gross rate of returns. As depicted in FIG. 15, investment strategy 1510 outperforms investment strategy 1520.
  • FIG. 16 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to maximum drawdown. As depicted in FIG. 16, investment strategy 1610 outperforms investment strategy 1620.
  • FIG. 17 is an exemplary plot of a resampled statistical analysis comparing two investment strategies with respect to a monitor function. As depicted in FIG. 17, investment strategies 1720 outperforms investment strategy 1710.

Claims (13)

1. A method for providing statistical analysis of investment data over an information network, comprising the steps of:
(a) storing investment data pertaining to at least one investment;
(b) receiving a statistical analysis request corresponding to a selected investment;
(c) receiving a bias parameter, wherein the bias parameter is adjustable to select a degree of randomness in a resampling process;
(d) based upon investment data pertaining to the selected investment, performing a resampled statistical analysis to generate a resampled distribution;
(e) further including the steps of generating a plot based upon the resampled distribution;
(f) wherein the step of performing a resampled statistical analysis further includes the steps of:
(1) selecting a sample space;
(2) generating at least one bootstrap sample from the sample space;
(3) for each bootstrap sample, generating a corresponding bootstrap replication;
(g) further including the steps of
(1) before step (b), calculating at least one of an autocorrelation function and a partial autocorrelation function of the sample space for each of at least one lag parameter (a); and
(2) determining a minimum lag parameter, N, wherein the minimum lag parameter N minimizes an autocorrelation function of the sample space.
2. The method according to claim 1, wherein the step of generating at least one bootstrap sample, further includes the steps of:
(a) randomly selecting a starting point in the sample space;
(b) selecting a set of N consecutive data points from the sample space; and,
(c) repeating steps (a)-(b) until at least Q data points have been selected, wherein Q is a number of periods.
3. The method according to claim 2, wherein the bias parameter is used to control a degree of randomness in selecting the set of Q data points.
4. A system for providing statistical analysis of investment information over an information network comprising:
a financial data database for storing investment data pertaining to two or more investments;
a front end subsystem for receiving a single statistical analysis request corresponding to two or more selected investments;
a parallel processor, wherein the parallel processor includes:
at least one processor for performing resampled statistical analysis based upon the single statistical analysis request.
5. The system according to claim 4, wherein the front end subsystem includes a Web server.
6. The system according to claim 4, wherein each of the at last one processor performs a resampled statistical analysis of a financial investment in parallel using financial data stored in a shared memory area.
7. A method for calculating, analyzing and displaying investment data comprising the steps of:
(a) selecting a sample space, wherein the sample space includes at least one investment data sample and at least a first investment data value associated with a first investment and a second investment data value associated with a second investment specified by a user;
(b) generating a distribution function using a re-sampled statistical method, samples drawn from the selected sample space, a temporal data object corresponding to both the first and second investment data values, and a bias parameter specified by the user, wherein the bias parameter is adjustable to select a degree of randomness in the drawing of samples from the selected sample space in a resampling process; and
(c) generating a plot of the distribution function.
8. The method according to claim 7, wherein the re-sampled statistical method is a bootstrap method.
9. The method according to claim 8 wherein step (b) includes the steps of:
(a) generating at least one bootstrap sample from the sample space; and
(b) for each bootstrap sample, generating a corresponding bootstrap replication.
10. The method according to claim 9 wherein the step of generating at least one bootstrap sample, further includes the steps of randomly selecting a set of Q data points from the sample space, wherein Q is a number of periods.
11. The method according to claim 10 wherein the step of generating a bootstrap replication, further includes the step of taking a predetermined function of a bootstrap sample.
12. The method according to claim 7, where in the re-sampled statistical method is a cross-validation method.
13. The method according to claim 11, wherein the predetermined function is one of a gross rate of return function, a maximum drawdown function and a monitor function.
US14/735,100 2000-01-21 2015-06-09 Method and system for analysis, display and dissemination of financial information using resampled statistical methods Abandoned US20160005127A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/735,100 US20160005127A1 (en) 2000-01-21 2015-06-09 Method and system for analysis, display and dissemination of financial information using resampled statistical methods

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/489,364 US6349291B1 (en) 2000-01-21 2000-01-21 Method and system for analysis, display and dissemination of financial information using resampled statistical methods
US201414495751A 2014-09-24 2014-09-24
US14/735,100 US20160005127A1 (en) 2000-01-21 2015-06-09 Method and system for analysis, display and dissemination of financial information using resampled statistical methods

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US201414495751A Continuation 2000-01-21 2014-09-24

Publications (1)

Publication Number Publication Date
US20160005127A1 true US20160005127A1 (en) 2016-01-07

Family

ID=23943550

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/489,364 Expired - Lifetime US6349291B1 (en) 2000-01-21 2000-01-21 Method and system for analysis, display and dissemination of financial information using resampled statistical methods
US14/735,100 Abandoned US20160005127A1 (en) 2000-01-21 2015-06-09 Method and system for analysis, display and dissemination of financial information using resampled statistical methods

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/489,364 Expired - Lifetime US6349291B1 (en) 2000-01-21 2000-01-21 Method and system for analysis, display and dissemination of financial information using resampled statistical methods

Country Status (3)

Country Link
US (2) US6349291B1 (en)
AU (1) AU2001226027A1 (en)
WO (1) WO2001054016A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387890B2 (en) * 2004-09-29 2019-08-20 Lyft, Inc. Method and apparatus for managing financial control validation processes
US20200028701A1 (en) * 2018-07-19 2020-01-23 Bank Of Montreal Systems and methods for alert services

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809642B1 (en) 1998-06-22 2010-10-05 Jpmorgan Chase Bank, N.A. Debit purchasing of stored value card for use by and/or delivery to others
US6615189B1 (en) * 1998-06-22 2003-09-02 Bank One, Delaware, National Association Debit purchasing of stored value card for use by and/or delivery to others
US7660763B1 (en) 1998-11-17 2010-02-09 Jpmorgan Chase Bank, N.A. Customer activated multi-value (CAM) card
US6032136A (en) * 1998-11-17 2000-02-29 First Usa Bank, N.A. Customer activated multi-value (CAM) card
US7966234B1 (en) 1999-05-17 2011-06-21 Jpmorgan Chase Bank. N.A. Structured finance performance analytics system
US6882984B1 (en) * 1999-06-04 2005-04-19 Bank One, Delaware, National Association Credit instrument and system with automated payment of club, merchant, and service provider fees
US7542921B1 (en) 1999-09-30 2009-06-02 Jpmorgan Chase Bank, N.A. Network-based financial planning system and method
US8793160B2 (en) 1999-12-07 2014-07-29 Steve Sorem System and method for processing transactions
US7275046B1 (en) * 1999-12-30 2007-09-25 Dst Systems Inc. Simultaneous real-time access to financial information
US7613647B1 (en) * 2000-01-19 2009-11-03 Itg Software Solutions, Inc. System and method for executing strategy security trading
US6615190B1 (en) * 2000-02-09 2003-09-02 Bank One, Delaware, National Association Sponsor funded stored value card
US6941279B1 (en) * 2000-02-23 2005-09-06 Banke One Corporation Mutual fund card method and system
JP2001243351A (en) * 2000-03-01 2001-09-07 Hitachi Kokusai Electric Inc Information display device
US7392210B1 (en) 2000-04-07 2008-06-24 Jpmorgan Chase Bank, N.A. Workflow management system and method
US7113914B1 (en) * 2000-04-07 2006-09-26 Jpmorgan Chase Bank, N.A. Method and system for managing risks
US7249095B2 (en) 2000-06-07 2007-07-24 The Chase Manhattan Bank, N.A. System and method for executing deposit transactions over the internet
US7031935B1 (en) * 2000-07-31 2006-04-18 J.P. Morgan Advisory Services Inc. Method and system for computing path dependent probabilities of attaining financial goals
AU2001282935A1 (en) 2000-08-01 2002-02-13 First Usa Bank, N.A. System and method for transponder-enabled account transactions
US7392212B2 (en) * 2000-09-28 2008-06-24 Jpmorgan Chase Bank, N.A. User-interactive financial vehicle performance prediction, trading and training system and methods
US7136834B1 (en) 2000-10-19 2006-11-14 Liquidnet, Inc. Electronic securities marketplace having integration with order management systems
AUPR109700A0 (en) 2000-10-27 2000-11-23 Share-Tech Software Pty Ltd Trading system
US7313541B2 (en) 2000-11-03 2007-12-25 Jpmorgan Chase Bank, N.A. System and method for estimating conduit liquidity requirements in asset backed commercial paper
US6631849B2 (en) * 2000-12-06 2003-10-14 Bank One, Delaware, National Association Selectable multi-purpose card
WO2002047311A2 (en) * 2000-12-07 2002-06-13 Newsgrade Corporation System and method for organizing, navigating and analyzing data
US7433829B2 (en) 2000-12-12 2008-10-07 Jpmorgan Chase Bank, N.A. System and method for managing global risk
US7295999B1 (en) * 2000-12-20 2007-11-13 Jpmorgan Chase Bank, N.A. System and method for determining eligibility and enrolling members in various programs
US6985873B2 (en) * 2001-01-18 2006-01-10 First Usa Bank, N.A. System and method for administering a brokerage rebate card program
US7685060B2 (en) * 2001-02-16 2010-03-23 Morgan Stanley System and method for managing financial account information
US7895098B2 (en) 2001-03-01 2011-02-22 Jpmorgan Chase Bank, N.A. System and method for measuring and utilizing pooling analytics
WO2002073362A2 (en) * 2001-03-14 2002-09-19 Duke University Methods and systems for identifying attributable errors in financial processes
US7596526B2 (en) * 2001-04-16 2009-09-29 Jpmorgan Chase Bank, N.A. System and method for managing a series of overnight financing trades
US6799148B2 (en) * 2001-05-03 2004-09-28 Invensys Systems, Inc. Electronic mail based remote historian and system
US7313546B2 (en) 2001-05-23 2007-12-25 Jp Morgan Chase Bank, N.A. System and method for currency selectable stored value instrument
AU2002327322A1 (en) 2001-07-24 2003-02-17 First Usa Bank, N.A. Multiple account card and transaction routing
US7809641B2 (en) * 2001-07-26 2010-10-05 Jpmorgan Chase Bank, National Association System and method for funding a collective account
US7311244B1 (en) 2001-08-13 2007-12-25 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
US8020754B2 (en) 2001-08-13 2011-09-20 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
US8800857B1 (en) 2001-08-13 2014-08-12 Jpmorgan Chase Bank, N.A. System and method for crediting loyalty program points and providing loyalty rewards by use of an electronic tag
US6945453B1 (en) * 2001-08-13 2005-09-20 Bank One Delaware N.A. System and method for funding a collective account by use of an electronic tag
US20100030675A1 (en) * 2001-12-06 2010-02-04 Hanan Christopher C Payor focused business to business electronic invoice presentment and accounts payable reconciliation system and method
US7512566B1 (en) 2001-12-11 2009-03-31 Jpmorgan Chase Bank, N.A. System and method for using a stored value account having subaccount feature
US7756896B1 (en) 2002-03-11 2010-07-13 Jp Morgan Chase Bank System and method for multi-dimensional risk analysis
US7899753B1 (en) * 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
US20180165441A1 (en) 2002-03-25 2018-06-14 Glenn Cobourn Everhart Systems and methods for multifactor authentication
US20040210498A1 (en) 2002-03-29 2004-10-21 Bank One, National Association Method and system for performing purchase and other transactions using tokens with multiple chips
US8751391B2 (en) 2002-03-29 2014-06-10 Jpmorgan Chase Bank, N.A. System and process for performing purchase transactions using tokens
US20030195831A1 (en) * 2002-04-12 2003-10-16 Ibbotson Associates, Inc. Portfolio generation using resampled efficient frontiers and interval-associated groups
AU2003230405A1 (en) * 2002-05-07 2003-11-11 Markov Processes International, Llc A method and system to solve dynamic multi-factor models in finance
US8224723B2 (en) 2002-05-31 2012-07-17 Jpmorgan Chase Bank, N.A. Account opening system, method and computer program product
US20030229552A1 (en) * 2002-06-05 2003-12-11 Lebaric Katarina J. System and method for deal-making decision optimization
US8229834B2 (en) * 2002-06-12 2012-07-24 Itg Software Solutions, Inc. System, method and program for agency cost estimation
US7974906B2 (en) 2002-06-12 2011-07-05 Itg Software Solutions, Inc. System and method for estimating and optimizing transaction costs
US8239304B1 (en) 2002-07-29 2012-08-07 Jpmorgan Chase Bank, N.A. Method and system for providing pre-approved targeted products
US7606756B2 (en) * 2002-08-02 2009-10-20 Jpmorgan Chase Bank, N.A. Synthetic funds having structured notes
US7809595B2 (en) 2002-09-17 2010-10-05 Jpmorgan Chase Bank, Na System and method for managing risks associated with outside service providers
US20040122736A1 (en) * 2002-10-11 2004-06-24 Bank One, Delaware, N.A. System and method for granting promotional rewards to credit account holders
US6928418B2 (en) * 2002-10-25 2005-08-09 Michaud Partners, Llp Portfolio rebalancing by means of resampled efficient frontiers
US20050044033A1 (en) * 2003-01-10 2005-02-24 Gelson Andrew F. Like-kind exchange method
US20040148247A1 (en) * 2003-01-24 2004-07-29 Lawrence Miller Network-based systems, methods, and software for initiating or executing financial transactions
US20040148566A1 (en) * 2003-01-24 2004-07-29 Jp Morgan Chase Bank Method to evaluate project viability
US20040153418A1 (en) * 2003-02-05 2004-08-05 Hanweck Gerald Alfred System and method for providing access to data from proprietary tools
US20050027649A1 (en) * 2003-02-27 2005-02-03 Richard Cech Event typer
US20040215697A1 (en) * 2003-04-11 2004-10-28 Vasileios Vergopoulos Systems and methods for managing unit operating data
US7634435B2 (en) * 2003-05-13 2009-12-15 Jp Morgan Chase Bank Diversified fixed income product and method for creating and marketing same
US8306907B2 (en) 2003-05-30 2012-11-06 Jpmorgan Chase Bank N.A. System and method for offering risk-based interest rates in a credit instrument
US7770184B2 (en) * 2003-06-06 2010-08-03 Jp Morgan Chase Bank Integrated trading platform architecture
US20050015324A1 (en) * 2003-07-15 2005-01-20 Jacob Mathews Systems and methods for trading financial instruments across different types of trading platforms
US7970688B2 (en) * 2003-07-29 2011-06-28 Jp Morgan Chase Bank Method for pricing a trade
US7086586B1 (en) 2003-08-13 2006-08-08 Bank One, Delaware, National Association System and method for a card payment program providing mutual benefits to card issuers and cardholders based on financial performance
US7624068B1 (en) * 2003-08-18 2009-11-24 Jpmorgan Chase Bank, N.A. Method and system for dynamically adjusting discount rates for a card transaction
US20050044028A1 (en) * 2003-08-21 2005-02-24 International Business Machines Corporation Method, system, and product for providing a graphical and interactive financial planning tool
US7953663B1 (en) 2003-09-04 2011-05-31 Jpmorgan Chase Bank, N.A. System and method for financial instrument pre-qualification and offering
US20050060252A1 (en) * 2003-09-11 2005-03-17 Andrew Doddington Graphical software tool for modeling financial products
US20050060256A1 (en) * 2003-09-12 2005-03-17 Andrew Peterson Foreign exchange trading interface
US8239323B2 (en) * 2003-09-23 2012-08-07 Jpmorgan Chase Bank, N.A. Method and system for distribution of unactivated bank account cards
US7593876B2 (en) * 2003-10-15 2009-09-22 Jp Morgan Chase Bank System and method for processing partially unstructured data
US20050222937A1 (en) * 2004-03-31 2005-10-06 Coad Edward J Automated customer exchange
US8423447B2 (en) * 2004-03-31 2013-04-16 Jp Morgan Chase Bank System and method for allocating nominal and cash amounts to trades in a netted trade
CN1319315C (en) * 2004-04-30 2007-05-30 南京汉德森科技股份有限公司 Network supported information issuing displaying system and control method thereof
US20050251478A1 (en) * 2004-05-04 2005-11-10 Aura Yanavi Investment and method for hedging operational risk associated with business events of another
US7536333B1 (en) * 2004-06-14 2009-05-19 Joseph Hy Omansky System of hedge fund ratings
US7974895B1 (en) 2004-07-16 2011-07-05 Jp Morgan Chase Bank System and method for developing finance rate information
US7392222B1 (en) 2004-08-03 2008-06-24 Jpmorgan Chase Bank, N.A. System and method for providing promotional pricing
US7693770B2 (en) 2004-08-06 2010-04-06 Jp Morgan Chase & Co. Method and system for creating and marketing employee stock option mirror image warrants
US20060089892A1 (en) * 2004-10-27 2006-04-27 Sullivan Peter A Methods and apparatus for investment portfolio selection, allocation, and management to generate sustainable withdrawals
GB0424656D0 (en) * 2004-11-08 2004-12-08 Crescent Technology Ltd bScale:an adaptive multi-strategy trading framework
US20090132428A1 (en) * 2004-11-15 2009-05-21 Stephen Jeffrey Wolf Method for creating and marketing a modifiable debt product
US20110161958A1 (en) * 2005-01-03 2011-06-30 Jp Morgan Chase Bank Method and system for managing business calculations using multi-dimensional data
US7890343B1 (en) 2005-01-11 2011-02-15 Jp Morgan Chase Bank System and method for generating risk management curves
US20090164384A1 (en) * 2005-02-09 2009-06-25 Hellen Patrick J Investment structure and method for reducing risk associated with withdrawals from an investment
US8630898B1 (en) 2005-02-22 2014-01-14 Jpmorgan Chase Bank, N.A. Stored value card provided with merchandise as rebate
US8688569B1 (en) 2005-03-23 2014-04-01 Jpmorgan Chase Bank, N.A. System and method for post closing and custody services
US7801808B1 (en) 2005-03-24 2010-09-21 Morgan Stanley Database structure for financial products with unique, consistent identifier for parties that assume roles with respect to the products and methods of using the database structure
US7401731B1 (en) 2005-05-27 2008-07-22 Jpmorgan Chase Bank, Na Method and system for implementing a card product with multiple customized relationships
US20090187512A1 (en) * 2005-05-31 2009-07-23 Jp Morgan Chase Bank Asset-backed investment instrument and related methods
US7822682B2 (en) 2005-06-08 2010-10-26 Jpmorgan Chase Bank, N.A. System and method for enhancing supply chain transactions
US20110035306A1 (en) * 2005-06-20 2011-02-10 Jpmorgan Chase Bank, N.A. System and method for buying and selling securities
US20070027799A1 (en) * 2005-07-29 2007-02-01 Jpmorgan Chase Bank, N.A. Universal line of credit having multiple financial product features
US7567928B1 (en) 2005-09-12 2009-07-28 Jpmorgan Chase Bank, N.A. Total fair value swap
US20070073685A1 (en) * 2005-09-26 2007-03-29 Robert Thibodeau Systems and methods for valuing receivables
US7818238B1 (en) 2005-10-11 2010-10-19 Jpmorgan Chase Bank, N.A. Upside forward with early funding provision
US7962396B1 (en) 2006-02-03 2011-06-14 Jpmorgan Chase Bank, N.A. System and method for managing risk
US8280794B1 (en) 2006-02-03 2012-10-02 Jpmorgan Chase Bank, National Association Price earnings derivative financial product
US7784682B2 (en) 2006-02-08 2010-08-31 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US8408455B1 (en) 2006-02-08 2013-04-02 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US7753259B1 (en) 2006-04-13 2010-07-13 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US7752123B2 (en) * 2006-04-28 2010-07-06 Townsend Analytics Ltd. Order management system and method for electronic securities trading
US7620578B1 (en) 2006-05-01 2009-11-17 Jpmorgan Chase Bank, N.A. Volatility derivative financial product
US7647268B1 (en) 2006-05-04 2010-01-12 Jpmorgan Chase Bank, N.A. System and method for implementing a recurrent bidding process
US7707192B1 (en) 2006-05-23 2010-04-27 Jp Morgan Chase Bank, N.A. Confidence index for assets
US7536417B2 (en) * 2006-05-24 2009-05-19 Microsoft Corporation Real-time analysis of web browsing behavior
US7505918B1 (en) 2006-05-26 2009-03-17 Jpmorgan Chase Bank Method and system for managing risks
US20080027880A1 (en) * 2006-07-07 2008-01-31 Dan Yu Investment chart-based interactive trade simulation training and game system
US9811868B1 (en) 2006-08-29 2017-11-07 Jpmorgan Chase Bank, N.A. Systems and methods for integrating a deal process
US7827096B1 (en) 2006-11-03 2010-11-02 Jp Morgan Chase Bank, N.A. Special maturity ASR recalculated timing
US7725622B2 (en) * 2006-11-29 2010-05-25 Townsend Analytics, Ltd. Data distribution system and method
US20080127230A1 (en) * 2006-11-29 2008-05-29 Townsend Analytics, Ltd. Method and system for transmitting data
US20080177659A1 (en) * 2007-01-19 2008-07-24 Timothy Douglas Lacey Systems and methods for providing financial processing in conjunction with instant messaging and other communications
US8521627B2 (en) * 2007-04-18 2013-08-27 Blockross Holdings, LLC Systems and methods for facilitating electronic securities transactions
US8117105B2 (en) 2007-04-18 2012-02-14 Pulse Trading, Inc. Systems and methods for facilitating electronic securities transactions
US8676642B1 (en) 2007-07-05 2014-03-18 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to financial account holders
US8417601B1 (en) 2007-10-18 2013-04-09 Jpmorgan Chase Bank, N.A. Variable rate payment card
USD582977S1 (en) 2008-02-21 2008-12-16 Jpmorgan Chase Bank, N.A. Transaction device
US8478637B1 (en) 2008-04-08 2013-07-02 Jpmorgan Chase Bank, N.A. Index for assessing discount potential
US8674993B1 (en) 2009-10-14 2014-03-18 John Fleming Graph database system and method for facilitating financial and corporate relationship analysis
US8738514B2 (en) 2010-02-18 2014-05-27 Jpmorgan Chase Bank, N.A. System and method for providing borrow coverage services to short sell securities
US20110208670A1 (en) * 2010-02-19 2011-08-25 Jpmorgan Chase Bank, N.A. Execution Optimizer
US8352354B2 (en) * 2010-02-23 2013-01-08 Jpmorgan Chase Bank, N.A. System and method for optimizing order execution
CA2756770A1 (en) 2010-11-04 2012-05-04 Investpic, Llc Method and system for analyzing investment information
WO2012100327A1 (en) 2011-01-27 2012-08-02 Gmarkets Inc. Method and system for generating and providing data alerts
US8682876B2 (en) * 2012-04-03 2014-03-25 Sas Institute, Inc. Techniques to perform in-database computational programming
US20140040193A1 (en) * 2012-07-31 2014-02-06 Ftse Tmx Global Debt Capital Markets Inc. Computer and network processing of security spread data
US9501537B2 (en) * 2012-11-28 2016-11-22 Sap Se Parallel display of multiple query results
US9613113B2 (en) 2014-03-31 2017-04-04 International Business Machines Corporation Parallel bootstrap aggregating in a data warehouse appliance
US10672075B1 (en) 2014-12-19 2020-06-02 Data Boiler Technologies LLC Efficient use of computing resources through transformation and comparison of trade data to musical piece representation and metrical tree
US10169545B2 (en) 2015-04-21 2019-01-01 Maurice M. Klee Computer-implemented tools for use in electrophysiology
WO2018081019A1 (en) * 2016-10-24 2018-05-03 Trade Off, LLC Accelerated streaming price chart data for trading competitions
US20240273628A1 (en) * 2023-02-10 2024-08-15 The Prudential Insurance Company Of America Financial simulator guided by investor utility

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541115A (en) * 1983-02-08 1985-09-10 Pattern Processing Technologies, Inc. Pattern processing system
US5790177A (en) * 1988-10-17 1998-08-04 Kassatly; Samuel Anthony Digital signal recording/reproduction apparatus and method
US5283856A (en) * 1991-10-04 1994-02-01 Beyond, Inc. Event-driven rule-based messaging system
US5359699A (en) * 1991-12-02 1994-10-25 General Electric Company Method for using a feed forward neural network to perform classification with highly biased data
US5675746A (en) * 1992-09-30 1997-10-07 Marshall; Paul S. Virtual reality generator for use with financial information
US6018528A (en) * 1994-04-28 2000-01-25 At&T Corp System and method for optimizing spectral efficiency using time-frequency-code slicing
US5598439A (en) * 1994-05-13 1997-01-28 Hewlett-Packard Company Method and apparatus for symbol clock phase recovery
JPH10512985A (en) * 1995-01-23 1998-12-08 タンデム コンピューターズ インコーポレイテッド Track transaction state
JPH08221574A (en) * 1995-02-15 1996-08-30 Oki Electric Ind Co Ltd Seal impression directory registration system
JPH08221573A (en) * 1995-02-15 1996-08-30 Oki Electric Ind Co Ltd Seal inquiry registration system
US5946666A (en) * 1996-05-21 1999-08-31 Albert Einstein Healthcare Network Monitoring device for financial securities
US6064984A (en) * 1996-08-29 2000-05-16 Marketknowledge, Inc. Graphical user interface for a computer-implemented financial planning tool
US6012043A (en) * 1996-09-09 2000-01-04 Nationwide Mutual Insurance Co. Computerized system and method used in financial planning
US5893069A (en) * 1997-01-31 1999-04-06 Quantmetrics R&D Associates, Llc System and method for testing prediction model
US5918217A (en) * 1997-12-10 1999-06-29 Financial Engines, Inc. User interface for a financial advisory system
US6003018A (en) * 1998-03-27 1999-12-14 Michaud Partners Llp Portfolio optimization by means of resampled efficient frontiers

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387890B2 (en) * 2004-09-29 2019-08-20 Lyft, Inc. Method and apparatus for managing financial control validation processes
US20200028701A1 (en) * 2018-07-19 2020-01-23 Bank Of Montreal Systems and methods for alert services
US11522731B2 (en) * 2018-07-19 2022-12-06 Bank Of Montreal Systems and methods for alert services
US20230113006A1 (en) * 2018-07-19 2023-04-13 Bank Of Montreal Systems and methods for alert services
US12284050B2 (en) * 2018-07-19 2025-04-22 Bank Of Montreal Systems and methods for alert services

Also Published As

Publication number Publication date
AU2001226027A1 (en) 2001-07-31
US6349291B1 (en) 2002-02-19
WO2001054016A1 (en) 2001-07-26

Similar Documents

Publication Publication Date Title
US6349291B1 (en) Method and system for analysis, display and dissemination of financial information using resampled statistical methods
US7587330B1 (en) Method and system for constructing prediction interval based on historical forecast errors
Choi et al. Web-based GIS and spatial decision support system for watershed management
US7630932B2 (en) Loan rate and lending information analysis system
US8423398B2 (en) Analytically determining revenue of internet companies using internet metrics
Watson et al. Entropy balancing: a maximum-entropy reweighting scheme to adjust for coverage error
US20040153418A1 (en) System and method for providing access to data from proprietary tools
US20050108134A1 (en) Managing an investment portfolio
US20020046053A1 (en) Web based risk management system and method
US7853519B2 (en) Systems and methods for modeling credit risks of publicly traded companies
CA2551735A1 (en) Automated management of business performance information
US9836522B2 (en) Framework for ordered clustering
US20020004758A1 (en) Information ranking system, information ranking method, and computer-readable recording medium recorded with information ranking program
US20100114657A1 (en) Method and apparatus for configurable model-independent decomposition of a business metric
US20040210485A1 (en) Quoting strategy analysis system and method
CA2381172A1 (en) Information trading system and method
Fowler et al. A bias‐correcting procedure for beta estimation in the presence of thin trading
CN101120322A (en) Method and system for estimating transaction response time
US20080091485A1 (en) Report generation method and system
Alemanno et al. Evaluation of tractor performance, efficiency and fuel consumption in vineyard activities
KR100811367B1 (en) Utilization management system and its management method
US20100114658A1 (en) Method and apparatus for creating a consistent hierarchy of decomposition of a business metric
CN116777256A (en) Enterprise compliance management quantitative evaluation system and method
Gardingen et al. A Web Based CBR System for HVAC Sales Support
AU2011221395A1 (en) Performance monitoring system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION