strategy_research
Run one chronological research experiment across many built-in strategies, instruments and timeframes. Use this for broad discovery instead of many backtest_run calls — and in particular instead of testing one strategy on coin after coin, which is a search whether or not it is called one. It ranks only on a selection window, checks several subperiods, leaves an embargo, reveals held-out performance, doubles costs as a stress test, compares buy-and-hold, and corrects the selected Sharpe for every strategy/symbol/timeframe combination tried.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bars | No | Per symbol and timeframe. Default 3000, max 10000. | |
| folds | No | Selection subperiods, 2..8. Default 4. | |
| feeBps | No | Per side. Default 4. | |
| market | No | Default: the chart. | |
| symbol | No | Defaults to the charted symbol. | |
| symbols | No | Up to 8 instruments to search across, e.g. BTCUSDT, ETHUSDT. Every symbol is another trial and the deflated Sharpe accounts for it. | |
| exchange | No | ||
| direction | No | ||
| timeframes | No | Up to 6, e.g. 15m, 1h, 4h, 1d. Defaults to the chart timeframe. | |
| embargoBars | No | Gap before held-out data. Default 10. | |
| slippageBps | No | Per fill. Default 1. | |
| strategyIds | No | Built-in ids from catalog_search. Omit for the full library. | |
| minimumTrades | No | Reliability penalty threshold. Default 30. | |
| inSampleFraction | No | Selection share, 0.5..0.8. Default 0.7. |