Data & Methodology
This page discloses how every number we publish is produced. You need not believe our conclusions, but you should be able to reproduce our process under the same standard.
Backtest Window and Sample
| Item | Setting |
|---|---|
| Backtest window | 2023-01-01 to 2025-12-31 |
| Bar interval | Mainly 1-hour candles, 4-hour for some strategies |
| Instrument scope | Perpetuals and spot for the top 20 by market cap |
| Data source | Public exchange candles (OHLCV), deduplicated with gaps in timestamps filled |
| Time zone | All unified to UTC |
Fill-Price Rule (the most critical one)
A signal is confirmed after the close of bar t, and the fill happens at the open of bar t+1.
Many backtests use the current bar's close as both the signal source and the fill price, which assumes you can transact at the instant of the close — the most common form of look-ahead bias, and it inflates returns significantly. Our engine forbids that pattern structurally.
Cost Model
High-frequency strategies are extremely sensitive to costs: a strategy with 10 trades a day at 0.05% per side can incur annual trading costs of several times the principal. No backtest that excludes costs can serve as a basis for decisions.
| Cost item | Setting | Notes |
|---|---|---|
| Fees | 0.05% per side | Charged once on entry and once on exit |
| Slippage | Estimated from instrument volatility | Higher values for less liquid instruments |
| Funding rate | Included for perpetual strategies | Settled at historical actual rates |
| Latency | Conservative assumption | No fills assumed better than the t+1 open |
Overfitting Controls
- Walk-Forward rolling validation — tune on the training window, verify on the test window, roll forward, and count only out-of-sample performance
- Parameter plateau check — good parameters form a plateau rather than an isolated spike; excessive sensitivity in the neighbourhood counts as overfitting
- Parameter count constraint — more parameters fit noise more easily, so simpler structures come first
- Trade count threshold — results with too few in-sample trades carry no statistical meaning
Limits We Cannot Remove
- Survivorship bias — the backtest universe is coins that still exist today, so samples that went to zero are inherently missing
- Liquidity assumptions — real slippage on large size is higher than the model estimates
- Regime change — trading rules, fee schedules and market structure change, and history need not repeat
- Live-trading gap — live performance is usually below backtest, which is normal rather than anomalous
About the Sample Data
The market panels, signal lists and leaderboards on this site are sample data, used to show page structure and method. They are not real-time market data and not real user data. Once live data is connected, the data time and source will be clearly labelled.