← tradevodata.com

Research

Measured, verifiable writing on point-in-time data and backtest honesty. Every number traces to the dataset or a public filing.

2026-08-04 · 7 min read

We Shipped a 10x Error on General Mills. Here's the Bug, and the Check That Would Have Caught It.

We served General Mills FY2024 revenue as $2.038B against a true $19.857B, and every automated check passed. The root cause, the second bug we found fixing it, and why self-consistency checks cannot catch wrong numbers.

2026-07-05 · 9 min read

Your Backtest Saw the Future: Lookahead Bias in Fundamental Data

Fundamentals go public an average of 66 days after period end across 313,001 EDGAR rows (43 on our large-cap sample). How lookahead bias inflates backtests, and how to fix it.

2026-07-05 · 7 min read

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

What point-in-time fundamentals data is, why it kills lookahead bias in backtests, what to look for in a dataset, and an honest survey of your options.

2026-07-05 · 7 min read

How to Build a Point-in-Time Fundamentals Database from SEC EDGAR (and When Not To)

A build-vs-buy guide to point-in-time fundamentals from SEC EDGAR companyfacts: the real steps, where DIY breaks, and when a $49/mo API is the shortcut.

2026-07-06 · 7 min read

Survivorship Bias vs Lookahead Bias: The Two Silent Backtest Killers

Two backtest killers, compared: what each is, why lookahead hides in a merge, how fundamentals data causes both, and how PIT data + a stable universe fix them.

2026-07-08 · 8 min read

How to Detect Lookahead Bias in a Backtest: A Practical Checklist

A practical checklist to find lookahead bias: audit join dates vs filing dates, run the lag-shift test, and check for known symptoms. Pandas code included.

2026-07-29 · 7 min read

As-Reported vs Restated Financial Data: Why the Difference Matters for Backtesting

As-reported is what the market saw; restated is today's revised number. Here's why conflating them injects lookahead bias into backtests.

2026-08-06 · 6 min read

SEC 10-K Filing Deadline Data: The Structural Reason Fundamentals Lag Weeks Behind

How SEC 10-K filing deadlines (60/75/90 days) create the point-in-time gap in fundamentals data, and what it means for backtests.

2026-08-12 · 8 min read

Why the Same Fundamental Lives Under Different XBRL Tags in SEC EDGAR

Why revenue and other fundamentals live under different XBRL tags across years, how that breaks naive datasets, and how tag synonyms get resolved.

2026-08-19 · 8 min read

Point-in-Time Fundamentals for Numerai Signals: Killing Lookahead in Your Feature Join

How to join first_filed fundamentals correctly for Numerai Signals, why lookahead bias inflates validation, and a US-annual PIT dataset option.