Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PORTFOLIO RISK MANAGEMENT
Document Type and Number:
WIPO Patent Application WO/2001/035311
Kind Code:
A2
Abstract:
Portfolio risk management includes classifying assets included in an investment portfolio into groups of assets, analyzing the groups of assets using historical or simulated returns data for the assets included in the investment portfolio at a particular time, and displaying the results of the analyzing on a graphical user interface.

Inventors:
BOUCHER MICHAEL J (US)
VAN HARLOW WILLIAM (US)
Application Number:
PCT/US2000/031234
Publication Date:
May 17, 2001
Filing Date:
November 13, 2000
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FMR CORP (US)
BOUCHER MICHAEL J (US)
HARLOW WILLIAM VAN (US)
International Classes:
G06Q40/00; (IPC1-7): G06F17/60
Other References:
No Search
Attorney, Agent or Firm:
Feigenbaum, David L. (MA, US)
Download PDF:
Claims:
What is claimed is:
1. A method comprising: classifying assets included in an investment portfolio into groups of assets; analyzing the groups of assets using returns data for the assets included in the investment portfolio at a particular time; and displaying the results of the analyzing on a graphical user interface.
2. The method of claim 1 further comprising enabling a user to initiate analysis of the groups of assets.
3. The method of claim 1 further comprising enabling a user to initiate statistical analysis of the groups of assets.
4. The method of claim 1 in which the assets included in the investment portfolio are updated daily and the classifying and the analyzing occurs after the daily updates.
5. The method of claim 1 in which the analyzing includes determining volatility of the groups of assets in relation to a benchmark.
6. The method of claim 1 in which the analyzing includes determining tracking error of the groups of assets in relation to a benchmark.
7. The method of claim 1 in which the analyzing includes determining marginal tracking error of the groups of assets in relation to a benchmark.
8. The method of claim 1 in which the returns data includes historical returns data.
9. The method of claim 1 in which the returns data includes simulated returns data.
10. An article comprising a machinereadable medium which stores machineexecutable instructions, the instructions causing a machine to: classify assets included in an investment portfolio into groups of assets; analyze the groups of assets using returns data for the assets included in the investment portfolio at a particular time; and display the results of the analyzing on a graphical user interface.
11. The article of claim 10 further comprising enabling a user to initiate analysis of the groups of assets.
12. The article of claim 10 further comprising enabling a user to initiate statistical analysis of the groups of assets.
13. The article of claim 10 in which the assets included in the investment portfolio are updated daily and the classifying and the analyzing occurs after the daily updates.
14. The article of claim 10 in which the analyzing includes determining volatility of the groups of assets in relation to a benchmark.
15. The article of claim 10 in which the analyzing includes determining tracking error of the groups of assets in relation to a benchmark.
16. The article of claim 10 in which the analyzing includes determining marginal tracking error of the groups of assets in relation to a benchmark.
17. The article of claim 10 in which the returns data includes historical returns data.
18. The article of claim 10 in which the returns data includes simulated returns data.
19. A system comprising: a collection of data including returns data for a group of assets included in an investment portfolio; a mechanism configured to analyze the group of assets using the returns data included in the collection of data for the assets included in the investment portfolio at a particular time; and a display device configured to display results of the analysis on a graphical user interface.
20. The system of claim 19 in which a user can initiate analysis of the groups of assets via the graphical user interface.
21. The system of claim 19 in which a user can initiate statistical analysis of the groups of assets via the graphical user interface.
22. The system of claim 19 in which the mechanism is also configured to daily analyze the group of assets.
23. The system of claim 19 in which the analyzing includes determining volatility of the groups of assets in relation to a benchmark.
24. The system of claim 19 in which the analyzing includes determining tracking error of the groups of assets in relation to a benchmark.
25. The system of claim 19 in which the analyzing includes determining marginal tracking error of the groups of assets in relation to a benchmark.
26. The system of claim 19 in which the results include graphical results.
27. The system of claim 19 in which the results include textual results.
28. The system of claim 19 in which the collection of data is at a location remote from the display device.
29. The system of claim 19 in which the returns data includes historical returns data.
30. The system of claim 19 in which the returns data includes simulated returns data.
Description:
PORTFOLIO RISK MANAGEMENT BACKGROUND This invention relates to portfolio risk management.

One of the objectives of modem financial theory is to facilitate rational decision-making in the presence of risk and uncertainty. Typically, the approaches to solve this problem require a decision-maker (e. g., a portfolio manager, trader, or other investor) to consider, in some fashion, the interactions of three factors: preferences (risk measures considered by the decision-maker), prices (the role that the market plays in establishing values and the premia for taking risk), and probabilities (statistical aspects of risk).

SUMMARY According to an aspect of the present invention, portfolio risk management includes classifying assets included in an investment portfolio into groups of assets, analyzing the groups of assets using historical or simulated returns data for the assets included in the investment portfolio at a particular time, and displaying the results of the analyzing on a graphical user interface.

According to another aspect of the present invention, a system includes a collection of data including returns data for a group of assets included in an investment portfolio, a mechanism configured to analyze the group of assets using the returns data included in the collection of data for the assets included in the investment portfolio at a particular time, and a display device configured to display results of the analysis on a graphical user interface.

One or more of the following advantages may be provided by one or more aspects of the invention.

A risk management process typically focuses in large part on quantifying risks relevant to the decision-maker. A wide assortment of risk measures is often mentioned in conjunction with risk management, such as volatility, tracking error, beta, delta, gamma, and value-at-risk (VaR). However, it is often forgotten or overlooked that any risk measure employed has with it underlying economic

assumptions regarding preferences of the decision-maker. These assumptions may not be consistent with the application of a particular risk measure.

Considering a portfolio's positioning in terms of implied views (marginal tracking errors or marginal volatilities), as with the instant risk management tool, converts the risk perspective to one that may be more intuitive to the decision-maker.

That is, portfolio managers and traders often think of assets primarily in terms of their expected returns. Implied views, therefore, provide a different and perhaps more effective basis on which to communicate risk-management issues. This may, in turn, lead to better investment decisions in the presence of risk and uncertainty.

Providing the decision-maker with a graphical user interface of textual and graphical reports for investment portfolios on any day selected by the decision-maker also enables the decision-maker to analyze different aspects of risk. Further, considering historical or simulated returns for assets currently held in a portfolio more accurately analyzes the risks associated with the portfolio rather than considering the portfolio's returns history which reveals the risks associated with a manager of the portfolio.

