Learn R Programming

SharpeR (version 1.4.0)

inference: Inference on noncentrality parameter of F-like statistic

Description

Estimates the non-centrality parameter associated with an observed statistic following an optimal Sharpe Ratio distribution.

Usage

inference(z.s, type = c("KRS", "MLE", "unbiased"))

# S3 method for sropt inference(z.s, type = c("KRS", "MLE", "unbiased"))

# S3 method for del_sropt inference(z.s, type = c("KRS", "MLE", "unbiased"))

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

type

the estimator type. one of c("KRS", "MLE", "unbiased")

Author

Steven E. Pav shabbychef@gmail.com

Details

Let \(F\) be an observed statistic distributed as a non-central F with \(\nu_1\), \(\nu_2\) degrees of freedom and non-centrality parameter \(\delta^2\). Three methods are presented to estimate the non-centrality parameter from the statistic:

  • an unbiased estimator, which, unfortunately, may be negative. This is \(\delta_0\) of Equations (6.67) and (6.68) of ‘The Sharpe Ratio: Statistics and Applications’.

  • the Maximum Likelihood Estimator, which may be zero, but not negative.

  • the estimator of Kubokawa, Roberts, and Shaleh (KRS), which is a shrinkage estimator. This is \(\delta_2\) of Equations (6.67) and (6.68) of ‘The Sharpe Ratio: Statistics and Applications’.

The sropt distribution is equivalent to an F distribution up to a square root and some rescalings.

The non-centrality parameter of the sropt distribution is the square root of that of the Hotelling, i.e. has units 'per square root time'. As such, the 'unbiased' type can be problematic!

References

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

Kubokawa, T., C. P. Robert, and A. K. Saleh. "Estimation of noncentrality parameters." Canadian Journal of Statistics 21, no. 1 (1993): 45-57. tools:::Rd_expr_doi("10.2307/3315657")

Spruill, M. C. "Computation of the maximum likelihood estimate of a noncentrality parameter." Journal of multivariate analysis 18, no. 2 (1986): 216-224. tools:::Rd_expr_doi("10.1016/0047-259X(86)90070-9")

See Also

F-distribution functions, df.

Other sropt Hotelling: asnr_confint(), 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)
est1 <- inference(asro,type='unbiased')  
est2 <- inference(asro,type='KRS')  
est3 <- inference(asro,type='MLE')

# under the alternative:
Returns <- matrix(rnorm(ope*nyr*nfac,mean=0.0005,sd=0.0125),ncol=nfac)
asro <- as.sropt(Returns,drag=0,ope=ope)
est1 <- inference(asro,type='unbiased')  
est2 <- inference(asro,type='KRS')  
est3 <- inference(asro,type='MLE')

# sample many under the alternative, look at the estimator.
df1 <- 3
df2 <- 512
ope <- 253
zeta.s <- 1.25
rvs <- rsropt(128, df1, df2, zeta.s, ope)
roll.own <- sropt(z.s=rvs,df1,df2,drag=0,ope=ope)
est1 <- inference(roll.own,type='unbiased')  
est2 <- inference(roll.own,type='KRS')  
est3 <- inference(roll.own,type='MLE')

# 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)
est1 <- inference(asro,type='unbiased')  
est2 <- inference(asro,type='KRS')  
est3 <- inference(asro,type='MLE')

Run the code above in your browser using DataLab