🪟 Windows TippsModify Windows Support Phone Number with PowerShell(03.09.2026 um 00:00 Uhr)
🔧 AI Nachrichten Podcast: ChatGPT schwatzt Nutzern in Deutschland jetzt Werbung auf(28.08.2026 um 08:46 Uhr)
🪟 Windows TippsMicrosoft bringt Emoji 17.0 auf Windows 11(31.08.2026 um 08:16 Uhr)
🪟 Windows TippsModify Windows Support Phone Number with PowerShell(03.09.2026 um 00:00 Uhr)
🔧 AI Nachrichten Podcast: ChatGPT schwatzt Nutzern in Deutschland jetzt Werbung auf(28.08.2026 um 08:46 Uhr)
🪟 Windows TippsMicrosoft bringt Emoji 17.0 auf Windows 11(31.08.2026 um 08:16 Uhr)

🔧 Programmierung 🕛 vor 2 Monaten 6 Min Lesezeit
0

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

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

If you backtest with today's fundamentals, you are cheating yourself. The Revenue figure you pull for Q4 2019 was probably restated in 2021, and the restated number was not knowable on the day you would have traded. That gap is — then weighs the cost fairly so you can decide whether to build or buy.






The build: EDGAR companyfacts, step by step



1. Pull companyfacts. EDGAR exposes a per-company JSON blob at data.sec.gov/api/xbrl/companyfacts/CIK{10-digit}.json. It contains every XBRL fact the company has ever tagged, grouped by taxonomy (us-gaap, dei) and concept, each with an array of reported values. This is your source of truth. Respect the SEC's fair-access rules (declare a User-Agent, throttle to ~10 requests/sec).



2. Filter to annual 10-K facts. Each fact carries a form (10-K, 10-K/A, 10-Q, 8-K…) and, for flow concepts like Revenue, a start/end window. You want annual figures, so keep 10-K and 10-K/A (amendments) and filter duration concepts to roughly 365-day windows. Skip this and you will silently mix quarterly and annual Revenue into the same series — a classic corruption.



3. Resolve XBRL synonym tags across years. This is where builds quietly break. Companies change the tag they use for the same economic concept. Revenue might be Revenues one year, RevenueFromContractWithCustomerExcludingAssessedTax the next, and SalesRevenueNet in an older filing. If you map only one tag, you get holes exactly where a company evolved its reporting. You need an ordered synonym list per concept and a deterministic resolution rule so the same logical field is populated every year.



4. Stamp first_filed. For each value, record the date it first appeared in a filing (the accession's filing date), not the fiscal period end. This first_filed stamp is the entire point of PIT: a backtest asks "what was known as of date X?" and you answer by returning only rows where first_filed <= X. Same-day filings should be inclusive.



5. Detect same-tag restatements. When a later 10-K or 10-K/A reports a different value for a period you already have, that is a restatement. Keep both: the original_value (first-reported, PIT-safe) and the latest_value (current best estimate), plus a restated flag. Use a tolerance — we flag when the same tag's value moves more than 0.5% — so rounding noise does not masquerade as a restatement.



6. QA every row. Sanity-check signs, magnitudes, and duplicate periods; carry a qa_status so consumers can filter. Fundamentals data is dirty; a QA column is not optional.






The part everyone underestimates



Restatement reconstruction is deceptively hard, and we say that from experience: our own audit found a bug in exactly this step. It is easy to write logic that looks right on Apple and Microsoft — clean filers with stable tags — and quietly mislabels the messier 80% of the market. Tag switches (step 3) and restatement detection (step 5) are where a DIY dataset silently drifts from ground truth, and you often won't notice until a backtest looks suspiciously good. Budget real test coverage across small caps, amenders, and tag-switchers, not just the mega-caps.






Build vs. buy: an honest comparison


























































Build from EDGAR Tradevo Data ($49/mo) Research-grade vendors
Cost $0 + your time $49/mo Higher / quote-based
Setup Days to weeks Minutes (key after checkout) Varies
PIT correctness Yours to get right
first_filed, original vs. latest, restatement flags
Yes (their core)
Coverage Whatever you build 5,214 US companies, annual only Often broader (quarterly, global)
History As far as you pull Up to 12 fiscal years Often 20-25+ years
Restatements You reconstruct 18,539 labeled Handled
Bulk / Parquet Build it JSON API only (no bulk yet) Often available
Methodology Yours . Tiingo offers a Power plan at $30/mo individual / $50/mo commercial as of July 2026, with fundamentals sold as a separate API add-on (pricing on request) and an as-reported option of its own — has 40 large caps, 3,212 rows, and the complete methodology — tag resolution, first_filed stamping, same-tag restatement detection, QA — with no signup. Read it, copy the approach, and build your own. If you'd rather skip the fiddly parts, Tradevo Data serves the same discipline as one JSON endpoint (/v1/fundamentals?ticker&as_of) with server-side as_of filtering, 5,000 requests/day, and an instant key after checkout — cancel anytime.



Build it or buy it. Just don't backtest on restated numbers and call it edge.






Not investment advice. Tradevo Data provides point-in-time US equity fundamentals sourced from public SEC EDGAR filings; it does not make performance claims. Competitor pricing and features are as of July 2026 — always verify current terms on each vendor's own page before purchasing.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Modify Windows Support Phone Number with PowerShell
1 Quelle
Die Zukunft des Einkaufens: Warum wir ein neues Kapitel aufschlagen (und wie du es mitschreiben kannst)
1 Quelle
ZDE Podcast 251: Wie sieht digitales Instore Marketing 2026 aus, Amit Chatterjee?
Ähnliche Beiträge
🔍 Verwandte News

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

Thematisch verwandte Begriffe: Build, PointinTime, Fundamentals, Database · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
📂 News ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

↗ Original-Quelle
Zum Aktualisieren ziehen
ZERO-DAY Kritische Sicherheitsmeldung
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
🤖
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen