API Documentation

Finding Open Prices

In determining "official" opening prices, it is important to note that there is no standardized single authority for open prints. Rather, each participant exchange releases "official open" prices. Note that not all Market Centers report this data consistently, or by a specific time, and there is no guarantee that it will exist for all symbols. To develop a baseline, note that typically the opening print is the first trade "eligible to set last".

With this in mind, make use of the Market Center open Trade Conditions:

NxID TradeCondition Description
5 OpenReportLate NYSE/AMEX. Market opened Late. Here is the report. It may not be in sequence. Nasdaq uses OpenReportOutOfSeq.
6 OpenReportOutOfSeq Report IS out of sequence. Market was open, and now this report is just getting to us.
62 OpenReport Indicates an opening trade report.
66 MCOfficialOpen Indicates the 'Official' opening value as determined by a Market Center. This transaction report will contain the market center generated opening price.

NOTE: Other data sources such as Yahoo, Google, etc. might also differ from any of these values. If you have questions about why these reports are solely at the discretion of the exchange rather than standardized from a single source, please contact the Securities and Exchange Commission (SEC) at marketstructure@sec.gov.

Example 01: Opening prices, listed exchange prints first

In this example, we see multiple participant exchanges list opening prices (highlighted blue), but with the listed exchange (NYSE) having the first overall print (highlighted red).

TD|NYSE|eIBM|01/31/2017|09:30:00.076|NQEX|175.14|81|1652|OddLot|RegularSettle||FormT|OddLot

TD|NYSE|eIBM|01/31/2017|09:30:00.652|NYSE|175.05|83799|2121|OpenReport|RegularSettle|OpenReport||||175.05|175.05|175.05|175.05

TD|NYSE|eIBM|01/31/2017|09:30:00.652|PACF|175.11|100|2123||RegularSettle|||||175.05|175.11|175.05|175.11

TD|NYSE|eIBM|01/31/2017|09:30:00.652|PACF|175.11|100|2124|MCOfficialOpen|RegularSettle|||MCOfficialOpen||175.05|175.11|175.05|175.11

TD|NYSE|eIBM|01/31/2017|09:30:00.684|NQNX|175.495|1|2130|OddLot|RegularSettle|||OddLot||175.050|175.110|175.050|175.110 TD|NYSE|eIBM|01/31/2017|09:30:00.684|NQNX|175.495|30|2131|OddLot|RegularSettle|||OddLot||175.050|175.110|175.050|175.110 TD|NYSE|eIBM|01/31/2017|09:30:01.016|NYSE|175.100|25|2198|OddLot|RegularSettle|IntermarketSweep||OddLot||175.050|175.110|175.050|175.110 TD|NYSE|eIBM|01/31/2017|09:30:01.026|PACF|175.050|100|2203||RegularSettle|||||175.050|175.110|175.050|175.050 TD|NYSE|eIBM|01/31/2017|09:30:01.027|NYSE|175.100|75|2204|OddLot|RegularSettle|IntermarketSweep||OddLot||175.050|175.110|175.050|175.050 TD|NYSE|eIBM|01/31/2017|09:30:01.027|NYSE|175.060|25|2205|OddLot|RegularSettle|IntermarketSweep||OddLot||175.050|175.110|175.050|175.050 TD|NYSE|eIBM|01/31/2017|09:30:01.027|NYSE|175.060|100|2206|IntermarketSweep|RegularSettle|IntermarketSweep||||175.050|175.110|175.050|175.060 TD|NYSE|eIBM|01/31/2017|09:30:01.027|BATY|175.100|100|2207|IntermarketSweep|RegularSettle|IntermarketSweep||||175.050|175.110|175.050|175.100 TD|NYSE|eIBM|01/31/2017|09:30:01.027|BATY|175.070|50|2208|OddLot|RegularSettle|IntermarketSweep||OddLot||175.050|175.110|175.050|175.100 TD|NYSE|eIBM|01/31/2017|09:30:01.027|BATS|175.100|100|2209|IntermarketSweep|RegularSettle|IntermarketSweep||||175.050|175.110|175.050|175.100 TD|NYSE|eIBM|01/31/2017|09:30:01.027|NQEX|175.100|100|2210|IntermarketSweep|RegularSettle|IntermarketSweep||||175.050|175.110|175.050|175.100

TD|NYSE|eIBM|01/31/2017|09:30:01.027|NQEX|175.100|100|2211|MCOfficialOpen|RegularSettle|||MCOfficialOpen||175.050|175.110|175.050|175.100

Example 02: Opening prices, participant exchange prints first

In this example we see that a participant exchange (PACF aka NYSE/ARCA) sends an official open before the listed exchange (NYSE) does, and the prices are different. Which is the correct "official" open? There isn't *one*, it's open to interpretation (see contacting the SEC, above). At Nanex we consider the first trade from the listing exchange that is eligible to set the last as the most correct open price. Other sources (e.g. Google, Yahoo) may use the first trade from any participant exchange or some other, unknown, methodology.

TD|NYSE|eGE|01/31/2017|0|09:27:16.950|09:27:16.933|PACF|29.850|52|2787||0x7||OddLot
TD|NYSE|eGE|01/31/2017|0|09:30:00.100|09:30:00.100|PACF|29.850|100|3336|0x7|||IntermarketSweep

TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.850|100|3337||0x7|1|MCOfficialOpen

TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.820|200|3338|0x5 TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.820|100|3339|0x1 TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.820|100|3340|0x1 TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.820|700|3341|0x1 TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.820|202|3342|0x1 TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.100|PACF|29.810|100|3343|0x5 TD|NYSE|eGE|01/31/2017|0|09:30:00.125|09:30:00.104|PACF|29.810|665|3346|0x1|||IntermarketSweep TD|NYSE|eGE|01/31/2017|0|09:30:00.200|09:30:00.173|NQEX|29.800|565|3383|0x5|||IntermarketSweep

TD|NYSE|eGE|01/31/2017|0|09:30:00.200|09:30:00.173|NQEX|29.800|565|3384||0x7|1|MCOfficialOpen

TD|NYSE|eGE|01/31/2017|0|09:30:00.200|09:30:00.188|PACF|29.810|200|3388|0x1|||IntermarketSweep TD|NYSE|eGE|01/31/2017|0|09:30:00.200|09:30:00.199|PACF|29.800|2|3390||0x7||OddLot TD|NYSE|eGE|01/31/2017|0|09:30:00.200|09:30:00.199|PACF|29.800|198|3391|0x1 TD|NYSE|eGE|01/31/2017|0|09:30:00.200|09:30:00.199|NQEX|29.800|100|3392|0x1

TD|NYSE|eGE|01/31/2017|0|09:30:00.325|09:30:00.321|NYSE|29.800|421732|3675|0x9|||OpenReport