Ask a vendor "what time is your EOD snapshot?" and you will get one of three answers:
"15:45", "the close", or a shrug. None of them is a timestamp. Ours is: the last consolidated
top of book at or before 16:00 ET, stamped 16:00:00 in the file. The stamp is in
every row, so the assumption is visible instead of hidden.
A mark is not a fill
A "close" quote is the last price the book was quoted at. It is a mark — an estimate of what the contract is worth — not a trade that happened. Two consequences for a backtest:
- It can be stale. A thinly-quoted deep-OTM contract might have last traded at 11:00 and been carrying that quote into the close. You are not executing at 11:00. The 15:45/16:00 label does not mean the quote is fresh; it means that is the timestamp the feed attached.
- It is one side of a spread. Bid and ask are both in the file. "Last" and "mark" are derived. If you fill at the mid of a wide spread on a thin contract you are being optimistic; if you fill at bid/ask you are being honest. The spread width on the day matters more than the clock time.
Why the 15:45 number is load-bearing
Options stop trading at 16:00 ET (16:15 for some). A 15:45 snapshot is 15 minutes of the closing auction not yet in. For liquid ETFs like SPY that is a wash; for a 30-contract single-stock weekly it can be the difference between a 0.01 and a 0.05 quote. The honest move is to say which minute you used and to let the user decide if it is close enough — which is why the column is in the schema rather than a line in a sales deck.
There is no 15:45 executable snapshot in the free historical mirrors. If your strategy lives or dies on the exact fill, that is a priced option, not a checkbox. We rather sell you the real 15:45 than stamp 15:45 on a 16:00 quote.
What we check
On the shipped sample, put-call parity on matched pairs is 0.66% of spot for SPY and 0.24% for NVDA using the recorded mid and underlying close. That is the honest precision floor of an EOD mark on a 40-vol week. If your parity on a file is "0.00%", either the file is back-filled from a model or the quotes are not real closes. Ours is neither, and the residual is in the quality report.