Market Data
What Did the Market Know at the Time? Point-in-Time Fundamentals Without Look-Ahead Bias
SEC Filing Clocks, Restatements and the Evidence Behind Historical Microcap Signals
Summarize this research with AI
Open the article in your preferred assistant with a ready-to-use summary prompt.
The prompt is also copied to your clipboard as a fallback if the provider does not prefill it automatically.
Key findings
- OLB's quarter ended June 30, 2024, but its 10-Q was accepted only on August 14, 2024 at 17:22:52 ET—45 calendar days later. Its 1,797,583 shares outstanding were measured as of August 13, not June 30.
- OLB's 2023 weighted-average shares were later presented as 15,203,708 versus 1,520,371 on different split bases; 2023 loss per share likewise appeared as -$1.53 versus -$15.33. Later comparable figures must not leak into earlier signals.
- The first complex-issuer acquisition audit cross-checked 3,179 SEC filings for COSM, DRYS, MULN and SINT and acquired 5,042 source documents in its defined scope.
- A source-bound 16-case parser pilot cleared 14 cases; 99/99 populated fields were grounded and 34/34 expected unknowns were preserved, while two cases remained held for unresolved references.
- Microcap Engine's point-in-time method applies public-information availability to the fact and every dependency, with explicit issuer/security identity, split factors, original/revised values, UNKNOWN states and provenance.
Core idea. A historical fundamental number is not backtest-safe merely because it is labeled with an old fiscal date. A defensible strategy must ask what was publicly knowable at the exact decision timestamp, which security the number described, which share basis it used, and which later amendments had not yet appeared. Microcap Engine's point-in-time research uses separate clocks for economic events, reporting periods and public knowledge, and keeps unknown information distinct from zero.
If a 2024 quarterly filing contains a June 30 balance sheet, the figures may be perfectly valid for the financial period and still be completely unavailable to a trader on June 30.
If a 2025 filing restates 2023 per-share figures after a reverse split, today's historical financial database may contain correct adjusted values that no 2023 trader ever saw.
If a company amends an ATM or warrant agreement, the latest terms may be accurate today but false as a statement about the terms known before the amendment.
These are three versions of the same error: information measured at one time is treated as though it became available at that time.
For a microcap backtest, that mistake flows directly into market-cap filters, float rotation, cash-runway estimates, short-interest percentages, dilution-risk flags, financing-capacity screens and entry scores. Historical prices can be perfect while the fundamentals attached to them come from the future.
Our research question was therefore not simply, "What was the company's financial position in 2019?"
It was:
"What did a trader have enough public evidence to know about this specific security at 10:30 a.m. ET on May 14, 2019—and what became knowable only later?"
The date and time in that question are a test-query example from the Microcap Engine dilution-engine design, not a claim about one identified 2019 ATM filing. The distinction is intentional: a point-in-time engine must answer arbitrary as-of questions without manufacturing issuer-specific facts.
Why Fiscal Date and Filing Date Are Different Clocks
A single fundamental can have more than one relevant timestamp.
| Time field | What it means | Can a backtest use it as public availability? |
|---|---|---|
| period_end | The financial period being measured, such as June 30 | No. A measurement date is not publication. |
| effective_at | When the transaction legally or economically took effect | Not by itself. An event can be disclosed later. |
| source_filed_at / accepted_at | When SEC EDGAR accepted the filing | Evidence for the public-information clock, subject to dissemination checks |
| known_at / available_at | Earliest supportable time the information was publicly accessible | Yes, with precision and evidence constraints |
| ingested_at / extracted_at | When our systems downloaded or parsed the document | No. Processing time is not original publication. |
| revision_id | Which version of a disclosed fact we are using | Necessary to avoid overwriting original history |
The SEC's EDGAR documentation distinguishes conformed period of report, filed date and acceptance datetime. Importantly, the SEC itself notes that acceptance timestamps are not an exact direct record of first availability on sec.gov.
A strict engine therefore treats EDGAR acceptance as strong evidence and, where dissemination is uncertain, conservatively bounds availability rather than inventing an intraday timestamp.
The eligibility rule is:
A fact can contribute to historical state at decision time T only when its supportable public-availability time is no later than T.
In simple form: known_at ≤ T.
That rule must also apply to every dependency: underlying shares outstanding, share class, split factor, exchange rate, warrant agreement, related exhibit and financing-condition amendment.
SEC Case Study: What Did OLB's June 2024 10-Q Reveal, and When?
The OLB Group provides a clean, source-verifiable example because the SEC filing index exposes all three pieces of timing evidence.
| Source attribute | OLB value |
|---|---|
| SEC filing | Form 10-Q, accession 0001213900-24-069167 |
| Financial period ended | June 30, 2024 |
| EDGAR acceptance | August 14, 2024, 17:22:52 ET |
| Calendar-day separation, period end to filing | 45 days |
| Separate outstanding-share measurement date | August 13, 2024 |
| Issued common shares at that date | 1,810,200 |
| Common shares outstanding at that date | 1,797,583 |
| Treasury-share difference | 12,617 |
The report describes cash, expenses, operating losses and share counts relating to its stated periods. Those are historical measurements as described in the filing, not proof that the same numbers were available to the market on June 30.
Now replay two hypothetical decision times on August 14, 2024:
- 10:30 ET: This particular 10-Q had not yet been accepted. Its new disclosures cannot enter the historical feature state merely because they concern June 30 or August 13. An earlier publicly available report may still supply a known older value.
- 17:30 ET: EDGAR had accepted the filing. The engine can consider its content once public availability is supported. Acceptance alone does not certify that every downstream vendor, scanner or trader received it immediately.
A subtle but crucial distinction: "The latest fact was not yet available" does not mean the market knew the value was zero. The correct historical state may be an earlier value or an unknown value with appropriate provenance.
Primary sources: SEC filing detail and acceptance time and the corresponding OLB 10-Q.
Why The Same Filing Can Contain Several Measurement Dates
OLB's cover page says that as of August 13, 2024, common shares issued were 1,810,200 and shares outstanding were 1,797,583. The underlying quarterly balance sheet relates to June 30, 2024.
These do not have the same measurement date or the same meaning.
A superficially convenient database could attach both figures to June 30 because both appeared in a June 30 10-Q. That would misstate the measurement time of the August 13 cover-page count.
Or it could assign both figures August 13 as the "fundamental update" date—even though a public reader was not shown the filing until later.
The defensible representation separates measurement date, source availability, exact field meaning and security identity.
For market capitalization, an outstanding-share count must also be paired with a same-security, same-basis reference price. For float rotation, a genuinely supported float must be used; issued shares are not a substitute for float.
This is why our separate Shares Outstanding Is Not Float study treats issued, outstanding, restricted and freely tradable cohorts independently.
Restatements: How Can Today's Correct Historical Number Be Wrong for Yesterday's Backtest?
A later filing may re-present an earlier financial period on a different basis.
OLB's subsequent 2024 SEC registration statement gave an instructive comparison for its 2023 financial data, after its 2024 1-for-10 reverse split:
| 2023 metric | Pre-split presentation | Later post-split presentation |
|---|---|---|
| Weighted-average common shares | 15,203,708 | 1,520,371 |
| Net loss per common share | −$1.53 | −$15.33 |
Both presentations can serve a legitimate analytical purpose:
- Original reported view: reconstruct what a person analyzing filings in 2023 could actually have read, once the corresponding earlier filing became available.
- Later comparable view: express that earlier period on a post-2024 split-adjusted basis for financial comparison.
A model that imports the later −$15.33 figure into a decision made before its publication creates revision leakage, even when its series looks cleaner and more consistent to a modern viewer.
The source is OLB's 2024 S-3. For the complete split-unit treatment of prices, quantity and historical bars, see our Reverse Splits research.
What Would a Point-in-Time ATM Query Need to Return?
Consider the question:
"What was publicly known about a company's ATM financing program at 10:30 ET on May 14, 2019?"
It is not enough to find all historical documents mentioning that ATM and keep the newest total.
At the selected instant, the engine must decide whether public evidence had already established:
| ATM element | Correct as-of treatment |
|---|---|
| Original sales agreement | Include only if publicly knowable by T |
| Maximum stated offering size | Use the latest publicly knowable supported value |
| Prospectus supplement or registered capacity | Observe public filing time and eligibility conditions |
| Shares or proceeds actually sold | Include only disclosed/knowable amounts, with evidence of the measured period |
| Later amendment or increase | Exclude if its publication came after T |
| Later termination | Do not apply retroactively; an unreported termination may remain unknown |
| Remaining availability or capacity | Derive only when every required input is PIT-eligible and semantically compatible |
The crucial detail is that a later 10-Q may reveal sales that economically occurred earlier. The backtest cannot retroactively mark those proceeds as known on the trade dates merely because a later document gives an exact historical total.
Likewise, an ATM that remains listed in a historical registration statement is not automatically open, funded, unrestricted or fully available. Registered capacity, remaining registered capacity, authorized-share headroom and immediately financeable capacity are different measurements.
The example query demonstrates the model's required behavior; it is not a claim that an identified company's ATM held any particular amount on May 14, 2019.
How Do We Keep One Warrant from Becoming Ten Warrants?
Financing disclosures are often repeated.
The same instrument can appear in a registration statement, a prospectus supplement, a quarterly report, a derivative footnote, an amendment, an exercise notice and a later resale filing.
Counting each mention as a distinct warrant would make potential dilution multiply through the years, even when the issuer did not issue additional instruments.
Microcap Engine's dilution research therefore separates:
- an instrument identity from mentions of that instrument;
- an amendment or repricing from a new issuance;
- an exercise or conversion from a new outstanding instrument;
- a registration/resale right from an actual executed sale;
- the current database's canonical identity from the relationships actually supportable at the historical decision time.
This last condition is harder than conventional deduplication. A document written in 2025 may prove that two ambiguous mentions from 2022 referred to one warrant. That may help today's archive organization; it does not automatically make a 2022 trader aware of a 2025 clarification.
Our governing PIT rule is that source eligibility is applied before historical identity resolution and derived metric computation. This prevents a future identity match or attachment from quietly altering an earlier signal.
How Much Historical SEC Evidence Did We Actually Collect?
For the dilution system's first difficult-issuer acquisition audit, we selected four companies deliberately exposed to complicated financing histories: COSM, DRYS, MULN and SINT.
At the documented acquisition checkpoint, 3,179 out of 3,179 in-scope filings were acquired and cross-checked against the defined SEC discovery sources, resulting in 5,042 downloaded documents.
| Issuer | SEC filings in the defined acquisition scope |
|---|---|
| COSM | 532 |
| DRYS | 813 |
| MULN | 1,179 |
| SINT | 655 |
| Total | 3,179 |
This distinction matters for PIT analysis. An accession may include a main filing and several exhibits. It is unsafe to attach a numerical term from a later exhibit revision or unrelated document without a traceable accession, source document and time.
The original acquisition checks compared SEC submissions with SEC quarterly master indexes:
- COSM: 532 = 532
- DRYS: 813 = 813
- MULN: 1,179 = 1,179
- SINT: 655 = 655
This gives strong evidence for coverage within the defined discovery scope; it does not establish that every publicly knowable financial field has been correctly interpreted or that the entire historical market has been ingested.
The acquisition dataset is separate from the broader 15-year market universe research, described next.
Why Point-in-Time Fundamentals Also Need Point-in-Time Security Identity
A flawless filing clock attached to the wrong security is still wrong.
A stock symbol may change after a reverse split, later be reused, or belong to a different share class from the one described in a current SEC submission. A CIK identifies a filing entity, not necessarily one permanent traded share class.
Microcap Engine's separate 15-year US microcap universe audit measured:
| Historical research stage | Count | Interpretation |
|---|---|---|
| Candidate listing episodes | 10,131 | Discovery records, not 10,131 certified permanent securities |
| Conservative sub-$500M candidates | 7,486 | Historical-capitalization screening candidates, not daily certified PIT membership |
| Separate active SEC identity audit attempts | 3,839 | Active subset investigated; not an automatic continuation of the 7,486 |
| Verified active security identities | 3,656 | Resolved share-class identities in the active audit |
| Unresolved active in-scope records | 104 | Retained as unresolved instead of invented matches |
| Active audit out-of-scope instruments | 79 | Excluded from the in-scope resolution denominator |
In that active audit, 3,656 / 3,760 = 97.23% of in-scope attempts were resolved. That is measured resolution coverage, not a claim of 97.23% independent entity-matching accuracy or full-universe PIT completeness.
A credible historical market-cap feature needs a date-effective symbol-to-security link, date-appropriate shares outstanding, price on the correct split basis and knowledge timestamps. A missing source should remain missing.
See the original Ticker Is Not Identity research for the identity methodology and its limitations.
How Do We Know That "UNKNOWN" Is Not Being Turned into Zero?
A missing ATM amount is not zero ATM capacity. A missing warrant strike is not evidence that the warrant is free. An absent float estimate is not zero public shares, and it is not permission to substitute shares outstanding and call the result "float."
The dedicated dilution validation work includes a manually reviewed pilot of 16 difficult evidence cases.
In its documented final review checkpoint, the pilot recorded:
| Check | Reported result | Scope |
|---|---|---|
| Schema-valid cases | 16 / 16 | Structural format |
| Source-grounded populated fields | 99 / 99 | Fields populated in this reviewed pilot |
| Correct expected-null values | 34 / 34 | Reviewed fields that should remain unknown |
| Cases cleared | 14 / 16 | Final case-level clearance |
| Cases held for unresolved evidence | 2 / 16 | Missing linked reference context |
| Unresolved material references | 5 | Definitions/attachment bodies requiring evidence |
The zero fabrication and correct-null observations are encouraging within that audited set. The two unresolved cases are also important: they show the validation path was able to withhold clearance when a referenced definition or attachment could not be fully supported.
A system that forces every field into a number looks complete. A system that preserves UNKNOWN can more faithfully represent what a real trader could know.
This is a bounded pilot result and must not be confused with end-to-end validation of all filing histories or with 100% production coverage.
Which Features Are Most Exposed to Look-Ahead Bias?
Point-in-time discipline applies to each fundamental or event-sensitive input separately.
| Historical feature | Typical leakage error | Required treatment |
|---|---|---|
| Market capitalization | Using today's O/S, or future restated O/S | Security-matched PIT shares × compatible historical price |
| Free float | Applying a current float or outstanding proxy to earlier dates | Availability-qualified actual float; otherwise UNKNOWN |
| Float rotation | Dividing raw cumulative share volume by future float | PIT float and compatible split units |
| Short interest percentage | Using settlement-date short interest before publication | Use actual dissemination/availability date |
| ATM remaining capacity | Subtracting sales disclosed in a future 10-Q | Only currently knowable transactions and terms |
| Warrants/convertibles | Backfilling a later repricing/exercise into old history | Identity, terms, status and amendments as-of T |
| Cash runway | Using a later financial quarter's ending cash | Filing-time balance-sheet knowledge and dated calculation |
| Earnings surprise | Joining a revised actual or consensus back into earlier signals | Time-stamped, versioned estimate and actual |
| News catalyst | Using news with only a same-day date but no time | Exact first-known/available timestamp or lower-confidence exclusion |
| Adjusted prior close | Using future split factors during a past decision | Split events eligible as-of the decision time |
For example, FINRA distinguishes the short-interest settlement-date measurement from the later public dissemination. Its developer documentation gives publication-date availability information; a historical backtest must not assume short interest was known on the settlement date.
The common principle is that derived features inherit the latest availability and uncertainty of all their dependencies.
How Should Shares Outstanding, Float and Split Factors Be Joined?
Microcap Engine's PIT universe methodology distinguishes:
- dated shares outstanding and their source confidence;
- dated float shares, including explicit missingness;
- raw previous close, preserving original trade basis;
- a separately split-comparable previous-close view;
- cumulative split factors constrained by known events and effective dates;
- historical issuer/security identity intervals;
- coverage, provenance and confidence flags.
These are not interchangeable fields.
Consider a 1-for-20 reverse split announced before a historical decision but effective the next trading day. The engine can know about the scheduled event immediately after public disclosure while applying the new price/share unit only at the correct effective boundary.
Conversely, if a split is described in a later filing but was not knowable earlier, its future information cannot retroactively become a contemporaneous historical signal.
The adjusted reference series is derived. Historical raw prices and real fills should remain recoverable on the original as-traded basis.
For a complete numerical treatment, see our Reverse Splits and Backtest Adjustments research.
A Data Model for Two Questions, Not One Historical Truth
A robust backtesting platform often needs to answer two different questions:
- Knowledge-state query: What was supportably known by T?
- Modern analytical comparison: How does the same past observation look on a later normalized basis?
Both are legitimate, but they cannot share an unqualified "latest historical fundamental" field.
Our design uses point-in-time event states, explicit source times, versioned extraction and half-open knowledge intervals [valid_from, valid_to).
For an event revealed late, such as a 2024 filing disclosing a transaction effective in an earlier month, the economic state may be recognized as having occurred earlier, but its publicly knowable representation begins only when disclosed. The older decision snapshots must not be silently rewritten.
A later issuer restatement creates later knowledge. A software bug fixed while parsing unchanged original evidence is instead an engine reinterpretation; it must carry a new extraction/build version and provenance without pretending that a new SEC disclosure took place.
This separation makes historical queries auditable, reproducible and meaningfully different from a modern fully restated data panel.
What Has Been Implemented, and What Is Still a Validation Claim?
Our research sources support different levels of evidence:
- The PIT temporal model, instrument/lifecycle representation, source lineage rules and as-of query design are documented parts of the dilution-engine work.
- The four-issuer acquisition audit produced a verified 3,179-filing, 5,042-document archive for a defined scope.
- The 16-case evidence pilot recorded its own scoped correctness and unresolved-reference outcomes.
- The 15-year universe audit measured candidate discovery and active security-identity resolution separately.
Those facts do not establish that every issuer in the US market has fully validated historical float, cash, dilution instruments or intraday knowability coverage.
In particular, SEC acceptance is not always exactly equal to first public dissemination, and vendor-derived fundamentals may contain data that was retrospectively corrected or date-stamped without original intraday first-seen proof.
We would rather return an explicit unknown or narrower evidence grade than transform that ambiguity into a confident backtest result.
What Should a Trader Ask a Point-in-Time Data Provider?
A useful due-diligence question is not only, "How many years of historical data do you have?"
Ask:
- Which timestamp controls feature eligibility? Is it fiscal period, filing date, exact publication, or vendor ingestion?
- Can you reproduce the value as of an exact 10:30 ET decision?
- If a filing was amended later, can I recover the original contemporaneous value?
- Are shares outstanding and float separate, source-linked historical fields?
- Do ticker changes, reused symbols and delistings retain correct permanent instrument identity?
- Does an unknown amount remain unknown, or become zero?
- Can the provider identify the SEC accession, exhibit, field units and source confidence behind the result?
- Can raw/as-traded prices be separated from a later split-adjusted comparative chart?
A backtest can use 15 years of prices and still contain a future fundamental. Historical depth is not the same as historical knowability.
FAQ
What is point-in-time fundamental data?
It is a historical record that preserves which facts were publicly knowable at each decision timestamp. It distinguishes the economic/reporting period from public availability and retains revisions instead of overwriting original history.
Why is fiscal period end not a safe backtest timestamp?
Because statements are ordinarily published later. OLB's June 30, 2024 quarter was filed on August 14, 2024. A June 30 backtest could not use newly disclosed figures from that August filing.
What is the difference between EDGAR acceptance and known_at?
EDGAR acceptance is an authoritative event timestamp, but the SEC does not provide a single universal timestamp proving exact first visibility on its website. A strict known_at value needs a supportable dissemination bound, precision and provenance.
Could the OLB 10-Q be used at 10:30 ET on August 14, 2024?
Not on the basis of that filing: its SEC acceptance time was 17:22:52 ET that day. A historical strategy could still use older information that was already public.
Why can a later restatement introduce look-ahead bias?
Later filings can revise or split-adjust earlier reported values. Using the revised value in a signal before the revision became available leaks future information, even when the number is correct for modern retrospective comparison.
How should a historical ATM be reconstructed?
Select only the sales agreements, supplements, amendments, sale disclosures and constraints publicly knowable by the decision time, then derive remaining capacity from those compatible facts. Do not infer executed sales or a zero balance from missing disclosures.
Does missing float mean zero float?
No. Missing float is UNKNOWN, not zero and not automatically interchangeable with shares outstanding.
What did Microcap Engine's SEC pilot prove?
In its scoped 16-case review, 14 cases cleared, 99/99 populated fields were source-grounded and 34/34 expected-null fields remained correctly unknown. Two cases remained held because five material reference definitions or bodies were unresolved. That is a pilot audit, not a full-production accuracy score.
Can a current historical financial data API be point-in-time-safe?
Potentially, but only when it exposes or can reconstruct historical availability, original revisions, security identity, compatible share units and source provenance. A vendor's fiscal date or latest restated value alone does not prove PIT correctness.
Is point-in-time accuracy a guarantee that a backtest is profitable?
No. It prevents a class of information leakage. Execution assumptions, spreads, liquidity, borrow availability, halts, costs, strategy robustness and out-of-sample performance still need independent evaluation.
Methodology and Scope Note
This article combines (1) the public SEC/FINRA documentation cited below, (2) Microcap Engine's documented PIT rules and source-bound dilution parser design, (3) specific acquisition and pilot audit counts from the development work and (4) the separately published 15-year universe identity audit.
The OLB filing dates and 1,810,200 / 1,797,583 share counts are third-party primary-source evidence from SEC EDGAR. The 45-calendar-day reporting gap is arithmetic between June 30 and August 14. The 2023 pre/post split figures are retrospective reported presentation values, not a new 2023-time publication.
The 3,179 SEC filings and 5,042 documents refer only to the four-issuer acquisition scope at the documented checkpoint. Counts 532 / 813 / 1,179 / 655 were cross-checked between defined SEC discovery sources; acquisition completeness does not equal parser accuracy. The 16-case extraction pilot is a separate reviewed subset; its cleared/held outcomes cannot be extrapolated to all filings.
The 10,131 listing episodes and 3,839 active identity audit attempts come from a separate market-universe study and have different denominators. Its 97.23% figure is identity resolution coverage within the audited in-scope set, not an accuracy or end-to-end historical universe claim.
The "May 14, 2019 at 10:30 ET" ATM query is a deliberately illustrative as-of prompt from the project methodology. No unverified issuer-specific 2019 ATM number is claimed here. Methodology and design controls are not presented as completed end-to-end production certification.
We prefer source-grounded measurements, correct accounting of UNKNOWN states and explicit time availability to apparently complete datasets that depend on retroactive knowledge.
Selected Public References
- SEC EDGAR — OLB 2024-08-14 10-Q filing detail: June 30 period and 17:22:52 ET acceptance
- SEC — OLB June 2024 Form 10-Q: August 13 common shares issued and outstanding
- SEC — OLB 2024 S-3: earlier-year weighted-average shares and EPS on different split bases
- SEC — EDGAR Webmaster FAQ: report period, filing date and acceptance time definitions
- SEC — Accessing EDGAR data and dissemination considerations
- FINRA Developer Center — short-interest dataset publication availability
- FINRA — Short Interest: What It Is, What It Is Not
- Microcap Engine — Point-in-Time Dilution Rules (source methodology)