Audit historical DEX coverage before a backtest

Check markets, event types, time windows and update delay with real fixtures.

A headline start date is not a coverage matrix

A dataset may start years ago while individual tables or columns begin later. A backtest can also need pool creation, migrations, failed swaps or liquidity changes in addition to successful trades. Write the required evidence for the strategy before selecting a dataset.

Build a coverage sheet

DimensionExample check
ProtocolExact program/version and market family
EventsSwaps, liquidity, creation, migrations or other required records
TimeEarliest record, retention and known missing intervals
ColumnsWhen each required field began being populated
FreshnessObserved lag between chain event and queryability
IdentityKeys for deduplication and joins

Fill this sheet from the provider's current schema and sample queries, then retain the check date.

Use known transactions

  1. Choose fixtures across the beginning, middle and end of the desired interval.
  2. Match transaction signatures and exact event identities in the SQL results.
  3. Test migrated pools and program upgrades separately.
  4. Check that token units, prices and timestamps mean what the strategy assumes.

Make exclusions part of the result

If one DEX or period is absent, exclude it explicitly or obtain another source. Do not replace missing rows with zeros and treat the backtest as complete. Supanode documents retention per Solana table, so a short-lived transfer table and a longer trade table cannot support the same historical questions. Document observed dataset coverage and exclusions in the backtest report.

Sources

Continue reading