Other advantages and features will become apparent from the following description and from the claims.

DESCRIPTION OF DRAWINGS FIG. 1 is a diagram of a network configuration.

FIG. 2 shows actual portfolio returns.

FIG. 3 shows synthetic portfolio returns.

FIG. 4 shows grouping of assets.

FIG. 5 is a flowchart of a process for mapping assets to an asset class.

FIG. 6 is a flowchart of a process of defining currency exposures for an asset.

FIG. 7 is a flowchart of a process of defining an asset class name and an asset class index for an asset.

FIG. 8 shows an introduction screen for a portfolio risk management tool.

FIG. 9 shows a default screen for a portfolio risk management tool.

FIG. 10 shows an options screen for a portfolio risk management tool.

FIG. 11 shows a volatility analysis screen for a portfolio risk management tool.

FIGS. 12-23 show volatility analysis results screens for a portfolio risk management tool.

FIG. 24 shows a probability distributions of returns screen for a portfolio risk management tool.

FIG. 25 shows a scenario analysis screen for a portfolio risk management tool.

FIGS. 26-27 show scenario analysis results screens for a portfolio risk management tool.

FIG. 28 is a diagram illustrating standard errors for a grouping of securities.

FIG. 29 is a diagram illustrating portfolio sensitivity to a grouping of securities.

FIG. 30 is a diagram illustrating marginal tracking error of different groupings of securities.

DETAILED DESCRIPTION Referring to FIG. 1, a simplified network configuration 100 includes a portfolio risk management program 102, an interactive forecasting and risk analysis tool designed to help an investor (e. g., a user at a user terminal 104) manage his or her investment portfolio (s). The user terminal 104 downloads the program 102 from a provider 106 over a first communication link 108 (e. g., an Internet link, a cable, optic fiber, Bluetooth, or similar link) or otherwise obtains access to the program 102 (e. g., as a standalone software package or through a web site associated with the provider).

The program 102 provides information on a portfolio to the user such as the portfolio's risk, historical style, and competitive peer groups. The program 102 runs an integrated series of applications that allow the user to access summarized information regarding his or her investment portfolio and to perform additional analysis on the portfolio. The user can select different types of portfolio analyses for the program 102 to perform. The results of the different analyses are displayed on the user terminal 104 as textual and/or graphical reports. The user can manipulate the results using a keyboard 110, a mouse 112, a touch screen, a stylus 114, or other similar mechanism.

Numerous reporting tools (e. g., holdings data 116 and core investment data 118) are available to the program 102 to help produce textual and/or graphical reports on any type of portfolio analysis performed by the program 102. The program 102 accesses the holdings data 116 and the core investment data 118 from the provider 106 through the first communication link 108. As described further below, the holdings data 116 includes periodically-updated (e. g., daily, twice daily, weekly, etc.) historical fund holding information for the past X years, Y months, Z days, or other time frame.

The updated fund holding information may come from the provider's resources or from data 120 provided by a third party 122 across a second communication link 124 similar to the first communication link 108. For example, the third party 122 may provide asset class price returns for assets included in an investment portfolio while the provider 106 generates composite price returns for asset classes that cannot be obtained from the third party 122, such as for holdings in a country that does not have any exchanges or reliable information. In that case, the provider 106 uses the holdings information that it has to derive a time series that includes the aggregate return characteristics of the holdings in that country.

The holdings data 116 also includes security reference information obtained from the core investment data 118, a collection of data available from the provider 106 (or from the third party 122).

The third party 122 is shown as one entity for simplicity; the provider 106 may obtain portfolio information from any number of third parties.

The holdings data 116 is periodically updated because investors typically modify their portfolios over time. A portfolio such as a mutual fund, pension fund, bank trust, or other holding includes a collection of investments, assets, and securities such as stocks, bonds, t-bills, commodities, cash or cash equivalents, and other assets held by a portfolio manager, an individual or an institutional investor.

For example, referring to FIG. 2, assets (securities) 200a-200c included in a portfolio 202a-202c change from day to day as an investor buys and sells assets 200a-200c. A portfolio return (rp) 204a-c of the portfolio 202a-202c can be compared with a benchmark return (rb) 206a-206c of a benchmark such as the Wilshire 5000 or the Standard and Poor's (S&P) 500 to provide a relative portfolio return (rp-rb)

208a-208c. Analyzing the different relative portfolio returns 208a-208c over time may hint at the risk posed by a particular investor's style of collecting and discarding particular portfolio assets 200a-200c. Such analysis, however, may provide little insight into the historical risk associated with the current collection of portfolio assets 200a-200c. In other words, since the set of assets 200a included in the portfolio 202a on November 7 is different than the set of assets 200c included in the portfolio 202c on November 9, risks associated with the assets 200a in the November 7 portfolio 202a may have little to do with risks associated with the assets 200c in the portfolio 202c two days later.

Referring to FIG. 3, for example, instead of using actual portfolio returns 204a-204c as shown in FIG. 2, the program 102 uses synthetic portfolio returns (rp) 300a-300c for, a portfolio 302 to focus on the historical behavior of the portfolio's current holdings 304. The synthetic portfolio returns 300a-300c are determined by projecting the current portfolio assets 304 into the past and determining the returns 300a-300b they would have produced. In other words, each synthetic portfolio return 300a-300c answers the question"how much would the current holdings of the portfolio have earned n days ago."Using the synthetic portfolio returns 300a-300c permits analysis of the risk historically associated with the current holdings 304 as opposed to the risk associated with a particular portfolio manager.

Referring to FIG. 4, information included in the holdings data 116 (see FIG. 1) is used to establish a set of unique groups 400a-400N called buckets. Each security in the portfolios in the holdings data 116 is assigned to a bucket 400a-400N. Each bucket 400a-400N includes a specific group of daily return data. Each bucket 400a-400N has a name 402a-402N that identifies the securities 404a-404N included in the bucket 400a-400N by identifiers such as country code, class type, sector, maturity for fixed income instruments, credit for fixed income instruments, and other identifiers. For example, a United States domestic equity in the high technology sector would be assigned to the USAHITECHSTOCK bucket 400a. In another example, a Japanese five-year government security would be assigned to a JAPAGOVT5Y bucket, and a seven-year AAA rated United States Corporate security in the financial sector would be assigned to a

USACORPFINAN7YAAA bucket. Analysis using the buckets 400a-400N is described further below.

