Why two charts show a different daily candle for the same stock
Same stock, same day, two candles. Which feed, which trades, which close and which day boundary each chart used, and how to find the one that differs.
Because a daily candle is four prices and a volume chosen from hundreds of thousands of trades, and each source chooses differently. A single-exchange feed sees a few percent of the trades the consolidated tape sees. Odd lots, extended-hours and late prints count toward volume but not toward the high, low or last. The official close is the listing exchange's auction price, not the last trade. Day boundaries and adjustment differ too.
Open the same stock on two charting sites and the daily candles rarely match to the cent. The open is a few cents apart, the close a little more, the volume sometimes by a factor of fifty. Usually neither chart is broken. A daily candle is five numbers chosen from hundreds of thousands of trades, by rules most charting tools do not print anywhere.
The rules mostly come from two documents, the output specifications of the two US consolidated tapes. They say which trades update which field. Everything a vendor does beyond them is its own choice: which feed to buy, which hours to include, where a day ends and whether to adjust.
How it works
Every US stock trade is reported once, by the exchange that executed it or, for off-exchange trades, to a FINRA trade reporting facility. Both routes end at a securities information processor: the CTA plan's for NYSE- and regional-listed stocks, the UTP plan's for Nasdaq-listed ones. Each trade carries up to four sale-condition codes. The SIP specification maps each code to the fields it may update. Then a vendor builds bars, from the SIP feed or from one exchange's own feed, and decides the rest.
So two candles can differ at five points, independently of each other:
- The feed. Every venue, or one.
- The trades. Which sale conditions count toward price and which only toward volume.
- The close. The listing exchange's official close, or the last eligible trade.
- The day. Where it starts and ends, and whether extended hours are inside it.
- The record. Live as printed, or rebuilt after corrections, adjusted or raw.
One exchange is not the market
The largest differences come from the feed. Every exchange sells its own data, and a free real-time US quote is very often one exchange's feed rather than the consolidated tape.
Alpaca's market data FAQ puts numbers on it. Its daily bars for Apple on 29 September 2023 are:
| Feed | Open | High | Low | Close | Volume | Trades |
|---|---|---|---|---|---|---|
| Consolidated (SIP) | 172.02 | 173.07 | 170.341 | 171.21 | 51,861,083 | 535,134 |
| IEX only | 172.015 | 173.06 | 170.36 | 171.29 | 923,134 | 12,630 |
The prices are close, because a busy stock trades at much the same price on every venue. The volume is 56 times apart. Alpaca's feed documentation puts IEX at "approximately ~2.5% of the market volume". Tiingo's production real-time equity data is IEX-derived as well.
Other single-venue feeds are larger but still partial. Cboe describes the Cboe One feed as a view "from all four Cboe U.S. Equities Exchanges: BZX Exchange, BYX Exchange, EDGX Exchange and EDGA Exchange" — four exchanges, not the market. TradingView's data-coverage page labels its free US stock data "limited real-time via Cboe One". StockCharts patches the most recent 15 minutes of its delayed official data with BATS prints and suppresses volume on those bars.
Off-exchange trades are the other half. Trades executed by alternative trading systems and wholesalers are reported to FINRA's trade reporting facilities. FINRA's filing of 15 July 2026 states that all reports submitted for publication "are transmitted to and publicly disseminated by the appropriate SIP". No single exchange's feed carries them. A candle built from an exchange feed is missing all of them. One built from the SIP includes them, and their prices with them.
Which trades move the price
Even two consolidated candles can differ, because not every trade is allowed to set a price. The CTS output specification, version 2.12b of 1 July 2026, has a table of every sale condition and the fields it updates. The UTP specification, version 4.1 of September 2026, has the same matrix for Nasdaq-listed stocks. In both, these update volume only, never the consolidated last, high or low:
- T, extended-hours trades, and U, extended-hours trades reported out of sequence.
- I, odd-lot trades.
- C, cash trades settled the same day.
- H, price-variation trades.
- R, seller's-option trades.
- V, contingent trades, and 7, qualified contingent trades.
- Average-price trades: B on the CTA tape, W on the UTP tape.
Late reports follow their own notes. A trade marked Z, sold out of sequence, updates the high and low but sets the last sale only if it is the only qualifying trade. A trade marked L, sold last, sets the last sale on the CTA tape only if it is the only qualifying last, comes from the same exchange as the current last, or comes from the listing market.
A vendor that follows the matrix and one that does not will disagree on any day with a wide extended-hours range or a stray contingent trade. Alpaca's FAQ says its bars are aggregated from trades, and that condition codes decide whether each trade updates the open and close, the high and low, or the volume. Few charting sites publish the equivalent table.
The close is an auction, not the last trade
The last trade of the regular session and the official close are two different prices, and the tapes treat them as two different messages.
The official close is the price of the listing exchange's closing auction. NYSE's FAQ says NYSE Arca publishes its official closing price after the 4 p.m. closing auction "with a sale condition of 'M'". Both specifications define M as the market center's official close and give it no update of the consolidated last, high or low, and no volume. The UTP specification spells it out: M "shall only affect the market center closing/last sale value and will not affect the consolidated market value." The opening auction's official price, condition Q, works the same way.
So "close" means one of three things. It can be the listing exchange's official close from its M message. It can be the consolidated last sale, the last eligible trade reported on any venue, which is often the auction's own closing trade but need not be. Or it can be the last trade the vendor itself counted, which on a single-venue feed is that venue's last trade. On the Apple day in the table above, the consolidated bar closed at 171.21 and the IEX bar at 171.29.
For thinly traded funds the official close may not be a trade at all. Under Nasdaq Rule 4754(b)(4), as described in its filing of 27 June 2025, a Nasdaq-listed ETP with no closing cross gets an official close equal to "the time-weighted average midpoint ('T-WAM') of the national best bid and offer" over the final minutes of the session. The filing extends this to crosses of less than one round lot, and says NYSE Arca and Cboe BZX already use "substantively identical" processes. A chart that plots the official close and one that plots the last trade can show different closes for that fund, sometimes by a lot. Neither is in error.
The open has the same split. Neither tape's table has a consolidated open column: the CTS table gives an open only for each exchange, and the UTP matrix gives none. A vendor's open can be the listing exchange's official open, condition Q, or the first regular-session trade it counted on any venue. These can be a fraction of a second and a few cents apart.
Odd lots, and the round-lot change
Odd-lot trades count toward volume and never toward the consolidated high, low or last. What changed is the definition of an odd lot. Under 17 CFR 242.600, a round lot is 100 shares for a stock whose average closing price over the evaluation period was 250 dollars or less, 40 shares from 250.01 to 1,000 dollars, 10 shares from 1,000.01 to 10,000 dollars, and one share above that. The evaluation periods are March and September, and the sizes are reassigned on the first business day of May and November.
The SEC's order of 31 October 2025, which postponed the tick-size and access-fee changes, left the round-lot date in place: implementation "is required to be completed on the first business day of November 2025, i.e., November 3, 2025". The CTS specification now requires an I trade to be smaller than "the symbol round lot size".
So for a stock above 250 dollars, a 60-share trade before 3 November 2025 was an odd lot and could not set the day's high. After that date it is a round lot and can. A candle series built across the change is built under two rules. Two vendors that rebuilt their history differently will disagree on old highs and lows as well.
Where the day starts and ends
Extended-hours trades carry the T condition and, on the tape's own rules, add to volume and to nothing else. A daily bar built from the consolidated fields therefore has regular-session prices and full-day volume, including 4 a.m. pre-market and after-hours trading to 8 p.m. A bar built by aggregating trades by time can include extended hours in its high and low, or exclude them from its volume. Both are defensible, and they are different candles. TradingView's support page describes extended hours as something shown "on intraday charts", switched on with the ETH option.
The day's edges are a second choice. Alpaca's FAQ says a trade's timestamp "is truncated ... to the day (in New York) for daily bars". A bar cut at midnight UTC instead puts the evening's late trading into the next day's bucket, and the boundary shifts by an hour twice a year. The consequences for intraday bars are covered in why indicator values differ.
The edges move again under 23-hour trading. The CTA plan's FAQ says that from the scheduled launch on 6 December 2026 the whole window from 9 p.m. to 8 p.m. "is one trading day". Trades between 9 p.m. and midnight are counted under the next calendar date. A bar truncated to the calendar day in New York and a bar keyed by trade date will then put a Sunday night trade in different days. See what 23-hour trading changes.
Corrections, late prints and adjustment
A candle drawn live is a first draft. Both tapes carry cancel and correction messages for trades already printed. The CTS specification also defines condition 9, a corrected consolidated close that only the listing exchange may send, at the earliest 30 seconds after the close. Under the extended-hours schedule, the CTA FAQ says, late reports from a session and cancellations or corrections of its trades may be submitted from 9 p.m. in the next session. A chart that drew its bar from the live stream and never redraws it can keep a high that was later cancelled. One that rebuilt from the end-of-day record will not.
Then there is adjustment, which moves every historical candle at once. Split-adjusted, split-and-dividend-adjusted and raw series differ by design, and two providers adjust in different ways. That is its own page: why two providers give different returns.
What you can do about it
Find out which feed each chart uses. The volume line tells you fastest. If one chart shows a few percent of the other's volume, it is a single-venue feed, and nothing else about the two candles is worth comparing until that is fixed. On TradingView the full US exchange bundle is a separate monthly subscription on top of the plan, and the real-time data fees guide explains why the tape costs extra.
Compare closes against the official close. For the listed stock, take the official close from the listing exchange's own data or a source that publishes it explicitly, then see which chart matches. A chart that matches the official close and one that matches the last trade are both working as designed. Decide which definition you want, especially for thinly traded ETPs.
Turn extended hours off on both, or on on both. Compare daily bars with the same session setting. Then compare intraday bars over the regular session only. If they now agree, the difference was the session.
Expect odd-lot and late-print differences on small numbers. A one-cent difference in a high on a quiet stock is very often one odd-lot, contingent or out-of-sequence print that one vendor counted and another did not. If you need to know, pull the trades with their condition codes from an API that exposes them, and check the trade that set the high against the table above.
Reload before you report. If a high, low or close matters for a record or a backtest, take it from a rebuilt end-of-day file the next morning, not from the bar drawn live. Write down the feed, the session setting and the adjustment next to the number. The how-to on drawing candlesticks in your own app covers the other half of the problem, and the charting tools themselves are in charting platforms and screeners.
Tools this bears on
Cards in the catalogue where what is above changes the decision.
TradingView
Charting across 50-plus markets, with Pine Script, server-side alerts and broker trading.
$12.95/moFree tier
StockCharts
Browser technical charting, custom scans and alerts, priced per service level.
$19.95/moFree tier
Alpaca Market Data
Free IEX data forever, full SIP and OPRA for a flat $99 a month.
$99/moFree tier
Tiingo
End-of-day equity history back to 1962, plus crypto, forex and news, from $30 a month.
$30/moFree tier
FAQ
Why is the volume different on two charts for the same stock?
Usually because one of them is not looking at the whole market. The consolidated tape carries every exchange and every off-exchange trade report, while a single-exchange feed carries one venue's trades. Alpaca's own example for Apple on 29 September 2023 shows 51.9 million shares in the consolidated daily bar and 0.9 million in the IEX-only bar. Between two consolidated sources, the remaining difference is which trade types and which hours each one counts.
Why is the closing price on my chart different from the official close?
Because the official close is set by the listing exchange's closing auction and published as its own message, while a chart's close is often the last trade it counted. On both US tapes the official-close message updates only that exchange's own figures, never the consolidated last sale. For a thinly traded Nasdaq ETP with no closing cross, or one whose cross is under a round lot, the official close is a time-weighted midpoint of the best bid and offer, a price at which nothing may have traded.
Do pre-market and after-hours trades count in the daily candle?
In the consolidated tape's own rules, extended-hours trades count toward the day's volume and never toward the consolidated high, low or last sale. A chart or API that builds its daily bar from the consolidated fields follows that rule. One that aggregates every trade itself may include them in the high and low as well. Check which your tool does before comparing two candles.
Do odd-lot trades count in volume?
Yes. On both US tapes an odd-lot trade adds to volume and does not update the consolidated high, low or last. What counts as an odd lot changed on 3 November 2025, when round lots became 40, 10 or 1 share for stocks averaging over 250, 1,000 or 10,000 dollars. A 50-share trade in a stock that averaged 300 dollars now updates the high and low, where before that date it did not.
Why did my chart's daily high change after the market closed?
Because trades can be cancelled, corrected or reported late after the bar was first drawn. The consolidated tape carries cancellation and correction messages, and under the extended-hours schedule a session's late reports and corrections can arrive from 9 p.m. in the next session. A chart that drew the bar from live data and one that rebuilt it from the corrected record can disagree until the first one rebuilds.
Sources
- CTS Pillar Multicast Output Binary Specification (Extended Trading Hours), version 2.12b — Securities Industry Automation Corporation,
- UTP Data Feed Services Specification, version 4.1 (September 2026) — UTP Plan, read
- CTA Extended Trading Hours — Frequently Asked Questions, version 1.2 — Consolidated Tape Association / Securities Industry Automation Corporation,
- Market Data FAQ — Alpaca, read
- Historical Stock Data (feed parameter) — Alpaca, read
- US Equities Market Data Services (Cboe One Feed) — Cboe Global Markets, read
- Nasdaq notice of filing to modify how the Nasdaq Official Closing Price is determined for a Nasdaq-listed ETP, Release No. 34-103341 — U.S. Securities and Exchange Commission,
- Extended-Hours Trading Frequently Asked Questions, v4.0 (August 2026) — New York Stock Exchange (NYSE Arca), read
- Order Granting Temporary Exemptive Relief from Compliance with Rules 600(b)(89)(i)(F), 610(c), 610(d) and 612 of Regulation NMS, Release No. 34-104172 — U.S. Securities and Exchange Commission,
- 17 CFR 242.600, NMS security designation and definitions — Electronic Code of Federal Regulations, read
- FINRA notice of filing to extend Trade Reporting Facilities operating hours, Release No. 34-105922 (SR-FINRA-2026-015) — U.S. Securities and Exchange Commission,
- I want to access Extended Hours data — TradingView, read
The catalogue next door
This page is background, not a listing. The products it bears on are in Stock Charting Platforms & Screeners, each filled in against the same schema, with the fields to narrow it yourself.
Last updated . Corrected in place: this is a reference page, not a dated post.