Learn R Programming

SharpeR (version 1.4.0)

asnr_confint: 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 sropt asnr_confint(z.s, level = 0.95, level.lo = (1 - level), level.hi = 1)

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

Value

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

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.

Author

Steven E. Pav shabbychef@gmail.com

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.

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

Run this code
# 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)

Run the code above in your browser using DataLab