Referring to FIG. 5, the program 102 (see FIG. 1) performs a mapping process 500 to map the assets in each portfolio to a particular asset class. Assets included in the same asset class have similar features.

The program 102 determines 502 available asset classes upon update of the holdings data 116 (e. g., daily, twice daily, weekly, etc.), e. g., performs dynamic asset class creation. The program 102 can receive asset class price returns from third parties that may provide different asset classes on different days. The available asset classes include, but are not limited to: a) MORT (mortgages), b) STOCK (stocks), c) CURR (currencies), d) DERIV (derivative securities), e) GOVT (government securities), f) CORP (corporate securities), and g) MUNI (municipal securities).

Once the entire set of asset classes is known, the program 102 begins mapping the assets. The program 102 can, however, begin mapping the assets before the entire set of asset classes is known.

Each security is stored 504 in the holdings database 116 with a variety of descriptive characteristics. The characteristics are used along with the available asset class definitions to map a security to an asset class. The characteristics for a security include, but are not limited to: a) an identifier, e. g., Committee on Uniform Securities Identification Procedures (CUSIP) number (identifying domestic stocks and bonds) and CUSIP International Numbering System (CINS) number (identifying foreign securities),

b) an investment type code, e. g., a descriptive security identifier such as 15YR for fifteen year securities, CS for common stock, and RP for repurchase agreements, c) a security class identifier, e. g., MORT and STOCK, d) a trading ticker symbol, e) a legal security name, f) a country (identifying the country that issued the security), g) a security currency (identifying the currency of the security), h) year to maturity, e. g., period in years to maturity of fixed income securities, i) a coupon rate (the rate that the issuer of the security promises to pay the holder of the security until the security matures), j) a security rating, e. g., a Moody rating that rates a security as MIG-1, 2,3, and 4 to signify best, high, favorable, and adequate quality, respectively, k) a risk rating, e. g., an S&P rating, 1) an internal rating (a rating specific to the provider 106), m) a fund identifier (identifying the holding portfolio), n) market value (expressed in the base currency, the default currency used by the provider 106), o) a rate change identifier, p) an income rate type, q) a taxable identifier, r) a spread type code, s) a master industry group, t) a major industry name, e. g., aerospace, defense, retail, and wholesale, u) option adjusted duration, e. g., duration of the asset in years, v) a credit enhancement code, w) a date of issue, and x) a maturity date.

Some characteristics are used for all securities, while other characteristics are specific to a particular security type. For example, duration and credit quality are specific to fixed income securities.

The program 102 classifies 506 each of the stored securities. This classifying refines and reduces the amount of information that is stored in the holdings data 116 for a security. The program 102 defines 508 a normalized,"best fit"rating for the security by analyzing the security's rating information, e. g., the risk rating, the security rating, and the internal rating.

The program 102 uses the investment type code to map 510 the security to a predefined set of available asset classes, the classes determined by the program 102.

For example, securities with an investment type code of 15YR are assigned to a MORT class and securities with an investment type code of CS are assigned to a STOCK class.

The program 102 uses the major industry name to define 512 sector classifications. Examples of sectors include but are not limited to: a) CAPIT (capital), b) CONSU (consumer), c) CURR (currency), d) GN15L (general mortgage, fifteen year, low relative to par), e) GN1 5H (general mortgage, fifteen year, high relative to par), f) COMP (company), g) FINAN (financial), h) FIRE (relating to finance, insurance, or real estate), i) UTIL (utility), and j) ENERG (energy).

For example, aerospace and defense industries are assigned the CAPI sector and retail and wholesale industries are assigned to the CONSU sector.

The option adjusted duration and the maturity date are used to assign 514 a yield curve point for each fixed income security. The yield curve point is used on a yield curve graph described further below. For example, if the maturity date is over

six years and less than or equal to seven years, then the program 102 assigns the security a seven year yield curve point. For a fixed income security with an option adjusted duration and a maturity date of less than one year, the program 102 uses the fixed income security's investment type code to define the security's yield curve point, which will be in the range from one to twelve months. For example, if the option adjusted duration is 0.5 years and the investment type code is RP, then the program 102 assigns the security a one-month yield curve point.

The program 102 refines 516 the assigned yield curve point for some securities using the income rate type and the rate change identifier. These refinements override any previous yield curve point settings.

The program 102 also refines 518 the defined sector for some securities using various characteristics for a security. For example, a security assigned to a CURR class is assigned to a CURR sector and a security assigned to a DERIV class is assigned to its investment type code. In another example, if a security's class is MORT, its investment type code is 15YR, and its coupon rate is less than mortgage par, then the security's sector is defined as GN15L. If that security's coupon rate is above mortgage par, then its sector would be GN15H.

The program 102 also refines 520 class, sector, and symbol information for derivatives and structures notes based on the security's legal security name and investment type code.

The program 102 modifies 522 a security's country and currency to associate the most relevant country and currency for the security with that security. For example, an American Depository Receipt (ADR) security is typically assigned the currency of the issuing country although the security is made available for trade in the United States. The program 102 modifies the ADR security's currency to dollars to reflect the underlying country, the United States, rather than the issuing country.

After the program 102 classifies the security, the program 102 stores 524 characteristics for the security, overriding any previously stored characteristics with the classified characteristics. The stored characteristics include but are not limited to: a) an identifier, b) a fund identifier,

c) market value, d) a country, e) a security currency, f) a security class identifier, g) a sector, h) a yield curve point, i) option adjusted duration, j) a normalized rating, k) an investment type code, 1) a legal security name, m) an issue date, and n) a maturity date.

The program 102 defines 526 the relevant currency exposures for a security using the security's base currency. The provider 106 uses United States dollars as the base currency, but any currency can be the base currency as long as pricing returns are also based on that currency. The program 102 takes an"investment view,"so exposures are based on currency rather than the issuing country.

Referring to FIG. 6, the program defines 526 the relevant currency exposures by determining 600 if the security's currency is the same as the base security. If the currencies are the same, then the program 102 makes 602 no changes to the security's stored characteristics. If the currencies differ, the program 102 determines 604 if the security currency is the same as the security's issuing country's currency. If the currencies are the same, then the program 102 makes 606 no changes to the security's stored characteristics. If the currencies differ, then the program 102 generates 608 a "synthetic"portfolio position to reflect the security's"real"investment exposure. For example, a security may have issued in Panama but be denominated in Yen. The Yen is the"real"investment exposure, so the program 102 redefines the security's country and currency by generating a"synthetic"portfolio position including the non-base currency, the Yen. The"synthetic"portfolio position is assigned to the CURR asset class. Generating a"synthetic"portfolio position for a security increases the number

