alphaScreening {PeerPerformance} | R Documentation |
Screening using the alpha outperformance ratio
Description
Function which performs the screening of a universe of returns, and computes the alpha outperformance ratio.
Usage
alphaScreening(X, factors = NULL, control = list())
Arguments
X |
Matrix |
factors |
Matrix |
control |
Control parameters (see *Details*). |
Details
The alpha measure (Treynor and Black 1973, Carhart 1997, Fung and Hsieh 2004) is one industry standard for measuring the absolute risk adjusted performance of hedge funds. We propose to complement the alpha measure with the fund's alpha outperformance ratio, defined as the percentage number of funds that have a significantly lower alpha. In a pairwise testing framework, a fund can have a significantly higher alpha because of luck. We correct for this by applying the false discovery rate approach by Storey (2002).
The methodology proceeds as follows:
(1) compute all pairwise tests of alpha differences. This means that for a universe of
N
funds, we performN(N-1)/2
tests. The algorithm has been parallelized and the computational burden can be splitted across several cores. The number of cores can be defined incontrol
, see below.(2) for each fund, the false discovery rate approach by Storey (2002) is used to determine the proportions of over, equal, and underperfoming funds, in terms of alpha, in the database.
The argument control
is a list that can supply any of the following
components:
-
'hac'
Heteroscedastic-autocorrelation consistent standard errors. Default:hac = FALSE
. -
'minObs'
Minimum number of concordant observations to compute the ratios. Default:minObs = 10
. -
'minObsPi'
Minimum number of observations for computing the p-values). Default:minObsPi = 1
. -
'nCore'
Number of cores used to perform the screeing. Default:nCore = 1
. -
'lambda'
Threshold value to compute pi0. Default:lambda = NULL
, i.e. data driven choice.
Value
A list with the following components:
n
: Vector (of length N
) of number of non-NA
observations.
npeer
: Vector (of length N
) of number of available peers.
alpha
: Vector (of length N
) of unconditional alpha.
dalpha
: Matrix (of size N \times N
) of alpha
differences.
tstat
: Matrix (of size N \times N
) of t-statistics.
pval
: Matrix (of size N \times N
) of p-values of test for alpha
differences.
lambda
: Vector (of length N
) of lambda values.
pizero
: Vector (of length N
) of probability of equal
performance.
pipos
: Vector (of length N
) of probability of outperformance
performance.
pineg
: Vector (of length N
) of probability of underperformance
performance.
Note
Further details on the methdology with an application to the hedge fund industry is given in Ardia and Boudt (2018).
Application of the false discovery rate approach applied to the mutual fund industry has been presented in Barras, Scaillet and Wermers (2010).
Currently, the HAC asymptotic and studentized circular block bootstrap
presented in Ledoit and Wolf (2008) are not supported by the
alphaScreening
function.
Author(s)
David Ardia and Kris Boudt.
References
Ardia, D., Boudt, K. (2015). Testing equality of modified Sharpe ratios. Finance Research Letters 13, pp.97–104. doi: 10.1016/j.frl.2015.02.008
Ardia, D., Boudt, K. (2018). The peer performance ratios of hedge funds. Journal of Banking and Finance 87, pp.351-.368. doi: 10.1016/j.jbankfin.2017.10.014
Barras, L., Scaillet, O., Wermers, R. (2010). False discoveries in mutual fund performance: Measuring luck in estimated alphas. Journal of Finance 65(1), pp.179–216.
Carhart, M. (1997). On persistence in mutual fund performance. Journal of Finance 52(1), pp.57–82.
Fama, E., French, K. (2010). Luck versus skill in the cross-section of mutual fund returns. Journal of Finance 65(5), pp.1915–1947.
Fung, W., Hsieh, D. (2004). Hedge fund benchmarks: A risk based approach. Financial Analysts Journal 60(5), pp.65–80.
Storey, J. (2002). A direct approach to false discovery rates. Journal of the Royal Statistical Society B 64(3), pp.479–498.
Treynor, J. L., Black, F. (1973). How to use security analysis to improve portfolio selection. Journal of Business 46(1), pp.66–86.
See Also
sharpeScreening
and msharpeScreening
.
Examples
## Load the data (randomized data of monthly hedge fund returns)
data("hfdata")
rets = hfdata[,1:10]
## Run alpha screening
ctr = list(nCore = 1)
alphaScreening(rets, control = ctr)
## Run alpha screening with HAC standard deviation
ctr = list(nCore = 1, hac = TRUE)
alphaScreening(rets, control = ctr)