Noon Barbari

Methodology

How our numbers are made

Every backtest, dataset, and comparison on this site comes out of one pipeline: real exchange data in, an event-driven engine in the middle, and a robustness check before anything is published. This page documents that pipeline — so you can judge our numbers instead of having to trust them.

Data

All results are computed on real OHLCV candles fetched from crypto exchanges via CCXT — primarily Binance for the public datasets. Public pages use daily bars from 2021-01-01; the studio backtester also runs intraday timeframes (15m, 1h, 4h). We never use synthetic or interpolated price data.

Data fetching is fail-loud by design: if a venue cannot serve a requested window, the run errors instead of silently filling the gap. A backtest on patched data is worse than no backtest.

One engine, everywhere

The same event-driven backtest engine powers the product, every public page, and our published research runs. It processes bars as a stream: indicators update incrementally, warmup periods are respected, and a rule can only ever see data that existed at that moment — no lookahead, by construction.

Indicator implementations are verified against independent references (TA-Lib and TradingView) with an automated parity harness; core indicators match TA-Lib to floating-point precision.

Costs are part of the result

Every simulated fill pays trading fees — the public datasets apply standard exchange fees to a $10,000 account. Fee-free equity curves flatter strategies that trade often; a strategy that only wins before costs is a losing strategy.

Validation before publication

A good-looking equity curve is the beginning of the analysis, not the end.

What we don't do

Corrections

If you find a number that looks wrong — a dataset row, a chart, an indicator value — tell us. We would rather fix an error than defend it.

Report an issue

Go deeper