of positions of the security over a security that does not have a"synthetic"portfolio position.

Referring back to FIG. 5, the program 102 completes 528 a security's characteristic information by adding an asset class name and an asset class index to the stored classified characteristic information. A security's asset class name identifies the type of securities included in that asset class and includes country, class, and sector information, although the asset class name could include other information instead or in addition such as yield curve, credit quality, and duration information.

Referring to FIG. 7, the program 102 makes 700 the first part of the asset class name the security's country code. The stored country information can be the full country name or the country's abbreviated country code. For example, if the stored country information is"Argentina,"then the program 102 references the ISO shortened country code for Argentina and assigns"ARG"as the first part of the asset class name.

The remainder of the security's asset class name depends on the security's type. The program 102 determines 702 if the security is an equity security (e. g., class is STOCK or other equity security) or a fixed income security (e. g., class is GOVT, CORP, MUNI, or other fixed income security). For an equity security, the program 102 also uses 704 the security's class and sector information in the security's asset class name. For example, if the security is stock in a French utility company, the asset class name would be FRANSTOCKUTILI. For a fixed income security, the program also uses 706 the security's class, sector, yield curve point, credit quality, and duration in the security's asset class name. For example, a United States utility company bond that is AAA rated and has a ten-year duration would be assigned to an asset class USA_CORP_UTILI_lOY_A. Note that the rating in the asset class name is noted as A rather than AAA. The ratings information for a security is processed to be either A, BBB, or HIGH. If a security is unrated, then no rating is shown for that asset class. If a security is a Zero coupon bond, then the duration is represented in the asset class name with a"Z."For example, the asset class name for a ten-year United States Zero coupon bond would be USA GOVT-lOZ.

The program 102 then verifies 708 that a pricing return series (e. g., price returns history) exists for the security's asset class name and hence for securities

defined by that asset class name, e. g., for ten year United States Zero coupon bonds.

If a pricing return series does not exist, then the program 102 assigns 710 the security's asset class name to UNMAPPED. If a pricing return series does exist, then the program 102 references 712 the security's asset class name in the holdings data 116 and assigns an appropriate asset class index to the asset class name.

Once the holdings are mapped to the appropriate asset classes, the program 102 performs an analysis process. In the analysis process, the program 102 calculates and consolidates portfolio risk, marginal asset risk, style analysis, and competitive peer analysis into a data directory included in the holdings data 116 and used as raw input for the program's different analyses described below.

Referring to FIG. 8, when the program 102 is installed at the user terminal 104 and the user accesses the program 102 by, for example, double-clicking on an icon for the program 102 on the user terminal's screen, an introduction screen 800 appears on the user terminal's screen. The introduction screen 800 includes an identification box 802 including a logo 804 and a version 806 for the program 102.

The program 102 has access to the stored holdings data 116 that is updated daily. The user accesses the program 102 via the introduction screen 800 and can choose a variety of calculations to be performed on the data in any order. The results of these calculations are graphically and/or textually displayed to the user via a graphical user interface as described below.

The identification box 802 overlays an SAS environment, including controls typically associated with the SAS environment: pulldown menus 808a-808e, an SAS manager command line 810, and toolbox icons 812. (The SAS environment is associated with the SAS implementation used for the program 102, although the implementation and therefore the environment can vary as described further below.) Implementing the program 102 in an SAS environment allows the user to create custom reports and graphs for portfolio data and perform further analysis of the portfolio data with any of the statistical procedures available within SAS.

Clicking on a continue button 810 in the identification box 802 takes the user to a default area.

Referring to FIG. 9, the default area includes a default screen 900. The program 102 may be configured to skip the introduction screen 800 and to display the

default screen 900 as the first screen the user sees when the user accesses the program 102.

The default screen 900 includes an information panel 918. The information panel 918 displays information such as the name of the portfolio currently being analyzed or status information on an analysis. The information panel 918 is always displayed to the user (although it need not be), even if the information panel 918 is blank as on the default screen 900.

The default screen 900 also includes a date selection window 920 that always displays the date of the currently selected date (if any) to the user.

The user also always has the option to exit the program 102 by clicking on an exit button 922.

The default screen 900 also includes tabs 902a-902j, each tab 902a-902j including a unique set of analysis and/or reports: a) an options tab 902a, to select the date and portfolio to analyze, b) a reports tab 902b, to select reports for a portfolio, c) a diagnostics tab 902c, d) a volatility analysis tab 902d, to provide drill-down functions to evaluate the volatility of a portfolio (the tendency of price to sharply rise and fall within a relatively short time period, generally measured by the covariance of a portfolio or a security in relation to the rest of the market, where a higher covariance means more volatility), e) a scenario analysis tab 902e, to provide regression functions to analyze a portfolio against a factor, the factors grouped by currency, government, and equities, f) an asset allocation tab 902f, to provide functions to analyze a portfolio in terms of how assets included in the portfolio are allocated among different categories of assets, such as stocks, bonds, fixed income investments, cash equivalents, different industries, different countries, and other similar categories,

g) a competitor analysis tab 902g, to provide functions to analyze a portfolio against similar, competing portfolios, h) a holdings analysis tab 902h, to provide interactive drill-down functions to view portfolios by bucket, country, and fund and to provide an ad-hoc query facility to let the user build custom reports based on user-selected criteria, i) a fund flow analysis tab 902i, to provide functions to analyze a portfolio based on the priorities of how funds flow to assets included in the portfolio, and j) a style analysis tab 902j.

The user selects a tab 902a-902j by moving the cursor/pointer to the appropriate tab 902a-902j and selecting the tab 902a-902j, e. g., by clicking on the tab 902a-902j with the mouse 112. The tabs 902a-902j are always displayed to the user, enabling the user to switch between different views and to perform different types of analyses.

Each of the tabs 902a-902j is described in more detail below. The default screen 900 has the options tab 902a selected, although any tab 902a-902j could be the default-selected tab.

A data options table 904 is displayed when the options tab 902a is selected.

The data options table 904 shows the dates of available holdings data that the user can select to establish a link with that data. Each row 906 of the data options table 904 includes an advisor 908 (an individual, an organization, or a mutual fund to manage assets and/or provide investment advice), an abbreviated date 910 (in year-month-date (YRMODA) format), a full date 912 (including day of the week, month, day, and year), and an event note 914 (indicating any interesting or significant event that occurred on that date). The abbreviated date 910 and the full date 912 reflect the date that the program 102 used data from in analyzing a portfolio, e. g., the date that the holdings data 116 was updated. The user can scroll through the data options table 904 with a scroll bar 916 and select the row 906 for the date that the user would like to analyze.

