Performance Measurement Analysis
This document describes how to configure the Performance Measurement analysis using the Analysis Designer.
The Performance Measurement analysis allows viewing investment returns at any level of the portfolio structure, to provide an understanding of the source of the return.
Note that PMA analysis (Performance Measurement and Attribution) is the newer version of the legacy Performance Measurement analysis. It is recommended to use PMA instead of Performance Measurement.
See PMA Analysis for details.
1. Before You Begin
In order to run a Performance Measurement analysis, you must first configure the following:
• | An "Official" P&L Configuration with Investment P&L measures. |
You also need to run the Official P&L analysis for the "Official" P&L Configuration.
Sample configurations are shown below.
Please refer to Calypso Official P&L documentation for complete details.
• | Performance Measurement domain values as needed. |
See Performance Measurement Domain Values.
• | A custom portfolio if several funds / mandates must be analyzed in a single analysis. |
See Multiple Investment Vehicles.
• | Environment properties for Buy Side Data Warehouse. |
• | Historical performance as needed. |
See EOD_PERFHISTO_POSITION Scheduled Task.
• | Imported historical performance as needed. |
See AM_PERFHISTO_PORTFOLIO_IMPORT Scheduled Task.
1.1 P&L Configuration
Sample "Official" P&L Configuration
Sample Official P&L parameters for the "Official" P&L Configuration
Then run the scheduled task EOD_OFFICIALPL for the Official P&L parameters.
Ⓘ [NOTE: The position spec used to run the scheduled task (in the trade filter) should be the same as the position spec used to run the Portfolio Workstation analysis (in the Analysis Server Configuration trade filter template).]
1.2 Performance Measurement Domain Values
The following domain values are used to define lists of products for various handling by the Performance Measurement analysis.
• | perfMeasurement.Exposure.Notional – The products whose returns are computed based on notional rather than asset value. |
• | perfMeasurement.ProductType.Cash – The products to be considered as cash instruments for Return FX calculation. |
• | perfMeasurement.ProductType.Exclude – The products to be excluded from the analysis. |
1.3 Multiple Investment Vehicles
In order to run single a Performance Measurement analysis on multiple investment vehicles, a custom portfolio must be used. As a custom portfolio is essentially a trade filter, it can be defined to load the same trades as a single fund, several funds, or all funds belonging to a group.
See Portfolio Hierarchy for details on defining a custom portfolio.
Every position in the Performance Measurement analysis must be linked to a fund, so the trade filter must be defined with the legal entities instead of the books to ensure consistency in cashflows. This is accomplished by setting the legal entities in the trade filter "Book Attribute" field. The PO of a book is added in the trade filter, and that PO must be the legal entity associated with the fund or mandate.
1.4 Buy Side Data Warehouse
Buy Side Data Warehouse allows storing long term Official P&L data for faster execution of Performance Measurement.
Set the following environment properties for Buy Side Data Warehouse – These are sample values:
• | BuysideDataWarehouseDRIVER=oracle.jdbc.OracleDriver |
• | BuysideDataWarehouseDBURL=jdbc:oracle:thin:@localhost:1521:calypso |
• | BuysideDataWarehouseDBUSER=buyside – By default it is the core DB user. You can specify a separate schema if needed. |
• | BuysideDataWarehouseDBPASSWORD=calypso |
Please refer to Calypso Database Administration documentation for details on creating a new database.
NOTE: If you are using Buy Side Data Warehouse, make sure that you run Execute SQL with "Calypso Buy Side Data Warehouse" checked so that the database can be properly upgraded as needed.
1.5 EOD_PERFHISTO_POSITION Scheduled Task
You can warehouse benchmark performance data using the scheduled task EOD_PERFHISTO_POSITION.
Performance on real trades is computed using Official P&L marks, but no data is available for benchmarks as they are just lists of securities. This scheduled task allows historizing the valuation of the benchmark positions. The benchmark valuation is run and stored to the benchmark historical valuation tables.
This scheduled task also historizes other indicators such as ACCRUAL, DIRTY_PRICE, etc., for all bond positions, which are used in Campisi fixed income performance attribution. This is done for both benchmarks and real portfolios.
The following benchmark types are supported:
• | Notional |
• | Quantity |
• | Market value |
• | Portfolio |
• | Carve out |
• | Weight |
Common Attributes:
• | Select a pricing env and a trade filter. The trade filter must include all of the books used, both in the portfolio and in the benchmark. You can select the applicable hierarchy node from the Portfolio Hierarchy panel of the Trade Filter window to accomplish this. |
Task Attributes:
• | Trade Filter Template – Instead of using the Trade Filter common attribute, you can define the scope of trades the same way as it is done in the Portfolio Workstation: with a Trade Filter Template (trade filter that contains only a Position Spec) and an Entry Point (specified in the Portfolio attribute below). |
• | Portfolio – The Entry Point used in conjunction with the Trade Filter Template attribute above. Enter a portfolio name or id (portfolio meaning a Fund, Mandate or Strategy). |
• | Save Campisi metrics – Set to true to save the indicators used for Campisi fixed income performance attribution. |
• | Official P&L Configuration – Select an Official P&L configuration. |
• | Explain Result – Set to true to generate a validation and explanation Excel file. |
• | Explain Result directory – Enter the destination file path for saving the Excel file. |
1.6 AM_PERFHISTO_PORTFOLIO_IMPORT Scheduled Task
You can import historical performance data from a CSV file using the scheduled task AM_PERFHISTO_PORTFOLIO_IMPORT.
Task Attributes:
• | Import File Path – Enter the file name and path of the file that contains the historical performance. |
Sample File
2. Configuring the Performance Measurement Analysis
From the Calypso Navigator, navigate to Configuration > Reporting & Risk > Analysis Designer.
Right-click a Performance Measurement folder, and choose "New Analysis" to configure the parameters. You will be prompted to enter a configuration name.
» | Enter the fields described below as needed, then click Save. |
Period Config
Indicators |
Description |
---|---|
Config Mode |
Select Running Mode or Rolling Mode. Running Mode allows defining one or several running periods (MTD, YTD, etc.) and custom periods (date ranges). Rolling Mode uses a running period and also adds a rolling decomposition of the period (weekly, monthly, etc.). For example, you can have a YTD period sub-divided into monthly periods. |
Rolling Period |
If Rolling Mode is used, select a date rule (weekly, monthly, etc.). You can click Period Date Rule to define a new date rule as needed. |
Running Period |
List of observation periods used to compute and aggregate effects (YTD, MTD, custom, etc.). You can select a date rule from the list, then click >> to add it. You can click Period Date Rule to define a new date rule as needed. You can specify a custom period, then click + to add it. |
Common
Indicators |
Description |
---|---|
Portfolio PL Config |
Select an "Official" P&L Configuration to be used.
|
Benchmark |
Select which benchmark to compare the portfolio to: Primary or Secondary. Only comparison to a single benchmark is supported.
|
Grouping Criteria |
Select the list of columns used to aggregate effects. |
Consolidation Level |
Select the level at which the results are consolidated: Entry Point, Strategy, or Strategy Flat. |
Consolidation Level Depth |
Depth to which strategy consolidations are computed. Enter "0" for all levels, "1" for the next level, etc. |
Consolidation Currencies Aggregation |
Check to use the currency of the consolidation level. |
Advanced Settings
Indicators |
Description |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Display Position Level |
Check to display positions in the analysis. |
|||||||||||||||
Display Daily Period |
Check to display the daily period in the analysis. |
|||||||||||||||
Display Daily Non Business Days |
Check to display non-business days in the analysis in daily mode. This does not affect the computations. |
|||||||||||||||
Exclude Cash |
Check to exclude cash positions from the calculation. |
|||||||||||||||
Cash Flow Method |
Select the daily cashflow adjustment: Beginning of the day, End of the day, or Adaptive. If Adaptive is selected, depending on the sign of the position (long/short) and the trade sign (buy/sell), the cashflows are either considered at the beginning of the period or at the end of the period. |
|||||||||||||||
Select the Spread calculation logic: Residual or Benchmark Sector.
|
||||||||||||||||
Select the curve point to use for calculating the Shift effect.
|
||||||||||||||||
Time Weighted Cumulated Active Compounding |
Check to compute cumulated active return with geometric return formula on the daily active return, or leave un-checked to compute it as the difference between the cumulated portfolio return and benchmark return. |
|||||||||||||||
Return Alert Level (%) |
Enter the return alert level in %. Used in the Excel validation file for notification of abnormal daily returns.
|
|||||||||||||||
Num. days loading PL Marks |
Enter the number of days the historical data will be taken from P&L, instead of Data Warehouse. It prevents storing P&L data on a daily basis, or each time P&L is modified. |
|||||||||||||||
Post filtered P&L Types |
Select the P&L type(s) for which the corresponding positions will be filtered out.
|
|||||||||||||||
Investment P&L |
When selected, the Cumul Return Cross is computed from Cumul Return FX and Cumul Return Local, like Investment P&L breakdown.
|
Risk & Reward Indicators
Indicators |
Description |
---|---|
Risk Free Rate (%) |
Enter the annualized risk-free rate over the period. |
Minimum Acceptable Rate of Return (%) |
Enter the minimum acceptable rate of return. Used for upside/downside deviations and Sortino ratio. |
Day Count |
Specify the day count normalization for risk indicators. |
3. Running the Performance Measurement Analysis
You can view the results of the Performance Measurement analysis in the Portfolio Workstation.
See Portfolio Workstation for information on running the Portfolio Workstation.
Ⓘ [NOTE: All trades and positions must be in a strategy to be loaded in the Performance Measurement analysis. Positions in a book with no strategy will not be retrieved.]
Sample Performance Measurement Results
Risk Indicators
Return Std Dev (%) = A measure of the average deviations of a return series from its mean. A large standard deviation implies that there have been large swings or volatility in the manager’s return series.
where
Ri is the return for the period i
R is the average return of the overall period
Return Vol (%) = Annualized standard deviation
Tracking Error = The amount of active risk being taken by a manager. Computed by subtracting the return of a specified benchmark or index from the manager’s return for each period, and then calculating the standard deviation of those differences. A higher tracking error indicates a higher level of risk, not necessarily a higher level of return, being taken relative to the specified benchmark. Tracking error only accounts for deviations away from the benchmark, but does not signal in which directions these deviations occur (positive or negative).
where
RFi is the return of the fund for the period i
RF is the average return of the fund on the overall period
RBi is the return of the benchmark for the period i
RB is the average return of the benchmark on the overall period
Beta (%) = A measure of a portfolio’s volatility. Statistically, beta is the covariance of the portfolio in relation to the market. A beta of 1.00 implies perfect historical correlation of movement with the market. A higher beta manager will rise and fall more rapidly than the market, whereas a lower beta manager will rise and fall more slowly. For example, a 1.10 beta portfolio has historically been 10% more volatile than the market.
Determination Coefficient = A measure of a manager’s movement in relation to the market. Generally, the R2 of a manager versus a benchmark is a measure of how closely related the variance of the manager returns and the variance of the benchmark returns are. In other words, the R2 measures the percent of a manager’s return patterns that are “explained” by the market and ranges from 0 to 1. For example, an R2 of 0.90 means that 90% of a portfolio’s return can be explained by movement in the broad market (benchmark).
Sharpe Ratio = This statistic is computed by subtracting the return of the risk-free index (typically 91-day T-bill or some other cash benchmark) from the return of the manager to determine the risk-adjusted excess return. This excess return is then divided by the standard deviation of the manager. A manager taking on risk, as opposed to investing in cash, is expected to generate higher returns and Sharpe measures how well the manager generated returns with that risk. In other words, it is a measurement of efficiency utilizing the relationship between annualized risk-free return and standard deviation. The higher the Sharpe Ratio, the greater efficiency produced by this manager. For example, a Sharpe Ratio of 1 is better than a ratio of 0.5.
where
RF is the annualized return of the fund over the period
Rrf is the annualized risk-free rate over the period
V is the annualized volatility of the fund over the period
Treynor Ratio = Similar to the Sharpe Ratio, this statistic is computed by subtracting the return of the risk-free index (typically 91-day T-bill or some other cash benchmark) from the return of the manager to determine the risk-adjusted return. This excess return is then divided by the Beta of the portfolio. This is another efficiency ratio that evaluates whether the manager is being rewarded with additional return for each additional unit of risk being taken with risk being defined by Beta, a measure of systematic risk, not Total Risk (standard deviation).
where
RF is the annualized return of the fund over the period
Rrf is the annualized risk-free rate over the period
β is the beta of the fund over the period
Information Ratio = This statistic is computed by subtracting the return of the market from the return of the manager to determine the excess return. The excess return is then divided by the standard deviation of the excess returns (or Tracking Error) to produce the information ratio. This ratio is a measure of the value added per unit of active risk by a manager over an index. Managers taking on higher levels of risk are expected to then generate higher levels of return, so a positive IR would indicate “efficient” use of risk by a manager. This is similar to the Sharpe Ratio, except this calculation is based on excess rates of return versus a benchmark instead of a risk-free rate.
where
RF is the annualized return of the fund over the period
Rrf is the annualized risk-free rate over the period
TE is the beta of the fund over the period
Modified Jensen = Modified Jensen’s alpha is Jensen’s alpha divided by beta.
Skewness = Skewness characterizes the degree of asymmetry of a distribution around its mean. Positive skewness indicates a distribution with an asymmetric tail extending toward more positive values. Negative skewness indicates a distribution with an asymmetric tail extending toward more negative values.
where
Ri is the return for the period i
R is the average return of the overall period
SD is the standard deviation
n is the number of returns
Kurtosis = Kurtosis characterizes the relative peakedness or flatness of a distribution compared with the normal distribution. Positive kurtosis indicates a relatively peaked distribution. Negative kurtosis indicates a relatively flat distribution. If there are fewer than four data points, or if the standard deviation of the sample equals zero, Kurtosis returns the N/A error value.
where
Ri is the return for the period i
R is the average return of the overall period
SD is the standard deviation
n is the number of returns
Jarque Bera Test
Downside Deviation = A measure of the average deviations of a negative return series. A large downside risk implies that there have been large swings or volatility in the manager’s return series when it is below the selected hurdle rate (MARR). Downside deviation (also known as downside risk) attempts to further break down volatility between upside volatility, which is generally favorable since it implies positive out-performance, and downside volatility, which is generally unfavorable and implies loss of capital or returns below an expected or required level.
and
where
Ri is the return for the period i
n is the number of returns
MARR is the Minimum Acceptable Rate of Return. Must be entered manually in the Performance Measurement analysis.
DaysReference is the number of days of reference for a period
DaysObservation is the number of days of sub-periods (1 for daily, 5 for weekly open days, for instance)
Upside Deviation = The standard deviation of all positive returns.
and
where
Ri is the return for the period i
n is the number of returns
MARR is the Minimum Acceptable Rate of Return. Must be entered manually in the Performance Measurement analysis.
DaysReference is the number of days of reference for a period
DaysObservation is the number of days of sub-periods (1 for daily, 5 for weekly open days, for instance)
Sortino Ratio = This measure is very similar to the Sharpe Ratio except that it is concerned only with downside volatility (unfavorable) versus total volatility (both favorable, upside volatility and unfavorable, downward volatility). This statistic is computed by subtracting the return of the risk-free index (typically 91-day T-bill or other cash index) from the return of the manager to determine the risk-adjusted excess return. This excess return is then divided by the downside risk of the manager. A manager taking on risk, as opposed to investing in cash, is expected to generate higher returns and Sortino measures how well the manager “spends” that risk, while not penalizing them for upside volatility (out-performance). The higher the Sortino Ratio, the better; a Sortino Ratio of 1 is better than a ratio of 0.5 – higher excess return and/or lower downside risk.
where
RF is the annualized return of the fund over the period
Rrf is the annualized risk-free rate over the period
Downside Deviation is the annualized downside deviation
Performance Indicators
Return Best Period = Period from the rolling period with the highest return. Computed at fund and benchmark level.
Return Worst Period = Period from the rolling period with the worst return. Computed at fund and benchmark level.
Positive Return (%) = Percentage of periods with strictly positive returns. Computed at fund and benchmark level.
Return Max Loss (%) = Lowest cumulative return in the period as if an investor had subscribed at the beginning of the period and sold their share at the worst time.
where
n is the number of daily periods during the considered period
Cumulated Return(1,i) is the cumulative return from the start of the first daily period to the end of the daily period i
Return Max Draw Down (%) = Lowest cumulative return in the period as if an investor had subscribed and sold their share at the worst time.
Return Max Run Up (%) = Highest cumulative return in the period as if an investor had subscribed and sold their share at the best time.
Contribution To Vol (%) = Decomposition of volatility contribution at the holding level. You need to add a grouping by Product Description to have it at the holding level.
ContributionToVol = Std Dev(PositionContributions) * Correl(PositionContributions,PortfolioReturns) * SQRT(BaseDays)
Contribution To Tracking Error (%) = Decomposition of tracking error at the holding level. You need to add a grouping by Product Description to have it at the holding level.
ContributionToTrackingError = Std Dev(ActiveContributions) * Correl(ActiveContributions,PortfolioReturns) * SQRT(Base Days)
MW Annualized Return (%) = Modified Dietz money weighted return for a period shorter than 1 year.
where y is number of years, and > 1
Campisi Fixed Income Performance Attribution
Campisi performance attribution considers the unique factors of bond performance, and provides a further decomposition of the Local and FX returns of fixed income products.
The effects shown in the decomposition diagram above are calculated as follows:
Instrument
Income
Treasury
where
PRICE_DISCOUNT_CURVE is the price using discount curves only (no quotes and no credit curves)
Ⓘ [NOTE: In addition to curve movements, it takes Roll Down and Pull-to-par effects into account.]
Shift
where
5Y is the curve point specified in the Campisi Parallel Shift Point analysis parameter - this value can be changed
Twist = Treasury - Shift
Spread
The Spread calculation depends on the value of the Campisi Spread Source analysis parameter.
Campisi Spread Source value |
Calculation |
---|---|
Residual |
All positions Spread = Instrument - Treasury - Income |
Benchmark Sector |
Benchmark positions Spread = Instrument - Treasury - Income Portfolio positions in sectors that exist in the benchmark See below. Portfolio positions in sectors that do not exist in the benchmark Spread = Instrument - Treasury - Income Ⓘ [NOTE: This scenario was not anticipated by Campisi as a portfolio manager would normally not be investing in a sector not contained in the benchmark.] |
Portfolio positions in sectors that exist in the benchmark
• | Compute the implied Spread change for this sector in the benchmark: |
where
• | Compute the Spread Return induced by the Spread Change: |
Selection = Instrument - Treasury - Income - Spread
• | If analysis parameter Campisi Spread Source = Residual, it should always be 0. |
• | If analysis parameter Campisi Spread Source = Benchmark Sector, it should be 0 for the benchmark. |
Trading = Local - Instrument
Any Local return that doesn't come from the Instrument itself is a Trading return.
Expected FX
where
FW is the forecast FX rate from the FX curves
FX is the FX spot rate
Surprise FX = Total FX - Expected FX
4. Generating an Excel Validation File
The scheduled task AM_PERF_REPORTING allows generating Excel validation and explanation files for Performance Measurement analyses.
Scheduled tasks are added in the domain scheduledTask.
Task Attributes:
• | Portfolio – Enter the portfolio entry point name or id, as defined in the Portfolio Hierarchy window. |
• | Column Set – Enter a column set name, as defined in the Column Sets window. |
• | Include Campisi – Set to true to include Campisi indicators. |
• | Output format – Select the output format: CSV, EXCEL (non-formatted), or FORMATTED EXCEL (formatted with colors, etc.). |
• | Output file path – Enter the output file path, consisting of directory, file name, and file extension type as appropriate (.xlsx, .csv). |
• | Output file timestamp – Select the timestamp format to be appended to the file name: Date and Time (<yyyyMMDD>T<HHMMSS>, Date Only (yyyyMMDD), Legacy Format (MM-DD-yyyy), or No Timestamp. |
Note that if you select anything other than Date and Time, and a file with the specified name already exists in the specified directory, it will be overwritten.
• | Output file date type – You can select "Current date" or "Valuation date" for the reference date of the output file timestamp. Default is "Current date". |
• | Generate Explain file – Set to true to generate an Excel explanation file. |
• | Include Excel Formulas – Set to true to add validation formulas to the Excel explanation file. |
• | Explain file path – Enter the output file path for the explanation file, consisting of directory, file name, and file extension type (.xlsx only). |
• | Generate Debug file – Set to true to generate a debug file. |
• | Debug file path – Enter the output file path for the debug file, consisting of directory, file name, and file extension type (.xlsx only). |
• | Save Report – Set to true to save the results to the database. You can view the results saved to the database in the Portfolio Workstation. |