Resources/Stocks·Workflow

Backtesting Data Checklist for Stock Strategies

The preflight checks to run before trusting a historical stock strategy.

By DataCedar··2 min read

Backtesting data should pass identity, timing, coverage, adjustment, and lineage checks before any strategy is evaluated. Confirm point-in-time universe membership, delisted securities, known-at timestamps, exchange calendars, raw and adjusted prices, corporate actions, missing sessions, duplicate keys, source versions, rights, and reproducible query manifests.

Identity and universe checks

Use stable security and issuer identifiers, historical tickers, listing dates, delisting dates, and point-in-time universe membership. Test mergers, spin-offs, share classes, and reused symbols explicitly.

Record why each security is eligible on each date. A screen rebuilt from today’s companies is not historical even if every price row is old.

Time and market-data checks

Normalize timestamps without destroying source timezone and session. Compare every security-interval range with the expected exchange calendar, and classify gaps instead of filling automatically.

State adjustment policy and keep corporate-action inputs. Validate OHLC relationships, volume, duplicates, ordering, and partial sessions.

  • Effective time and known-at time
  • Expected versus actual sessions
  • Raw versus adjusted view
  • Source, retrieval run, and schema version

Event and reproducibility checks

For filings, earnings, transcripts, fundamentals, and news, apply public observation times and preserve revisions. An event date without a known-at clock is unsafe.

Hash raw objects and exports, save the query and code version, and record coverage exceptions. Re-run a sample from raw evidence before accepting the pipeline.

How DataCedar preserves the evidence

DataCedar separates acquisition from serving. Permitted source responses are retained with retrieval time and identifiers, normalized into DataCedar-owned tables, checked against expected coverage, and exposed through a stable versioned API. A collector can be replaced without changing the customer contract or making an upstream provider a runtime dependency.

Every research stream carries effective and known-at time where the distinction matters. Rights-restricted, unavailable, partial, stale, and genuinely empty states remain visible, so a backtest can fail closed and a buyer can see the product boundary before committing engineering time.

Key takeaways

  • 01Audit the universe before the prices.
  • 02Treat time eligibility as part of every event.
  • 03Never hide missing data with zero or interpolation.
  • 04Save queries, hashes, versions, and coverage.

Query public company evidence through one stable API. Free Explorer tier, no card.

Start freeView pricing

Questions, answered.

It is the distortion caused by testing only securities that survived or remain visible today while excluding historical failures and delistings.

Start researching public companies with reproducible source data.

Use SEC filings, company facts, earnings events, stock-news links, and macro data through one API.

Start free