Referring to FIG. 10, an options screen 1000 shows the default screen 900 after the user selects one of the rows 906 (an entire row 906 or an element within a

row 906), the row for March 4,1998. The selected date is shown in the date selection window 920. A portfolios table 1004 opens for the selected date.

The portfolios table 1004 includes a list of portfolios available for analysis on the selected date, the portfolios that have been processed by the program's daily holdings process described above. The portfolios table 1004 serves as a reference table and confirms that a link to the holdings data 116 for the selected date is successful.

Each row 1006 of the portfolios table 1004 includes information for one of the available portfolios. This information can include, for example, a) an identification number 1008, e. g., a number specific to the provider's record-keeping procedures, b) a short portfolio name 1010, c) a long portfolio name 1012, d) an investment style 1016, e. g., municipal bond (MBF), growth (GRF), quantitative (QNT), taxable bond (TBF), and similar styles, e) an investment objective 1014, e. g., an abbreviation of the investment style 1016, and f) a net asset value (NAV) 1018.

At this point, the user has established a link to a set of holdings data 116 for the selected date and can begin to perform analysis or generate a report of any of the data in the set of holdings data 116 by selecting one of the portfolios in the portfolios table 1004 and one of the tabs 902a-902j.

Referring to FIG. 11, for example, the user can select the volatility analysis tab 902d and access a volatility screen 1100. The volatility screen 1100 includes a portfolio selection box 1112 that lets the user select which portfolio to analyze for volatility.

The volatility screen 1100 also includes windows 1102-1110 that allow the user to select how to analyze and display portfolio data. In an analysis type window 1102, the user selects whether to perform the volatility analysis absolutely or relative

to a benchmark. In a view window 1104, the user selects a view format for the selected portfolio such as implied view, volatility contributions, active weight, and active market value. In a volatility window 1106, the user selects whether to perform the volatility analysis normally or assuming the worst case. The user can group or aggregate the positions of a portfolio in an aggregate window 1108, selecting to aggregate the portfolio by, for example, country, class, fund, sector, or bucket. The user can also filter positions within a group by selecting one or more screen variables in a screen window 1110 such as physicals, corporates, currencies, derivatives, government, mortgages, municipals, and stocks. The windows 1102-1110 may have default selections entered for the user when the user accesses the volatility screen 1100, such as"benchmark relative"selected in the analysis type window 1102.

Once the user selects a portfolio in the portfolio selection box 1112 and selects choices in the windows 1102-1110, the user can click on a create graph button 1114 to create a graph displaying analysis results per the user's choices or on a return distribution button 1116 to view distribution returns per the user's choices.

Computing tracking error is one example of a volatility analysis. Tracking error refers to the extent to which a portfolio can be expected to obtain a differential return from its benchmark, as described further below. In this example, the user wants to calculate tracking error on a particular portfolio, but the user is also interested in the largest contributors to the tracking error. Thus, the user selects "volatility contribution"from the view window 1104. Volatility contribution is the weighted marginal volatility (WMV) of the selected portfolio's underlying aggregation group. Because the user wants to find the portfolio's tracking error, the user selects"fund"in the aggregate window 1108. The user also selects"benchmark relative"in the analysis type window 1102, normal volatility in the volatility window 1106, and all variables in the screen window 1110. The user selects"Asset Manager" in the portfolio selection box 1112 as the portfolio to analyze based on these selections. Asset Manager is a good example fund because it is diversified across asset classes and includes many types of different positions.

Once options are selected in each of the windows 1102-1112, the user clicks on the create graph button 1114 to create a graph for the Asset Manager portfolio per the selected options.

A volatility contributions graph 1200 is created and displayed on a volatility results screen 1202 as shown in FIG. 12. The volatility contributions graph 1200 is a bar graph including a single bar 1204, where the length of the bar 1204 represents the overall tracking error of the selected portfolio, which here is approximately 1.5%.

The user can print or report the volatility contributions graph 1200 by clicking on a print button 1206 or on a report button 1208, respectively. The print button 1206 and the report button 1208 are available for every graph screen displayed to the user (in the volatility context or elsewhere).

Knowing the overall tracking error, the user now wants to know the largest contributors to the tracking error. The user clicks on a goback button 1210 to return to the volatility screen 1100 (see FIG. 11). Like the print button 1206 and the report button 1208, the goback button 1210 is available for every graph screen displayed to the user.

On the volatility screen 1100, the user switches the selection in the aggregate window 1108 from"Fund"to"Country"and clicks on the create graph button 1114.

A second volatility contributions graph 1300 is created and displayed on a second volatility results screen 1302 as shown in FIG. 13. To create the results shown on the second volatility contributions graph 1300, the program 102 breaks up the tracking error into its components and allows the user to determine which of those components is/are the largest contributors to the tracking error. The second volatility contributions graph 1300 includes a bar 1304 for each country invested in by the selected portfolio (here, Asset Manager). Each of the countries contributes a portion of the overall tracking error for the Asset Manager portfolio. Summing each country's tracking error value on the second volatility contributions graph 1300 arrives at approximately 1.5%, the overall tracking error displayed on the volatility contributions graph 1200 (see FIG. 12).

A benchmark line 1306 runs through the second volatility contributions graph 1300, shown as zero volatility. A bar's extension from the benchmark line 1306 indicates that associated country's over-under weight in comparison to the benchmark volatility.

The user can drill-down into any of the country positions by clicking on a country's bar 1304. The drill-down lets the user see the individual securities that are contributing to that country's volatility.

For example, the user can click on the bar 1304 for the Netherlands (NETH), the country on the second volatility contributions graph 1300 with the largest underweight position, which brings up a country report screen 1400 as shown in FIG.

14. The country report screen 1400 includes data from the holdings data 116 (see FIG. 1) for all of the securities held by the Asset Manager portfolio from the Netherlands. The data is formatted and displayed in an interactive country report 1402.

The report 1402 indicates that there are four positions 1404a-1404d held by the Asset Manager portfolio in the Netherlands, Philips Electronics and Royal Dutch Petroleum. Information is displayed for each of the positions 1404a-1404d in columns 1406a-1406e, including but not limited to: identification number 1406a, CUSIP 1406b, class 1406c, sector 1406d, and name 1406e. The user can use a horizontal scroll bar 1408 to view a number of holding-specific items related to each of the positions 1404a-1404d. The user can use a vertical scroll bar 1410 to view additional positions if all of the positions do not fit in the report's current screen size.

