# inference: Inference on noncentrality parameter of F-like statistic In SharpeR: Statistical Significance of the Sharpe Ratio

## Description

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

## Usage

 ```1 2 3 4 5 6 7``` ```inference(z.s, type = c("KRS", "MLE", "unbiased")) ## S3 method for class 'sropt' inference(z.s, type = c("KRS", "MLE", "unbiased")) ## S3 method for class 'del_sropt' inference(z.s, type = c("KRS", "MLE", "unbiased")) ```

## Arguments

 `z.s` an object of type `sropt`, or `del_sropt` `type` the estimator type. one of `c("KRS", "MLE", "unbiased")`

## Details

Let F be an observed statistic distributed as a non-central F with df1, df2 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.

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

• the estimator of Kubokawa, Roberts, and Shaleh (KRS), which is a shrinkage estimator.

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!

## Value

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

## Author(s)

Steven E. Pav [email protected]

## References

Kubokawa, T., C. P. Robert, and A. K. Saleh. "Estimation of noncentrality parameters." Canadian Journal of Statistics 21, no. 1 (1993): 45-57. https://www.jstor.org/stable/3315657

Spruill, M. C. "Computation of the maximum likelihood estimate of a noncentrality parameter." Journal of multivariate analysis 18, no. 2 (1986): 216-224. http://www.sciencedirect.com/science/article/pii/0047259X86900709

F-distribution functions, `df`.
Other sropt Hotelling: `sric`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43``` ```# 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') ```