# sharpeTesting: Testing the difference of Sharpe ratios In ArdiaD/PeerPerformance: Luck-Corrected Peer Performance Analysis in R

## Description

Function which performs the testing of the difference of Sharpe ratios.

## Usage

 `1` ```sharpeTesting(x, y, control = list()) ```

## Arguments

 `x` Vector (of lenght T) of returns for the first fund. `NA` values are allowed. `y` Vector (of lenght T) returns for the second fund. `NA` values are allowed. `control` Control parameters (see *Details*).

## Details

The Sharpe ratio (Sharpe 1992) is one industry standard for measuring the absolute risk adjusted performance of hedge funds. This function performs the testing of Sharpe ratio difference for two funds using the approach by Ledoit and Wolf (2002).

For the testing, only the intersection of non-`NA` observations for the two funds are used.

The argument `control` is a list that can supply any of the following components:

• `'type'` Asymptotic approach (`type = 1`) or studentized circular bootstrap approach (`type = 2`). Default: `type = 1`.

• `'ttype'` Test based on ratio (`type = 1`) or product (`type = 2`). Default: `type = 2`.

• `'hac'` Heteroscedastic-autocorrelation consistent standard errors. Default: `hac = FALSE`.

• `'nBoot'` Number of boostrap replications for computing the p-value. Default: ```nBoot = 499```.

• `'bBoot'` Block length in the circular bootstrap. Default: `bBoot = 1`, i.e. iid bootstrap. `bBoot = 0` uses optimal block-length.

• `'pBoot'` Symmetric p-value (`pBoot = 1`) or asymmetric p-value (`pBoot = 2`). Default: `pBoot = 1`.

## Value

A list with the following components:

`n`: Number of non-`NA` concordant observations.

`sharpe`: Vector (of length 2) of unconditional Sharpe ratios.

`dsharpe`: Sharpe ratios difference.

`tstat`: t-stat of Sharpe ratios differences.

`pval`: pvalues of test of Sharpe ratios differences.

## Note

Further details on the methdology with an application to the hedge fund industry is given in in Ardia and Boudt (2018).

Some internal functions where adapted from Michael Wolf MATLAB code.

## 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 Ratios Performance 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. doi: 10.1111/j.1540-6261.2009.01527.x

Sharpe, W.F. (1994). The Sharpe ratio. Journal of Portfolio Management 21(1), pp.49–58. doi: 10.3905/jpm.1994.409501

Ledoit, O., Wolf, M. (2008). Robust performance hypothesis testing with the Sharpe ratio. Journal of Empirical Finance 15(5), pp.850–859. doi: 10.1016/j.jempfin.2008.03.002

Storey, J. (2002). A direct approach to false discovery rates. Journal of the Royal Statistical Society B 64(3), pp.479–498.

`sharpe`, `sharpeScreening` and `msharpeTesting`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26``` ```## Load the data (randomized data of monthly hedge fund returns) data("hfdata") x = hfdata[,1] y = hfdata[,2] ## Run Sharpe testing (asymptotic) ctr = list(type = 1) out = sharpeTesting(x, y, control = ctr) print(out) ## Run Sharpe testing (asymptotic hac) ctr = list(type = 1, hac = TRUE) out = sharpeTesting(x, y, control = ctr) print(out) ## Run Sharpe testing (iid bootstrap) set.seed(1234) ctr = list(type = 2, nBoot = 250) out = sharpeTesting(x, y, control = ctr) print(out) ## Run Sharpe testing (circular bootstrap) set.seed(1234) ctr = list(type = 2, nBoot = 250, bBoot = 5) out = sharpeTesting(x, y, control = ctr) print(out) ```

ArdiaD/PeerPerformance documentation built on Aug. 30, 2018, 11:12 p.m.