sr_bias {SharpeR} | R Documentation |
sr_bias .
Description
Computes the asymptotic bias of the sample Sharpe ratio based on moments.
Usage
sr_bias(snr, n, cumulants, type = c("simple", "second_order"))
Arguments
snr |
the population Signal Noise ratio. Often one will use the population estimate instead. |
n |
the sample size that the Shapre ratio is observed on. |
cumulants |
a vector of the third through fourth, or the third through seventh population cumulants of the random variable. More terms are needed for the higher accuracy approximation. |
type |
determines the order of accuracy of the bias approximation. Takes values of
|
Details
The sample Sharpe ratio has bias of the form
B = \left(\frac{3}{4n} + 3 \frac{\gamma_2}{8n}\right) \zeta -
\frac{1}{2n} \gamma_1 + o\left(n^{-3/2}\right),
where \zeta
is the population Signal Noise ratio,
n
is the sample size, \gamma_1
is the population skewness,
and \gamma_2
is the population excess kurtosis.
This form of the bias appears as Equation (5) in Bao, which
claims an accuracy of only o\left(n^{-1}\right)
. The
author believes this approximation is slightly more accurate.
A more accurate form is given by Bao (Equation (3)) as
B = \frac{3\zeta}{4n}\zeta + \frac{49\zeta}{32n^2} - \gamma_1 \left(\frac{1}{2n} + \frac{3}{8n^2}\right) + \gamma_2 \zeta
\left(\frac{3}{8n} - \frac{15}{32n^2}\right) + \frac{3\gamma_3}{8n^2} - \frac{5\gamma_4 \zeta}{16n^2} - \frac{5\gamma_1^2\zeta}{4n^2}
+ \frac{105\gamma_2^2 \zeta}{128 n^2} - \frac{15 \gamma_1 \gamma_2}{16n^2} + o\left(n^{-2}\right),
where \gamma_3
through \gamma_5
are the fifth through
seventh cumulants of the error term.
See ‘The Sharpe Ratio: Statistics and Applications’, section 3.2.3.
Value
the approximate bias of the Sharpe ratio. The bias is the expected value of the sample Sharpe minus the Signal Noise ratio.
Note
much of the code is adapted from Gauss code provided by Yong Bao.
Author(s)
Steven E. Pav shabbychef@gmail.com
References
Bao, Yong. "Estimation Risk-Adjusted Sharpe Ratio and Fund Performance Ranking Under a General Return Distribution." Journal of Financial Econometrics 7, no. 2 (2009): 152-173. doi: 10.1093/jjfinec/nbn022
Pav, S. E. "The Sharpe Ratio: Statistics and Applications." CRC Press, 2021.
See Also
Examples
# bias under normality:
sr_bias(1, 100, rep(0,2), type='simple')
sr_bias(1, 100, rep(0,5), type='second_order')
# plugging in sample estimates
x <- rnorm(1000)
n <- length(x)
mu <- mean(x)
sdv <- sd(x)
snr <- mu / sdv
# these are not great estimates, but close enough:
sku <- mean((x-mu)^3) / sdv^3
kur <- (mean((x-mu)^4) / sdv^4) - 4
sr_bias(snr, n, c(sku,kur), type='simple')