cusumActMgr: Using Statistical Process Control to Monitor Active...

Description Usage Arguments Details Value Author(s) References Examples

Description

Monitor the risk adjusted performance (Information Ratio) of an actively managed portfolio and raise an alarm when sufficient evidence has accrued to indicate that its current Information Ratio is 0 or worse. The monitorng is performed using an optimal changepoint detection scheme (the CUSUM algorithm) An object of class "cusumActMgr" is returned.

Usage

1
2
cusumActMgr(portfolioName, benchmarkName, data, upperIR = 0.5, lowerIR = 0,
  lambda_in = 0.1, lambda_out = 0.2, winsorize = 4, filterStd = FALSE)

Arguments

portfolioName

a character representing the name of the fund. It is a required argument with no default

benchmarkName

a character representing the name of the benchamark It is a required argument with no default

data

an xts object containing the columns portfolioName and benchmarkName of monthly returns. This argument is required with no default.

upperIR

a numeric value representing the information ratio of a good performance. The default is set to 0.5

lowerIR

a numeric value representing the information ratio of a bad performance. The default is set to 0

lambda_in

the exponential weighting constant when the data seems consistent with the current estimate of volatility. The default is set to 0.1

lambda_out

the exponential weighting constant when the data seems inconsistent with the current estimate of volatility. The default is set to 0.2

winsorize

the numeric value, greater than 1, of standard deviations at which we winsorize. The default is set to 4.

filterStd

the logical value representing the filter of the estimated standard deviations. The default is set to FALSE.

Details

Assessing the performance of the active managers is hard because active returns (i.e. portfolio return - benchmark return) are noisy. In addition, the risk of these active returns must be taken account of, and this is commonly (though not universally) done by measuring the standard deviation of active returns. Empirical studies of active managers across a wide range of asset classes suggest that an Annualized Information Ratio (IR = Active Return / Std. Dev.(Active Return)) of 0.5 over a period of 5 years or more is exceptional. In addition, public markets are very efficient, and known inefficiencies disappear as they get arbitraged away, though other inefficiencies sometimes appear in their place. Consequently, the majority of active managers deliver active returns and IR close to 0, and even those with a positive IR are at constant risk of having their added value dissipate. Investors, therefore, must continually estimate the current performance of their active portfolios and determine when sufficient evidence has accrued to suggest that their active return and IR have fallen to 0 (or turned negative). Put differently, investors need to reapidly detect changes, particularly negative changes, in the performance of their portfolios.

There is a rich literature on changepoint detection, and of the many available algorithms to detect changepoints, the CUSUM (an acronym for CUmulative SUM) stands out on account of its simplicity, its robustness to the actual distribution of active returns, and the optimal trade-off between detection time and the rate of false alarms that it offers. It is closely retlated to Wald's Sequential Probability Ratio Test (SPRT) but is much simpler to implement, and requires minimal inputs from the user. In this application, it seeks to determine when the IR of a portfolio has changed from a good level (default = 0.5 ) to a bad level (default = 0). An alarm is raised when the CUSUM scheme crosses a threshold, which is chosen to make the average time between false alarms 84 months (7 years). By way of comparison, the time taken to detect a transition from good performance to bad is 41 months (or 3 1/2 years). This is much faster than the traditional t-test, which would take 16 years to obtain a t-statistic of 2. The threshold can be recalibrated to meet a user's needs.

Value

cusumActMgr returns a list containing the following xts objects:

Logarithmic_Excess_Returns

Logarithmic excess returns of the fund relative to the benchmark

Annual_Moving_Average

The vector of annual moving average returns

Tracking_Error

The monthly tracking error of the logarithmic excess returns

Information_Ratios

The vector of monthly information ratios

Lindley's_Recursion

The vector Lindley's recursion with a reset after the detection threshold (6.81) is passed.

Annualized_Cusum_IR

The vector annualized CUSUM of the information ratios

Annualized Cusum Excess Return

The vector annualized CUSUM of the excess returns

Means

The xts matrix of estimated means of the fund in the first columns, the benchmark in the second column, and the excess logarithmic returns in the third column

Standard_deviations

The xts matrix of estimated standard deviations of the fund in the first columns, the benchmark in the second column, and the excess logarithmic returns in the third column. It will not be filtered unless filterStd = TRUE is specified.

Protractor

The xts matrix of the rays from IR = -3 in the first column to IR = 3 in the seventh column used in the CUSUM IR as a protractor.

Excess_Volatility

The annualized Standard deviations

Author(s)

Chindhanai Uthaisaad.

References

Philips, T. K., Yashchin, E. and Stein, D. M. (2003). “Using Statistical Process Control to Monitor Active Managers”, Journal of Portfolio Management, Fall 2003, pp. 86-94.

Examples

1
2
Data = data(cusumData)
results = cusumActMgr(portfolioName = "Parvest", benchmarkName = "RUS2500", data = cusumData)

chindhanai/GSoC2017 documentation built on May 3, 2019, 5:15 p.m.