View source: R/distributions.r
dsr | R Documentation |
Density, distribution function, quantile function and random
generation for the Sharpe ratio distribution with df
degrees of freedom
(and optional signal-noise-ratio zeta
).
dsr(x, df, zeta, ope, ...)
psr(q, df, zeta, ope, ...)
qsr(p, df, zeta, ope, ...)
rsr(n, df, zeta, ope)
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 |
zeta |
the 'signal-to-noise' parameter, |
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 |
... |
arguments passed on to the respective t-distribution functions, namely
|
p |
vector of probabilities. |
n |
number of observations. |
Suppose x_i
are n
independent draws of a normal random
variable with mean \mu
and variance \sigma^2
.
Let \bar{x}
be the sample mean, and s
be
the sample standard deviation (using Bessel's correction). Let c_0
be the 'risk free rate'. Then
z = \frac{\bar{x} - c_0}{s}
is the (sample) Sharpe ratio.
The units of z
is \mbox{time}^{-1/2}
.
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}\frac{\bar{x}-c_0}{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 = \frac{\mu - c_0}{\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.
See ‘The Sharpe Ratio: Statistics and Applications’, section 2.2.
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.
This is a thin wrapper on the t distribution.
The functions dt, pt, qt
can accept ncp from
limited range (|\delta|\le 37.62
). Some corrections
may have to be made here for large zeta
.
Steven E. Pav shabbychef@gmail.com
Sharpe, William F. "Mutual fund performance." Journal of business (1966): 119-138. https://ideas.repec.org/a/ucp/jnlbus/v39y1965p119.html
Pav, S. E. "The Sharpe Ratio: Statistics and Applications." CRC Press, 2021.
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
,
sr_equality_test()
,
sr_test()
,
sr_unpaired_test()
,
sr_vcov()
,
summary.sr
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)
plot(ecdf(pvs.H0))
plot(ecdf(pvs.HA))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.