DEV Community

Christian Pichichero
Christian Pichichero

Posted on • Originally published at tradevodata.com

Point-in-Time Fundamentals Data: What It Is, Why It Matters, and How to Choose

If you backtest strategies on company fundamentals — earnings, revenue, book value, cash flow — the single most expensive mistake you can make is testing on numbers that weren't actually knowable on the date your model traded. That mistake has a name: lookahead bias. And the fix has a name too: point-in-time (PIT) fundamentals data.

This guide explains what PIT data actually is, why it matters, what separates a real PIT dataset from a marketing label, and an honest survey of your options — from free DIY tooling to five-figure institutional feeds. We build one of those options, and we'll say so plainly at the end, but the goal here is to help you choose the right tool, not to talk you into ours.

What "point-in-time" actually means

A normal fundamentals table gives you one number per company per period — say, Apple's FY2019 revenue. The problem is which version of that number you're looking at. Companies file a 10-K, then sometimes amend it (10-K/A), then restate prior years inside later filings. A vanilla database silently overwrites the original with the newest revision. So when your 2020 backtest reads "2019 revenue," it may be reading a value that wasn't published until 2022.

A point-in-time dataset instead answers a different question: "What was the value of this metric, as it was known on date X?" To do that honestly, each data point has to carry two things a plain table throws away:

  1. A filing date — the date the value first became public (the 10-K's filing timestamp, not the fiscal-period-end date).
  2. The original, first-reported value — preserved separately from any later revision.

With those, a query engine can filter to only the rows whose filing date is on or before your as-of date and hand back the number the market actually had. That's the whole game.

Why it matters: lookahead bias and restatements

Two distinct failure modes make non-PIT fundamentals dangerous for backtesting:

  • Reporting lag. A fiscal year ends December 31, but the 10-K might not be filed until late February or March. If your backtest assumes the annual numbers were available on January 1, you've handed your model roughly two months of the future. Multiply that across every rebalance and the phantom edge can be large.
  • Restatements. When a company restates, the revised figure often "improves" the historical picture in ways the market didn't know at the time. A model trained on restated data learns to trade on information that didn't exist yet. Restatements are common enough that ignoring them meaningfully distorts value and quality factors.

We go deep on the mechanics, worked examples, and how to audit your own pipeline in our companion article on lookahead bias in fundamental backtests. If you only read one follow-up, read that one.

What to look for in a PIT dataset

Not every dataset that says "point-in-time" earns the label. Here's a practical checklist:

  • A real filing-date stamp per row — the date the value became public, not just the period-end date. Without this, "as-of" queries are impossible.
  • Original value preserved separately from the latest value — so you can see both what was first reported and what it became, and a restated flag so you can filter or study revisions instead of being silently fed them.
  • A server-side as-of query — ideally you pass an as_of date and the API does the filing-date filtering for you, rather than you reconstructing it and hoping you got the boundary conditions right.
  • Survivorship handling — for cross-sectional backtests you also need delisted and dead companies present in the universe, or your results are biased toward winners. (Note: fundamentals coverage and a survivorship-free price/universe file are separate concerns — check both.)
  • Transparent QA — you want to know when a value is flagged or uncertain, not have it quietly dropped.

An honest survey of your options

There's no single right answer here — the right tool depends on your budget, coverage needs, and how much plumbing you want to own. Pricing below is directional and drifts constantly, so treat every number as "verify on their page," linked.

Option Rough cost (as of July 2026) PIT capability Best for
DIY from SEC EDGAR Free (your time + infra) Full, if you build it Teams who want total control and have engineering time
Budget PIT APIs (incl. us) ~$0–$50/mo tier Varies — check for filing dates + original values Individuals and small shops proving an idea
Sharadar SF1 Subscription — see pricing Point-in-time (datekey-based) Retail quants wanting broad coverage + ratios
Tiingo fundamentals Add-on — contact/pricing As-reported dimension available; confirm filing-date detail Users already on Tiingo for prices
Compustat / LSEG Institutional (commonly $10k–$50k+/yr) Deep PIT snapshots (Compustat PIT from 1987) Funds, academics via WRDS, anyone needing decades of history

DIY from EDGAR is genuinely free — all US filings are public domain. You can parse XBRL, stamp filing dates yourself, and own the whole stack. The catch is that "parse XBRL correctly, dedupe amendments, and handle restatements" is weeks-to-months of unglamorous work, and quiet bugs there reintroduce the exact lookahead you were trying to remove.

Sharadar and Tiingo are credible, established budget-to-mid options. Sharadar's fundamentals are point-in-time via its datekey structure and cover a broad US universe with many pre-computed ratios; Tiingo offers an as-reported dimension and pairs naturally with its price data. Confirm the specific PIT semantics you need against their current docs.

Compustat and LSEG are the institutional standard for a reason: decades of carefully curated PIT snapshots, global coverage, and support. They also cost accordingly and are usually accessed through an institution or WRDS.

Where we fit

Tradevo Data is a deliberately narrow, honest budget tier of research-grade PIT — one middle option among the credible ones above, not "the only cheap PIT." Concretely, today it is: point-in-time US annual equity fundamentals sourced from SEC EDGAR (public domain), covering 5,214 companies and 313,562 PIT rows across 7 core concepts (Revenue, NetIncome, Assets, StockholdersEquity, OperatingCashFlow, EPSDiluted, DilutedShares), up to 12 fiscal years.

Every row carries first_filed (when it became public), original_value (first-reported, PIT-safe), latest_value (current revision), a restated flag, and a per-row qa_status — flagged, never silently hidden. There are 18,539 labeled restatements in the set. Delivery is one JSON endpoint — /v1/fundamentals?ticker&as_of[&concept] — with server-side as-of filtering (first_filed <= as_of).

Being equally plain about the limits: it's annual only right now (no quarterly yet — on the roadmap), US only, and there's no Parquet bulk download yet. If you need quarterly data, decades of history, or global coverage today, one of the options above is a better fit, and you should use it.

When each option is the better choice

  • DIY EDGAR — you have engineering time, want zero per-month cost, and value owning the pipeline over speed.
  • Sharadar — you want broad US coverage plus ready-made ratios and a survivorship-free universe file, at a retail-quant price.
  • Tiingo — you're already using Tiingo for prices and want fundamentals in the same stack.
  • Compustat / LSEG — you need decades of PIT history, global coverage, or institutional support, and have the budget.
  • Tradevo Data — you want US annual PIT with explicit original-vs-restated fields and a dead-simple as-of API, cheaply, to prove out an idea before committing to a bigger feed.

Try it without a signup

If you just want to see what honest PIT rows look like, our free sample is on GitHub — 40 large caps, 3,212 rows, full methodology, no email required: github.com/christianpichichero-max/pit-fundamentals. Inspect the schema, run an as-of query against your own backtest, and decide for yourself.

If it fits and you want the full universe, the API is $49/mo, 5,000 requests/day, key issued instantly, cancel anytime — details and docs at tradevodata.com. And if it doesn't fit, one of the alternatives above genuinely will.


This is educational content, not investment advice. Pricing and product details for third-party vendors change — verify every number on the vendor's own pricing page before you buy.

Top comments (0)