Draw four times for one decision
Use four columns: the earliest time the input was available, the time the signal calculation completed, the earliest permitted action time, and the assumed fill time and price. Use one timezone and make the sequence visible. A date without a time may be insufficient when publication and a market session occur on the same day.
Start with the information dependency. If the rule requires a completed session’s final price, ask when that final observation became usable by the modeled process. The action cannot be explained only by saying that the chart has a point labeled with the same date.
An original fictional timeline
Imagine a fictional market whose Session A closes at 16:00 UTC. The final closing observation becomes available to the simulated researcher at 16:00:02, and the rule finishes evaluating it at 16:00:03. Stipulate that the strategy is allowed to submit actions only during the next modeled session, starting at 09:00 UTC. These are invented session rules, not a calendar for an actual exchange.
Under those stipulated rules, a fill at Session A’s 16:00 close fails the timeline check. The instruction did not yet exist. A row placing the action in the next session clears that timing objection, but it still needs an explicit fill-price convention and sufficient permitted data. Clearing one objection is not proof that a real order would have filled.
A quoted or recorded price is not an execution receipt
The SEC’s order-type bulletin explains that a market order’s execution price is not guaranteed and can differ from a last-traded price or quote. That real-market distinction is one reason to label historical fill assumptions carefully. A closing-price dataset is a record of prices; it is not a record of this hypothetical strategy’s actual order execution.
For the fictional example, specify whether the next-session observation represents an opening mark, a later bar, or another modeled opportunity. State what happens when that observation is missing. Do not fill the gap with a convenient earlier close. A delay, skipped action or unresolved case should follow the written experiment rule.
Make a two-row audit before interpreting a chart
Create one deliberately invalid row using a future-dependent input with an earlier fill, and one row that respects the stipulated order of events. For each row, write the expected acceptance or rejection before inspecting an engine’s output. Preserve the input timestamps, signal version and fill rule so another reader can identify the exact difference.
If the engine accepts the invalid case, the finding concerns that test and configuration. If it rejects the case, broader timing correctness remains unproven. This is a proposed audit method, not a report that Thesis Lab or any other product has been run through the exercise. It does not claim any particular order type or fill model is implemented in the current beta.
Method, sources, and limits
The timeline and audit rows are original hypothetical examples, prepared on 26 October 2026. The SEC source supports the distinction between observed prices and execution uncertainty; it does not validate this fictional simulation. Real trading also involves liquidity, costs, latency and venue rules outside this exercise.
Sources & checking dates
Primary references and the product release used for this guide. A source supports the claim attributed to it; it does not endorse Thesis Lab or validate an example's investment outcome.
- SEC: Understanding Order Types, updated August 2026 ↗Checked 2026-10-26
Educational examples are hypothetical unless explicitly identified as a dated source observation. Product details can change after the update date.