A similar question to this was asked here:

How do i test the significance of Sharpe ratio of a strategy using bootstrap

I have bootstrapped the original time series (using block bootstrapping) and now have calculated the Sharpe Ratio for those bootstrapped series, giving me a bootstrap estimate of the Sharpe ratio.

Only one out of 100 of the Sharpe Ratio's was less than zero, so can I say that the Sharpe Ratio is positive with 99% probability?

Also is there any rule of thumb as to how many booststrap resamples to use? Is 100 sufficient?

Or is there something I have missed?


  • $\begingroup$ Any reason why you need to bootstrap? The Sharpe Ratio is only mildly affected by autocorrelation and heteroskedasticity. $\endgroup$
    – shabbychef
    Jan 20, 2018 at 5:03

3 Answers 3


Bootstrap is a very interesting method to obtain the variance of any estimator. This means you can rely on it to obtain de variance of your Sharpe ratio (SR), but what you try to do is to deduce something (the probability to be positive) from the distribution of it.

From a methodological viewpoint, if you boostrap your SR a "standard" way (i.e. randomizing samples of your underlying data), you create virtual samples of data that have no sense: what means having a conclusion mixing SR of yesterday with SR of 2 years ago without taking into account the ones in between? You try to bootstrap a time series, it is far more subtle, some techniques have been set up to do it. More or less, you have to apply a sliding kernel to them (of course you can do more subtle things to have the best possible statistical properties of you bootstrapped statistic), i.e. preserve causality.

The paper Lectures on some aspects of the bootstrap gives most needed details.

Moreover, a detail: if you focus on a statistic of your Sharpe ratio, no need to work on the Sharpe ratio itself, the sign of your its numerator is enough.


This is an interesting and subtle question. You're testing a trading strategy, right? Presumably, it needs some time-series properties. If you do an independent bootstrap you'd mess those up.

At the same time, independent is good for looking at certain aspects (e.g., skewness over multiple horizons from a momentum strategy). Other than that, you'll probably need to consider a block bootstrap or other dependent bootstrap.

In its simplest form CBB (Circular Block Bootstrap)

  • takes the data, lines up on a circle (to avoid endpoint problems), and
  • For your blocksize N, you pick random starting points in the original dataset (on a circle)
  • Fill in your bootstrap with the next N data points until your bootstrapped sample is the same size as the original.

Then run your strategy and calculate a Sharpe Ratio. From this, you can get a distribution of Sharpe ratios

The challenge is picking the right blocksize. Usually, this is done with reference to the autocorrelation function of the original timeseries.

For non-bootstrap statistics on Sharpe Ratios, Andy Lo has a paper called The Statistics of Sharpe Ratios, worth looking at. For IID, they are t-distributions. For non-IID, a HAC variance estimator is needed.


Check out the approach proposed in this paper (specifically Remark 3.2): Ledoit, O., & Wolf, M. (2008). Robust performance hypothesis testing with the Sharpe ratio. Journal of Empirical Finance, 15(5), 850-859.

  • $\begingroup$ Well done majeed. Very good article. $\endgroup$ May 15, 2021 at 7:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.