Finding Historical Stock Prices from Opening and Closing Auctions
Summary
The document asks how to source long-run US stock end-of-day data that records official opening and closing prices from each listing exchange’s auctions. It distinguishes those prices from consolidated-tape values that providers may derive from the first and last regular-hours trades. The requester also needs delisted securities, making historical coverage and survivorship important selection criteria.
The answer describes two possible routes: request historical prices through the Interactive Brokers API while specifying the primary exchange, or obtain tick data and identify auction prints using a cross indicator. The first approach is described as undocumented and potentially difficult to use; the second may be harder and more expensive if only daily data is needed. The response does not establish which sources meet the desired 20–30-year history or delisted-stock coverage, and it gives no comparative data-quality evidence.
Key ideas
- Official exchange auction prices can differ from first and last regular-hours trades on the consolidated tape.
- Historical requests through Interactive Brokers may return primary-exchange prices when the primary exchange is specified.
- Tick data with a cross indicator may help identify opening and closing auction prints.
- The answer does not verify long historical coverage or availability of delisted stocks.
Tags
Full text
# Historical stock data with official open/close # Historical stock data with official open/close Is there a source of historical US stock end-of-day data that contains the official open/close prices from listing exchange (that is, the prices that usually come from the opening/closing auctions)? The providers I've look at so far (norgate, csidata) use the first and last regular-hours trades from the consolidate tape as their open/close prices. Edit: I should mention that I'm also looking for a source that has 20-30 years of history and includes delisted stocks. ## Answer by Brian from QuantRocket (score 0, accepted) https://quant.stackexchange.com/a/40732 You can get primary exchange prices from the Interactive Brokers API by specifying the primary exchange when making historical data requests, although this is not documented, and the IB API can be difficult to use. QuantRocket provides a `--primary-exchange` flag to do this for you. Alternatively (though likely harder and more expensive if you only care about EOD data), Ernie Chan suggests getting tick data which may include a "Cross" flag to identify the opening/closing print.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.