Why this is the unglamorous foundation
Most retail crypto research is built on ad-hoc CSV downloads: grabbed once, cleaned by hand, never reproducible. Six months later nobody can say where a number came from, which exchange it represents, or whether the gap on March 14th was a real outage or a failed fetch. Any conclusion built on that foundation inherits its uncertainty. We treat the pipeline itself as a research product, governed by six rules.
1. Raw data is immutable
Whatever a source returned, we keep — byte for byte, append-only, with a fetch timestamp and source identifier on every record. Cleaning happens in later layers that read the raws, never by editing them. When a derived number looks wrong, you can always walk back to what the source actually said at the time.
2. Point-in-time correctness
Every record carries two times: when the event happened and when we knew about it. Joins are as-of joins; a simulated decision at 14:00 can only see data that was available at 14:00. This single discipline eliminates the most common silent killer in backtesting — look-ahead bias sneaking in through revised or late-arriving data.
3. Align to the reference that settles
Crypto has no single price. Every venue settles against its own reference feed, which can differ from your favourite exchange's chart by enough to flip outcomes at short horizons. Our pipelines record the venue's own reference alongside independent exchange feeds, time-aligned at second-level resolution — so research measures the world the venue actually settles on.
4. Gaps are documented, never invented
Feeds drop. APIs rate-limit. Collectors crash. The honest response is a recorded gap with a reason code — not silent interpolation that manufactures data which never existed. Reports state their coverage ratio, and results computed across known gaps are labelled as such.
5. Derivations are versioned and rebuildable
Every derived table — bars, features, statistics — is produced by a versioned script pinned to its inputs. Same raws, same script, same output, every time. If a methodology changes, the version changes, and old results remain reproducible instead of quietly mutating under your feet.
6. Replays are deterministic
Our backtest and replay engines consume pipeline outputs with no hidden state: running the same experiment twice produces identical results. Determinism sounds boring until you've spent a week chasing a "discovery" that turned out to be a nondeterministic artifact.
What this buys you
Comparability — two backtests run months apart can be trusted to differ because of the strategy, not the data. Debuggability — every anomaly traces back to a raw record. Auditability — every published number can answer "where did you come from?" These properties are what make the difference between research and storytelling.
Read more
See how this foundation supports honest evaluation in Six ways crypto backtests lie, or join the waitlist to get full research as it ships.