Learn R Programming

SharpeR (version 1.0.0)

sr_unpaired_test: test for equation on unpaired Sharpe ratios

Description

Performs hypothesis tests on a single equation on k independent samples of Sharpe ratio.

Usage

sr_unpaired_test(srs,contrasts=NULL,null.value=0,
  alternative=c("two.sided","less","greater"),
  ope=NULL,conf.level=0.95)

Arguments

srs
a (non-empty) list of objects of class sr, each containing a scalar sample Sharpe estimate. Or a single object of class sr with multiple Sharpe estimates.
contrasts
an array of the constrasts, the $a_j$ values. Defaults to c(1,-1,1,...).
null.value
the constant null value, the $b$. Defaults to 0.
alternative
a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter.
ope
the number of observations per 'epoch'. For convenience of interpretation, The Sharpe ratio is typically quoted in 'annualized' units for some epoch, that is, 'per square root epoch', though returns are observed at a frequency of ope per epoc
conf.level
confidence level of the interval.
...
further arguments to be passed to or from methods.

Value

  • A list with class "htest" containing the following components:
  • statisticNULL here.
  • parametera list of upsilon parameters.
  • p.valuethe p-value for the test.
  • conf.inta confidence interval appropriate to the specified alternative hypothesis.
  • estimatethe estimated equation value, just the weighted sum of the sample Sharpe ratios. Annualized
  • null.valuethe specified hypothesized value of the sum of Sharpes.
  • alternativea character string describing the alternative hypothesis.
  • methoda character string indicating what type of test was performed.
  • data.namea character string giving the name(s) of the data.

Details

For $1 \le j \le k$, suppose you have $n_j$ observations of a normal random variable with mean $\mu_j$ and standard deviation $\sigma_j$, with all observations independent. Given constants $a_j$ and value $b$, this code tests the null hypothesis $$H_0: \sum_j a_j \frac{\mu_j}{\sigma_j} = b$$ against two or one sided alternatives.

References

Sharpe, William F. "Mutual fund performance." Journal of business (1966): 119-138. http://ideas.repec.org/a/ucp/jnlbus/v39y1965p119.html

Pav, Steven. "Inference on the Sharpe ratio via the upsilon distribution.' Arxiv (2015). http://arxiv.org/abs/1505.00829

See Also

sr_equality_test, sr_test, t.test.

Other sr: as.sr, as.sr.data.frame, as.sr.default, as.sr.lm, as.sr.matrix, as.sr.timeSeries, as.sr.xts; confint.del_sropt, confint.sr, confint.sropt; dsr, psr, qsr, rsr; is.sr; plambdap, qlambdap, rlambdap; power.sr_test; predint; print.del_sropt, print.sr, print.sropt; reannualize, reannualize.sr, reannualize.sropt; se, se.sr; sr_equality_test; sr_test; sr_vcov; sr

Examples

Run this code
# basic usage
set.seed(as.integer(charToRaw("set the seed")))
# default contrast is 1,-1,1,-1,1,-1
etc <- sr_unpaired_test(as.sr(matrix(rnorm(1000*6,mean=0.02,sd=0.1),ncol=6)))
print(etc)

etc <- sr_unpaired_test(as.sr(matrix(rnorm(1000*4,mean=0.0005,sd=0.01),ncol=4)),
  alternative='greater')
print(etc)

etc <- sr_unpaired_test(as.sr(matrix(rnorm(1000*4,mean=0.0005,sd=0.01),ncol=4)),
  contrasts=c(1,1,1,1),null.value=-0.1,alternative='greater')
print(etc)

inp <- list(as.sr(rnorm(500)),as.sr(runif(200)-0.5),
            as.sr(rnorm(30)),as.sr(rnorm(100)))
etc <- sr_unpaired_test(inp)

inp <- list(as.sr(rnorm(500)),as.sr(rnorm(100,mean=0.2,sd=1)))
etc <- sr_unpaired_test(inp,contrasts=c(1,1),null.value=0.2)
etc$conf.int

Run the code above in your browser using DataLab