Each security (Philips Electronics and Royal Dutch Petroleum) is listed twice in the report 1402: positions 1404a and 1404b for Philips Electronics and positions 1404c and 1404d for Royal Dutch Petroleum. This double listing is present because the program 102 takes an investment view as described above. Each security is identified by the same CUSIP, but are in different classes, STOCK and CURR, indicating that the program 102 has generated a synthetic portfolio position for each of the securities (positions 1404b and 1404d) to go along with the actual portfolio position for each of the securities (positions 1404a and 1404c).

The user exits the country report screen 1400 and returns to the second volatility contributions graph screen 1302 (see FIG. 13) by selecting the"File" pulldown menu 808a and the"cancel"option on the pulled-down menu.

Back on the second volatility contributions graph screen 1302, the user clicks on the goback button 1210 and returns to the volatility screen 1100 (see FIG. 11). On

the volatility screen 1100, the user switches the selection in the aggregate window 1108 from"Country"to"Class"and clicks on the create graph button 1114.

A third volatility contributions graph 1500 is created and displayed on a third volatility results screen 1502 as shown in FIG. 15. The third volatility contributions graph 1500 displays a bar 1504 for each class invested in by the Asset Manager portfolio: CORP, CLASS, CURR, GOVT, MORT, and STOCK. Adding each class's tracking error value on the third volatility contributions graph 1500 arrives at approximately 1.5%, the overall tracking error displayed on the volatility contributions graph 1200 (see FIG. 12).

The user can drill-down into any of the classes by clicking on a class's bar 1504 and see the individual securities in that class that are contributing to that class's volatility.

For example, the user can click on the bar 1504 for the CORP class, which brings up a class report screen 1600 as shown in FIG. 16. The class report screen 1600 includes an interactive class report 1602 that lists all corporate (CORP) assets held in the Asset Manager portfolio. The class report 1602 is formatted and displayed similar to the interactive country report 1402 (see FIG. 14). The user exits the class report screen 1600 and returns to the third volatility contributions graph screen 1502 (see FIG. 15) through the"cancel"option on the"File"pulldown menu 808a.

Back on the second volatility contributions graph screen 1502, the user clicks on the goback button 1210 and returns to the volatility screen 1100 (see FIG. 11). On the volatility screen 1100, the user switches the selection in the aggregate window 1108 from"Class"to"Bucket"and clicks on the create graph button 1114.

A fourth volatility contributions graph 1700 is created and displayed on a fourth volatility results screen 1702 as shown in FIG. 17. The fourth volatility contributions graph 1700 displays a bar 1704 for the X largest buckets and the smallest Y buckets invested in by the Asset Manager portfolio. Any other buckets are not displayed on the fourth volatility contributions graph 1700, although they could be displayed. The variables X and Y are integers that may or may not be equal or preset values. Bars 1704 for the largest X buckets are colored in red while the bars 1704 for the smallest Y buckets are colored in blue, although the bars 1704 may be additional colors or all be the same color.

The user can drill-down into any of the buckets by clicking on a bucket's bar 1704 and see the individual securities in that bucket that are contributing to that bucket's volatility. An asset's contribution to overall tracking error can come from either an overweight or an underweight of the asset relative to the weight of the benchmark. The asset's contribution can also be a function of diversification effects and the volatility and the covariance of all assets in the portfolio and the benchmark.

Adding each bucket's tracking error value on the fourth volatility contributions graph 1700 arrives at approximately 1.5%, the overall tracking error displayed on the volatility contributions graph 1200 (see FIG. 12).

For example, the user can click on the bar 1704 for the USASTOCKFIRE bucket, the bucket containing the largest positive contribution to the overall tracking error, which brings up a bucket report screen 1800 as shown in FIG. 18. The bucket report screen 1800 includes an interactive bucket report 1802 that lists all assets in the selected bucket included in the Asset Manager portfolio. The bucket report 1802 is formatted and displayed similar to the interactive country report 1402 (see FIG. 14).

Additional holding-specific items for the bucket report 1802 that can be viewed by using the horizontal scroll bar 1408 include bucket name, fund number, amount in fund, country, currency, point on yield curve, duration, rating, investment type, maturity date, and fund short name.

In another example referring back to the volatility screen 1100 in FIG. 11, the user can perform an implied view analysis (calculate marginal tracking error on a particular portfolio selected in the portfolio selection box 1112) by selecting: benchmark relative in the analysis type window 1102, implied view 1104 in the view window 1104, normal volatility in the volatility window 1106, buckets in the aggregate window 1108, all variables in the screen window 1110, and"New Millennium"as the portfolio in the portfolio selection box 1112.

Technically, the implied view or marginal tracking error of an asset is the derivative of tracking error with respect to that asset, as described further below. The marginal tracking error also captures the pricing component of the investment process. For example, a portfolio manager typically buys and sells assets so that at the end of the day, each asset's expected return per unit of marginal risk is the same.

If this is not the case, then the portfolio manager is likely taking too much risk for the

return expected or vice versa. Given this simple perspective, a portfolio inherently includes information as to the expected returns of the portfolio manager and they should be proportional to the marginal risks. Marginal tracking errors, therefore, can be though of as implied return views.

Once these options are selected in the windows 1102-1112, the user clicks on the create graph button 1114 which creates and displays an implied view graph 1900 on an implied view screen 1902 as shown in FIG. 19. The implied view graph 1900 indicates that the largest contributor to marginal tracking error is from the ITALSTOCKFIRE bucket and the smallest is USASTOCKENERG.

Note that the numerical values for the implied view graph 1900 are not actually expected returns. Rather, the numerical values should be though of as being proportional to expected returns. Their actual numerical units are percentages in terms of marginal standard deviation.

The New Millennium portfolio can reduce marginal tracking error by selling the overweight contribution positions (those extending to the right of a benchmark line 1904) and buying the underweight positions (those extending to the left of a benchmark line 1904). In this case, for the biggest impact, the portfolio would sell securities from the ITALSTOCKFIRE bucket and purchase securities from the USASTOCKENERG bucket.

