# dsr: The (non-central) Sharpe ratio. In shabbychef/SharpeR: Statistical Significance of the Sharpe Ratio

## Description

Density, distribution function, quantile function and random generation for the Sharpe ratio distribution with `df` degrees of freedom (and optional signal-noise-ratio `zeta`).

## Usage

 ```1 2 3 4 5 6 7``` ```dsr(x, df, zeta, ope, ...) psr(q, df, zeta, ope, ...) qsr(p, df, zeta, ope, ...) rsr(n, df, zeta, ope) ```

## Arguments

 `x, q` vector of quantiles. `df` the number of observations the statistic is based on. This is one more than the number of degrees of freedom in the corresponding t-statistic, although the effect will be small when `df` is large. `zeta` the 'signal-to-noise' parameter, zeta defined as the population mean divided by the population standard deviation, 'annualized'. `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 epoch. The default value is 1, meaning the code will not attempt to guess what the observation frequency is, and no annualization adjustments will be made. `...` arguments passed on to the respective t-distribution functions, namely `lower.tail` with default `TRUE`, `log` with default `FALSE`, and `log.p` with default `FALSE`. `p` vector of probabilities. `n` number of observations.

## Details

Suppose xi are n independent draws of a normal random variable with mean mu and variance sigma^2. Let xbar be the sample mean, and s be the sample standard deviation (using Bessel's correction). Let c0 be the 'risk free rate'. Then

z = (xbar - c0)/s

is the (sample) Sharpe ratio.

The units of z is per root time. Typically the Sharpe ratio is annualized by multiplying by sqrt(d), where d is the number of observations per epoch (typically a year).

Letting z = sqrt(d)(xbar - c0)/s, where the sample estimates are based on n observations, then z takes a (non-central) Sharpe ratio distribution parametrized by n 'degrees of freedom', non-centrality parameter zeta = (mu - c0)/sigma, and annualization parameter d.

The parameters are encoded as follows:

• n is denoted by `df`.

• zeta is denoted by `zeta`.

• d is denoted by `ope`. ('Observations Per Year')

If the returns violate the assumptions of normality, independence, etc (as they always should in the real world), the sample Sharpe Ratio will not follow this distribution. It does provide, however, a reasonable approximation in many cases.

## Value

`dsr` gives the density, `psr` gives the distribution function, `qsr` gives the quantile function, and `rsr` generates random deviates.

Invalid arguments will result in return value `NaN` with a warning.

## Note

This is a thin wrapper on the t distribution. The functions `dt, pt, qt` can accept ncp from limited range (delta <= 37.62). Some corrections may have to be made here for large `zeta`.

## Author(s)

Steven E. Pav [email protected]

## References

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

`reannualize`

t-distribution functions, `dt, pt, qt, rt`

Other sr: `as.sr`, `confint.sr`, `is.sr`, `plambdap`, `power.sr_test`, `predint`, `print.sr`, `reannualize`, `se`, `sr_equality_test`, `sr_test`, `sr_unpaired_test`, `sr_vcov`, `sr`, `summary.sr`

## Examples

 ```1 2 3 4 5 6 7 8 9``` ```rvs <- rsr(128, 253*6, 0, 253) dvs <- dsr(rvs, 253*6, 0, 253) pvs.H0 <- psr(rvs, 253*6, 0, 253) pvs.HA <- psr(rvs, 253*6, 1, 253) ## Not run: plot(ecdf(pvs.H0)) plot(ecdf(pvs.HA)) ## End(Not run) ```

shabbychef/SharpeR documentation built on May 29, 2019, 8:05 p.m.