Haircut Sharpe ratio
validate_haircut_sharpeCalculate the haircut Sharpe ratio required to account for multiple testing, applying Bonferroni, Holm, and BHY corrections to determine if an observed Sharpe ratio survives the number of tests run.
Instructions
Haircut Sharpe ratio for multiple testing (Harvey and Liu, 2015): the Sharpe a single test would have needed once the number of tests is counted, by Bonferroni and for independent tests, and with the other tests' Sharpe ratios by Holm and BHY. A deflated Sharpe or overfitting probability above or below any threshold is not admission to anything and is not a forecast.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tests | No | Total tests run, this one included; gives the Bonferroni and independent-test haircuts. | |
| observations | Yes | Number of return observations behind the Sharpe ratio. | |
| autocorrelation | No | First-order autocorrelation of the returns, -1 to 1; default 0. Corrects the annualized Sharpe as Lo (2002). | |
| periods_per_year | Yes | Observations per year: 252 daily, 365 daily crypto, 52 weekly, 12 monthly. | |
| observed_sharpe_annualized | Yes | Annualized Sharpe as observed. | |
| other_sharpe_ratios_annualized | No | Annualized Sharpe ratios of the other tests, over the same observations; adds the Holm and BHY haircuts. |