asnr_confint: Confidence intervals on achieved SnR

View source: R/estimation.r

asnr_confintR Documentation

Confidence intervals on achieved SnR

Description

Computes approximate bounds on the achieved signal-noise ratio of the Markowitz portfolio built on sample data.

Usage

asnr_confint(z.s, level = 0.95, level.lo = (1 - level), level.hi = 1)

## S3 method for class 'sropt'
asnr_confint(z.s, level = 0.95, level.lo = (1 - level), level.hi = 1)

## S3 method for class 'del_sropt'
asnr_confint(z.s, level = 0.95, level.lo = (1 - level), level.hi = 1)

Arguments

z.s

an object of type sropt, or del_sropt

level

the confidence level required.

level.lo

the lower confidence level required.

level.hi

the upper confidence level required.

Details

Provides an approximate bound on the achieved Signal-noise ratio of the sample Markowitz portfolio. That is if \mu and \Sigma are the unknown mean and covariance of returns, and w is the sample Markowitz portfolio, then the probability that

w^{\top}\mu / \sqrt{w^{\top}\Sigma w} \ge b

is the given probability level. See section 8.3.1 of ‘The Sharpe Ratio: Statistics and Applications’. Plugs in the \delta_2 estimator.

Value

an estimate of the non-centrality parameter, which is the maximal population Sharpe ratio.

Author(s)

Steven E. Pav shabbychef@gmail.com

References

Pav, S. E. "The Sharpe Ratio: Statistics and Applications." CRC Press, 2021.

Pav, S. E. "Inference on achieved signal noise ratio." 2020 https://arxiv.org/abs/2005.06171

See Also

Other sropt Hotelling: inference(), sric()

Examples

# generate some sropts
nfac <- 3
nyr <- 5
ope <- 253
# simulations with no covariance structure.
# under the null:
set.seed(as.integer(charToRaw("determinstic")))
Returns <- matrix(rnorm(ope*nyr*nfac,mean=0,sd=0.0125),ncol=nfac)
asro <- as.sropt(Returns,drag=0,ope=ope)
asnr_confint(asro)

# for del_sropt:
nfac <- 5
nyr <- 10
ope <- 253
set.seed(as.integer(charToRaw("fix seed")))
Returns <- matrix(rnorm(ope*nyr*nfac,mean=0.0005,sd=0.0125),ncol=nfac)
# hedge out the first one:
G <- matrix(diag(nfac)[1,],nrow=1)
asro <- as.del_sropt(Returns,G,drag=0,ope=ope)
asnr_confint(asro)


SharpeR documentation built on April 3, 2025, 7:36 p.m.