ValueinValuein
For quantitative researchers & systematic traders

Point-in-time fundamentals. Your backtest can't see the future.

Every fact is stamped with its SEC acceptance date, so your backtest only sees what was knowable then — survivorship-bias-free by default. The catastrophe this removes: the strategy that looked brilliant in-sample and died live.

  • accepted_at timestamps on every fact — no silent restatement leakage.
  • Full universe including delisted, bankrupt, and acquired names, keyed on CIK.
  • Backtest-safe multiples on any historical date — P/E, EV/EBITDA, FCF yield from the price and fundamentals actually knowable then.
  • Daily OHLCV with adjusted close and corporate-action factors, plus DuckDB-native Parquet across 111M+ facts.

Built for

Quants

  • Point-in-time accurate
  • Survivorship-bias-free
  • Every number cited to its filing

Works where you do

Python SDKBulk Data APIMCP Server
Recommended plan
Pro
$31,980/yr
Bloomberg seat → $49/mo
1993
history floor, survivorship-free
0
look-ahead leakage by design

The pain points we remove

Quants don't lose to bad models — they lose to bad data. Every shortcut in the data layer fakes alpha that disappears live. These are the traps we close at the source.

1

Survivorship bias inflates every backtest

Test on today's index constituents and you implicitly exclude the Enrons and Lehmans — exactly the names a quality screen would have flagged. The backtest looks like genius.

2

Look-ahead bias from restated/backfilled data

Vendors quietly backfill corrections into the time series without flagging them. Use a revised figure on a signal date and you've imported the future.

3

Point-in-time data is behind an institutional paywall

Compustat Snapshot / Bloomberg PIT / CRSP-Compustat via WRDS are real but priced for funds and universities — Bloomberg runs ~$32K/seat. Independents are locked out.

4

Merging prices with fundamentals, without leaking

The classic Compustat+CRSP merge — a multiple on date T needs the close on T and the fundamentals accepted by T. Get either leg wrong and the multiple quietly peeks.

5

The 80% data-cleaning tax + signal decay

Cleaning is adversarial — every shortcut introduces a bias that fakes alpha — and ~50% of anomaly alpha decays post-publication, so the researcher stuck cleaning data is structurally late.

The grind we take off your plate

From the daily check-ins to the month-end scramble — this is the recurring work Valuein automates so you spend your hours on the thesis, not the data.

Every day

  • Pull and refresh signal inputs
  • Run incremental backtests
  • Sanity-check that no future-dated data leaked into yesterday's signal

Every week

  • Re-run factor IC / decay diagnostics
  • Reconstruct point-in-time universes for new windows
  • Test candidate signals against a holdout

Month-end & earnings

  • Survivorship-correct universe rebalance
  • Ingest the new 10-Q/10-K wave, re-derive trailing fundamentals
  • Restatement audit: did anything I traded on get revised?

What you can do with Valuein

Each job you need done, mapped to the exact capability that delivers it.

Fundamentals as-known on date T

Every fact carries accepted_at; the SDK enforces an as_of cutoff at view creation so signals can't peek.

Datasets · Python SDK PIT

The universe as it existed on date T

get_pit_universe + index membership with effective/removal dates — dead companies included.

Survivorship-free universe

Multiples without the look-ahead

get_pit_valuation_ratios joins the EOD close to the fundamentals accepted by that date — P/E, P/S, P/B, EV/EBITDA, FCF yield, backtest-safe on any historical date.

get_pit_valuation_ratios

Smoke-test a factor before you build the pipeline

run_backtest computes a bounded point-in-time factor / forward-return grid over your tickers and rebalance dates, then hands off to the SDK's AlphaEngine for the full run.

run_backtest · SDK AlphaEngine

Reconstruct restatement history

Original-vs-amended values are both available, so you can quantify and test on as-reported numbers.

Datasets · verify_fact_lineage

Rank cross-sectionally across filers

~11,966 raw XBRL tags collapsed to 292 canonical concepts — one Revenue, one EBIT, one FCF.

Standardized concepts
01

Point-in-time fundamentals, stamped with accepted_at. Your backtest can't see the future.

02

Survivorship-bias-free by default — the companies that went bankrupt are still here, because that's the point.

03

Compustat-grade point-in-time plus the price leg: backtest-safe multiples on any date, without the WRDS seat.

Frequently asked

How exactly do you prevent look-ahead bias?

Every fact stores accepted_at — the SEC EDGAR acceptance timestamp. The SDK filters PIT tables to your as_of date at DuckDB view creation, so a query for date T only returns facts that were public on or before T. Restatements filed later are invisible until their own acceptance date.

Can I get valuation multiples as of a historical date?

Yes — get_pit_valuation_ratios computes P/E, P/S, P/B, EV/EBITDA, and FCF yield on any historical date from the end-of-day close and the trailing fundamentals that were accepted by that date. It's the Compustat+CRSP merge, pre-built and leak-free.

Are delisted and bankrupt companies really included?

Yes. The universe is keyed on CIK and spans the full SEC population — active plus inactive, bankrupt, merged, and taken-private — from 1993 to present, so you screen on the full population, not just today's survivors.

What format is the data, and can I query it locally?

Columnar Parquet (ZSTD) in R2. The Python SDK runs out-of-core DuckDB queries against it; Polars and Spark read it natively too. The sample tier streams real data with zero egress and no API key.

How does pricing compare to Compustat / Bloomberg?

Pro is $49/mo and Institutional is $499/mo, versus ~$32K/seat for a Bloomberg terminal or a university-gated WRDS seat for Compustat/CRSP. Same single token unlocks the SDK, MCP, and Bulk API.

Point-in-time fundamentals, stamped with accepted_at. Your backtest can't see the future.

111M+ standardized SEC facts across 19,000+ companies, 1993–present. Free to start — no credit card.