FIGS. 20 and 21 show report screens 2000 and 2100 for the ITALSTOCKFIRE bucket and USA-STOCK-EN-ERG bucket, respectively. The ITALSTOCKFIRE report screen 2000 shows that the ITALSTOCKFIRE contribution is from a single security. One interpretation of this portfolio position in Italian FIRE stocks is that the portfolio manager must have the highest expected return on this security relative to the benchmark given that this security is contributing the most risk at the margin. Conversely, the portfolio manager must have the most pessimistic view of United States energy stocks (USASTOCKENERG). The dollar amount for this single ITALSTOCKFIRE security was a little over $2 dollars and its marginal tracking error contribution can be interpreted in the following example.

Assume that the selected portfolio's marginal tracking error equals 1% and that the portfolio decreased its position ofITALSTOCKFIRE type instruments in the selected portfolio by 1 %. The x-axis of the implied view graph 1900 (see FIG.

19) shows that this bucket's contribution to the marginal tracking error is approximately 3.5 basis points. This means that by decreasing the portfolio's position ofITALSTOCKFIRE type instruments by 1 %, the marginal tracking error would be decreased by approximately 3.5 basis points.

Similarly, in the same example, marginal tracking error would be reduced by purchasing positions from USASTOCKENERG type instruments. The x-axis of the implied view graph 1900 (see FIG. 19) shows that this bucket's negative contribution to the marginal tracking error is approximately 11.5 basis points. This means that by so increasing the portfolio's position ofUSASTOCKENERG type instruments, the marginal tracking error would be decreased by approximately 11.5 basis points.

Referring back to FIG. 11, suppose the user saw the tracking error results described above for the Asset Manager portfolio aggregated at the bucket level and that the result was that all of the buckets held by the Asset Manager portfolio. If the user wanted to see only those buckets including corporate instruments for the Asset Manager portfolio, the user would select"volatility contribution"in the view window 1104,"bucket"in the aggregate window 1108, and"corporate"in the screen window 1110. The graph created for these options would be a corporate volatility contributions graph 2200 as shown in FIG. 22.

If the user wanted to look at just the mortgages at the bucket level, the user would select"mortgages"in the screen window 1110, with the resulting graph being a mortgages volatility contributions graph 2300 as shown in FIG. 23.

The user can view underlying distributions of returns of the portfolio and the benchmark and get some basic statistical information regarding the distributions on a returns distributions screen 2400 as shown in FIG. 24 by selecting a portfolio from the portfolio selection box 1112 (see FIG. 11) and clicking on the return distribution button 1116. This creates and displays the distributions for the portfolio in a portfolio returns graph 2402 and the benchmark in a benchmark returns graph 2404, both shown for the Asset Manager portfolio.

Referring to FIG. 25, in another example, the user can select the scenario analysis tab 902e and access a scenario analysis screen 2500. The program 102 can use bucket information for a portfolio as independent variables or factors in a linear

regression along with historical return history for the portfolio. The results of this linear regression can be graphed to forecast the expected effect of factor events on the portfolio.

The scenario analysis screen 2500 includes a portfolio selection box 2502 where the user can select a portfolio and a factor selection box 2504 where the user can select a factor for the linear regression involving the selected portfolio. For example, the user may be interested in seeing the effect of movements in long-term United States government securities and its effect on the United States Bond Index portfolio. Thus, the user selects"US Bond Index"in the portfolio selection box 2502 and"USA GOVT 30Y"in the factor selection box 2504. The user also selects an analysis type (benchmark relative or absolute) in an analysis type window 2506 (unless the user does not want to change a default selection, if provided). The user then clicks on a create graph/report button 2508 to run the linear regression using the user-selections. A message in the information panel 918 informs the user when the linear regression is running. When the analysis is complete, the message in the information panel 918 disappears and three new buttons appear under the analysis type window 2506: a view linear regression button 2510, a view linear report button 2512, and a view non-linear report button 2514.

Clicking on the view linear regression button 2510 displays a graphical report screen 2600 as shown in FIG. 26. The graphical report screen 2600 displays a graphical report 2602 for both linear and non-linear models. The graph slopes upward to the right, indicating a positive correlation between the selected factor and the selected portfolio's returns, as is to be expected. The linear and the non-linear regression models are discussed in more detail below.

The forecast dollar amount can be given by clicking on the report button 1208 or by clicking on the view linear report button 2512, which displays a linear report screen 2700 as shown in FIG. 27. The linear report screen displays a textual report 2702 on results of the linear model.

Similarly, clicking on the report button 1208 or the view non-linear report button 2514 displays a textual report on the results on the non-linear model similar to the textual report 2702 for the linear model.

The screens discussed with reference to FIGS. 8-27 are not limited to any particular layout or configuration. For example, manipulation tools such as pulldown menus, tabs, buttons, selection boxes, and scrollbars can be implemented using any similar type of manipulation tool. In another example, the graphs can be presented in any graph format (e. g., bar, line, pie, etc.) and with any orientation (e. g., with horizontal or vertical bars). Further, two or more screens can be combined and presented on a single screen. The program can also create and display additional screens.

Referring to FIG. 28, a standard errors graph 2800 illustrates standard errors of the VaR risk measure metric at different probability thresholds. In this example, the standard errors are based on estimates using both 100 and 250 observations. It is assumed that a student-t distribution with six degrees of freedom represents the underlying financial data upon which the VaR estimate is derived. In the standard errors graph 2800, for smaller probability cutoffs, the standard error around VaR quickly expands as sample noise has more and more effect on the confidence around the parameter estimate. This is especially true for probabilities of 5% and lower, typical of most risk management practices.

In order to put these standard errors in perspective, consider that this portfolio has a 99% VaR of US$ 1.34 billion relative to its benchmark based on using 250 daily return observations. The two standard error confidence interval is US$ 0.888 to 1.792 billion. Thus, the confidence interval is almost as large as the VaR itself.

Recomputing the standard error based on 100 daily observations, the confidence interval is even larger atUS$ 0.717 to 1.963 billion. The implication of these confidence intervals is that measures such as VaR should not be taken too literally because a large amount of noise surrounds their values and any risk management decision based on their values should recognize this fact.

Referring to FIG. 29, a delta risk graphical report 2900 illustrates the factor exposure (delta risk) for benchmark-relative returns for French energy stocks (FRANSTOCKENERG). (For this graphical report 2900, the French energy stocks were the largest positive contributor to marginal tracking error as shown in FIG. 30.) Two sets of lines 2902a-2902c and 2904a-2904c on the graphical report 2900 represent the linear and non-linear models. The set of linear lines 2902a-2902c, all

the same color, represent the linear model estimate (solid line 2902a) and the 95% confidence intervals about the linear model estimate (dashed lines 2902b and 2902c).

The set of non-linear lines 2904a-2904c, all the same color, different from the color of the linear lines 2902a-2902c, represent the non-linear model estimate (solid line 2904a) and the 95% confidence intervals about the non-linear model estimate (dashed lines 2904b and 2904c). In this particular case, the sensitivity to French energy stocks is highly significant, but there is still a wide range of possible values for the portfolio looking to extreme movement in this equity sector. For a three standard deviation decline, the confidence interval for the portfolio could potentially range from negative five basis point to negative twenty-five basis points. Again, any risk assessment should not be taken at face value but considered in conjunction with the degree of confidence in this estimation.

A horizontal line 2906, in a third color, identifies the no-return point of the linear regression analysis. The horizontal line 2906 also identifies the standard deviation or Sigma location of the linear regression analysis. There are vertical ticks 2908a-2908f to the right and to the left of an intersection 2910 of the linear model estimate solid line 2902a and the horizontal line 2906 that represent standard deviations. The first tick 2908d to the right of the intersection 2910 or the first tick 2908c to the left of the intersection 2910 is one standard deviation, the second ticks 2908e and 2908c on both the right and left sides of the intersection 2910 are the second standard deviations, and so on.

The standard deviations or Sigmas can identify return forecast for that given event. For example, the second Sigma mark 2908e to the right of the intersection represents a positive two Sigma event in the factor. The value of the factor return is about +5.25 using daily returns (factor standard deviations are indicated in the graphical report 2900 by the vertical dashes along the x-axis). If an imaginary line is drawn for the +5.25 return up to the linear model solid line 2902a and then horizontally across to the y-axis, the return value of the portfolio is approximately 0.1.

This means that a two Sigma event in the FRANSTOCKENERG set of securities would be a positive effect on the portfolio. In another example, the factor return at the third Sigma mark 2908a to the left is approximately negative eight using daily

returns. Given this portfolio's exposure, a loss of approximately negative fifteen basis points is likely for this portfolio relative to the benchmark.

Computing the sensitivity of the portfolio including the French energy stocks to movements in this equity sector determines the delta with respect to this return factor. In this example, the delta is 0.019 and is captured by a solid line 2902. This means that for every 1% movement in French energy stocks, the portfolio would likely have a 0.019% return (approximately two basis points) in excess of the benchmark return (shown as a horizontal line 2904).

As discussed above, the program 102 can analyze sources of tracking error in a portfolio. The tracking error of a portfolio, 6te, is the standard deviation of the return difference between a portfolio and a benchmark: where xj denotes the portfolio weight in asset j minus the benchmark weight in asset j (xi = wpj-wbj) and ojk represents the covariance of return difference between asset j and asset k ( (Yjk denotes variance, 6j, when j = k). Thus, the return variance of the portfolio is given by: Taking the derivative of the tracking error me with respect to asset k's weight in the portfolio provides the contribution of asset k's risk to overall portfolio risk.

Specifically:

Thus, the marginal tracking error of asset k in the portfolio is the weighted sum of the k row (or, equivalently, the k column) of the return covariance matrix divided by the tracking error (standard deviation) of the portfolio. The marginal tracking error is determined not only by the volatility of the asset and its weight in the portfolio but also by its covariance with all other assets and their weights.

For marginal tracking errors, their weighted sum over all assets is the overall tracking error of the portfolio:

Thus, the weighted marginal tracking error of an asset is its contribution to the portfolio tracking error. This provides a mechanism to roll-up marginal volatilities to a higher level, e. g., a sector level or a country level, without having to recompute the

derivatives. In other words, assume that the marginal volatility of each of the n assets included in a portfolio has been calculated. Assume also that the value being sought after is the aggregate marginal volatility of a collection of m assets, k = 1 to m, where m < n. These m assets could represent, for example, the holdings within a particular country. The marginal volatility of this sub-portfolio is given by: This additive property also allows interpretation of the weighted marginal volatilities directly as the asset's contribution to overall portfolio risk or contribution to tracking error if returns are defined as being relative to a benchmark. Asset k's marginal risk can be given as: 90te<BR> axk Similarly, asset k's total contribution to risk can be given as: X t e<BR> eXk Thus, an asset's contribution to tracking error is determined by its benchmark-relative active weight Xk times the derivative of tracking error with respect to the k asset.

This derivative is the estimate of the marginal tracking error and numerically represents the change in tracking error for small changes in the active weight of the asset.

The equations discussed thus far can be made using the return covariance matrix and the vector of asset weights. For certain computational efficiencies,

alternative numerical procedures and approximations can be used to calculate volatility as well as the derivatives.

For example, volatility could be computed as: te = X v X S where V is the covariance matrix and X is the vector of portfolio weights.

In another example, variance can be calculated from an alternate variance equation: where rpt denotes the portfolio's return in period t and rtet is the mean portfolio return over all T observations. The T period return observations are the same as those used to calculate the covariance matrix V. The time series of portfolio returns, rpt, is given by: for all periods t = 1 to T, where rit is asset j's return in period t.

As an alternative to calculating the marginal volatility of an asset without using the covariance matrix, a numerical approximation can be used. Specifically, the derivative can be estimated by: azote~ Cte gte<BR> axe 6 where cyp is calculated using the alternate variance equation above, 8 is a very small number (e. g., 0.01) and og is the standard deviation of an augmented portfolio return series, rtet, given by: In practice, the estimation of the derivative is equivalent to the full analytical solution out to the fourth or the fifth significant digit.

Note that this mathematical discussion focuses on tracking error and all risks and returns are conditional on benchmark being the relevant decision-maker.

However, the same type of risk/retum analysis can be done with absolute volatilities without regard to a benchmark.

The techniques described here are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment. The techniques may be implemented in hardware, software, or a combination of the two. Preferably, the techniques are implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code is applied to data entered using the input device to perform the functions described and to generate output information. The output information is applied to one or more output devices.

Each program is preferably implemented in a high level procedural or object oriented programming language, e. g., Base SAS, SAS/AF, and SAS/EIS, to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language.

Each such computer program is preferable stored on a storage medium or device, e. g., compact disc read only memory (CD-ROM), hard disk, magnetic diskette, or similar medium or device, that is readable by a general or special purpose

programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described in this document. The system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.

Other embodiments are within the scope of the following claims.