Futures volume (the number of contracts that changed hands) is different on different platforms because each one counts a different slice of the same market, and CME's official daily total includes trades that never print on any chart. Put the same contract, the same session window and a full tick feed side by side and summed volume should agree, while trade counts and tick counts legitimately will not.
CME counts official volume as Globex plus floor plus privately negotiated trades, yet its Time and Sales data carries quantities for electronic trades only, so a chart built from trade prints cannot reach the exchange total. Calendar-spread legs, the session cut and the continuous-contract roll rule move the rest: in an illustrative ES day, the RTH figure sits 29.8% below an official 1,425,000. Contracts traded should agree across full feeds on one contract and window; tick counts need not.
What does CME's official daily volume include?
CME's official daily volume is the sum of three columns: Globex (electronic order book) volume, floor volume and PNT (privately negotiated transactions). In the field definitions of its Volume and Open Interest dataset, CME describes Total Volume as "The total number of contracts traded -- the sum of Globex, Floor, and PNT."
Blocks get a column of their own, and CME does not say whether that figure sits inside PNT. Only the Globex column comes from the order book your platform streams, and even part of that never prints as a trade.
Do block trades and EFPs show up on your chart?
No. Block trades and EFRPs (exchanges for related positions, the family that includes EFPs) are agreed away from the order book, so their quantities are not in the electronic trade record that charts, time and sales and footprints are built from, yet their contracts count in CME's official daily volume.
CME's block trade data page defines a block as "a privately negotiated futures, options, or combination transaction permitted to be executed apart from the public auction market." CME's Rule 526 guidance (2019 advisory filed with the CFTC) states that "Block trade prices are reported independently of transaction prices in the regular market and are not included as part of the daily trading range." Yet block volume is "also identified in the daily volume reports published by the Exchange."
CME's Time and Sales dataset description reads: "This dataset contains the official record of trade times and prices, in addition to quantities on electronic trades only."
EFRPs take the same route: CME's Rule 538 text, attached to an advisory effective 29 August 2025, lists three types (EFP, EFR and EOO) that are "permitted to be executed outside of the Exchange's centralized market". No public source we could fetch gives the share of ES volume that trades as blocks or EFRPs on a typical day.
Why is printed volume lower than the exchange's electronic volume?
Calendar-spread trades add to each leg's electronic volume without printing a trade in either outright contract. CME's MDP 3.0 messaging scenarios put it in one line: "Leg Trades are not included in Trade Summary, but Volume updates are sent."
Say a trader buys the December-March ES spread. The Electronic Volume entry, which CME describes as "cumulative session trade volume", rises in both months, but no print reaches either tape. CME's Trade Summary specification repeats the rule, and CME's trade scenario examples show the same for a match made only of implied orders: a volume update with no trade.
So one platform can show two numbers for one contract: a session-volume field reads the cumulative counter, while bars and time and sales are built from prints. Illustratively, on a roll day the front month might trade 700,000 contracts electronically, of which 300,000 are spread legs: 42.9% of its volume never prints, and the chart shows 400,000 (57.1%).
Linn Software's support page lumps spread trades together with blocks, but spread legs are inside Globex volume and the session-volume field, while blocks are in neither. A roll can be done as a single calendar spread (see how futures rollover works), so roll week is where to look for this gap. We found no public documentation saying whether any retail feed (Rithmic, Tradovate, CQG or dxFeed) rebuilds leg trades into the outright tape.
Why doesn't the daily bar equal the sum of the intraday bars?
Because the daily bar is often a different data product, built by the data provider on its own session definition rather than added up from your minute bars. NinjaTrader's Help Guide, as of November 2026, says intraday charts follow the chart's Trading Hours template, but "For daily charts and higher this is not the case though, here the Trading Hours are governed by the provider recording the data."
NinjaTrader's own servers record daily bars on ETH (electronic trading hours). TradingView opens futures daily bars with the settlement price as the close by default, the price-side twin of this problem covered in why your chart price differs. We found no vendor that publishes a per-feed table saying whether its daily volume is the cleared total, the Globex figure or a sum of prints.
How do session boundaries change the daily volume number?
A daily volume figure is only as good as the window it sums, and platforms use at least three: CME's trading day from 17:00 to 16:00 Central Time (CT), a calendar day from midnight to midnight, and a regular-hours (RTH) window such as 08:30 to 15:00 CT.
CME's 2019 block guidance gives the CME Direct and ClearPort trade date as "5:00 p.m. to 4:00 p.m. Central Time each business day". The TradingView help center, as of November 2026, says a Monday ES session starts Sunday at 17:00 CT, while its 1440-minute timeframe resets each calendar day. RTH templates differ by platform and version, so check yours against the RTH and ETH definitions.
Picture one ES trading day as a line from 17:00 CT the previous evening to 16:00 CT, with marks at midnight, 08:30 and 15:00, the end of the 14:59:30 to 15:00:00 CT window behind the CME settlement price. Illustrative printed volume: 90,000 contracts to midnight, 230,000 to 08:30, 1,000,000 to 15:00 and 50,000 to 16:00. The ETH bar sums all four to 1,370,000. The calendar-day bar drops the first 90,000 and borrows 85,000 from the next evening, landing on 1,365,000; the RTH bar keeps 1,000,000.
Holidays stretch the window: in TradingView's Martin Luther King Jr. Day 2025 example, trades from Sunday 19 January 17:00 CT to Tuesday 21 January 16:00 CT formed one session (see the CME trading calendar). So intraday volume is below the exchange's daily figure only for the same trading day; a calendar-cut bar after a busy evening can exceed it.
How does one ES day reconcile from CME's total to your chart?
Start from CME's official total and subtract each slice your chart cannot see; on the illustrative day below, the chart figures fall 1.8% to 29.8% short of the exchange's number. The table shows each figure, what it counts and the gap.
| Figure | What it counts | Contracts | Gap to official total |
|---|---|---|---|
| CME official total | Globex + floor + PNT | 1,425,000 | 0.0% |
| Globex electronic | Order-book trades, spread legs included | 1,400,000 | 1.8% |
| Printed outright, 17:00 to 16:00 CT (ETH) | Trade prints only | 1,370,000 | 3.9% |
| Calendar day, 00:00 to 24:00 CT | Prints from two sessions | 1,365,000 | 4.2% |
| RTH, 08:30 to 15:00 CT | Prints, day session only | 1,000,000 | 29.8% |
Computed by Phoenix Technologies from illustrative inputs, not a real dated day; method: total = Globex + floor + PNT per CME's field definitions, with floor 0, PNT 25,000 (assumed here to contain 9,000 blocks and 16,000 EFRP and other, since CME does not say whether Block sits inside PNT), spread legs 30,000; gap = (total - figure) / total x 100, one decimal.
Step by step: 1,425,000 official, minus 9,000 blocks, minus 16,000 EFRP and other privately negotiated volume, leaves 1,400,000 Globex electronic. Minus 30,000 spread legs leaves 1,370,000 printed outright contracts, the ETH daily bar.
Two platforms a few percent apart on daily ES volume are probably both right about different things. To rebuild this for a real day, take the Total, Globex, Floor, PNT and Block columns from CME's Volume and Open Interest report and set your platform's session sum beside them.
How do continuous contracts change volume during roll week?
Continuous charts switch from the expiring month to the next on different rules, so in roll week two platforms can show one day's ES volume from two different contracts. In the illustrative week below, the gap on one day exceeds half the volume.
The TradingView switching rules, as of November 2026, name the main condition as "the excess of the daily volume of the next contract over the daily volume of the current futures contract", applied per symbol. Another TradingView page says its front-month continuous symbol rolls at expiry, so its own documentation disagrees. NinjaTrader rolls on a rollover date set per instrument.
Picture eight days of illustrative roll week as paired bars. The front month trades 1,300,000, 1,200,000, 1,000,000, 700,000, 400,000, 200,000, 120,000 and 80,000; the next month trades 100,000, 200,000, 400,000, 800,000, 1,100,000, 1,250,000, 1,300,000 and 1,350,000. A volume-crossover rule switches on day 4, a fixed-date rule on day 6. On day 5 the first chart shows 1,100,000 and the second 400,000, which is 63.6% lower, while combined volume stayed between 1.4 and 1.5 million all week.
So the belief that continuous contracts always roll on expiration day does not hold: TradingView's switching page describes a volume-based rule, and NinjaTrader rolls on a set date per instrument. Compare roll-week volume on the specific month (ESZ6 against ESZ6), not the continuous symbol; continuous contracts and back-adjusted data covers what stitching does to prices.
Which volume numbers should match across two data feeds?
Contracts traded should match across two full tick feeds for the same contract and session window; trade counts and tick counts will not, and neither proves a feed wrong. The difference is how a match is packaged, not how many contracts changed hands.
CME's MDP 3.0 feed reports a match as a Trade Summary rather than order by order. In CME's own example, an aggressor that hits three resting orders produces "a single Trade Summary message for price level 9500." Some feeds pass the summary on, others show each fill. Sierra Chart's documentation warns that "exchanges routinely bundle/rollup/combine trades together. Therefore, one trade received may actually be many trades."
Picture an aggressive 10-lot buy meeting four resting sell orders of 3, 2, 4 and 1 lots at one price. Down one path, the summary feed shows 1 print of 10 contracts. Down the other, an order-level view shows 4 prints totalling 10. Volume is equal and the tick count is four to one, so a 500-tick bar closes sooner on the unbundled feed while a 500-volume bar closes at the same moment on both.
Sierra Chart's Number of Trades help topic calls mismatched Number of Trades bars "an inherent issue with Number of Trades bars in general." We found no source that supports the claim that one feed, often Rithmic, shows the true volume. See tick charts versus time charts for tick counts and the futures data feed comparison for the feeds.
Contract volume can go missing on delayed, conflated or snapshot feeds that skip prints. If two tick-level feeds disagree on contracts for the same month and window, test that first; conflation and throttling shows how it happens.
Which volume figure should you use for filters, profile, VWAP and footprint?
Use the official daily total, or one consistent source, for a daily-volume filter; use a sum of prints over a stated session window for volume profile and VWAP; use prints for footprint and tick charts and expect trade counts to differ between feeds. Mixing sources is what breaks a volume rule.
Picture a grid with four uses down the side and three figures across the top: CME's official daily total, the electronic session-volume field and a session-cut sum of prints. Volume profile and VWAP take the sum of prints because a 17:00 or 08:30 CT start moves the point of control and the weights.
Worked example: one filter, five answers
Take an illustrative rule: trade ES only if the prior day's volume was greater than 1,400,000 contracts. Feed it each figure from the reconciliation table:
- CME official total, 1,425,000: 1.8% above, passes.
- Globex electronic, 1,400,000: equal, not greater, fails.
- ETH printed outright, 1,370,000: 2.1% below, fails.
- Calendar-day cut, 1,365,000: 2.5% below, fails.
- RTH cut, 1,000,000: 28.6% below, fails.
Same market, same day: one pass and four fails. The tradeoff is timing. The official total only exists after the close, so an intraday rule has to run on prints, and a backtest must use the figure the live rule will read.
Checklist before you trust a volume number
- If two platforms differ, align the contract month first, not two continuous symbols.
- If they still differ, align the window: 17:00 to 16:00 CT, calendar day or your RTH template.
- If the gap to CME's total is a few percent, it is most likely blocks, EFRPs and spread legs.
- If trade counts differ but contract volume matches, both feeds are fine.
- If contract volume differs for the same month and window on two tick-level feeds, test for conflation.
- If your threshold sits closer to typical volume than the 1.8% to 4.2% gaps in the table, write down which figure your platform feeds it.
Go deeper
- Tick Charts vs Time Charts vs Range and Volume Charts
- Continuous Contracts and Back-Adjusted Data: Why Your Backtest Prices Never Existed
- Volume Profile for Futures: POC, Value Area and What the Shape Actually Tells You
- Why Your Feed Shows Fewer Ticks Than Actually Traded: Conflation and Throttling
Frequently asked questions
Why does CME's daily volume change after the session closes?
Because cleared figures are finished after trading stops. Databento's documentation for its CME Globex dataset says cleared volume and open interest statistics normally publish on the following UTC date, and figures for Friday's session on the following Sunday. A provider's daily bar can therefore show one number at 16:00 CT and another the next morning.
Can a block trade trigger my stop order?
No. CME's 2019 Rule 526 guidance says "Block trade prices do not elect conditional orders (e.g. stop orders) or otherwise affect orders in the regular market."
How quickly are CME block trades reported?
Under CME's 2019 Rule 526 guidance, a block must be submitted through CME Direct or CME ClearPort within 5 or 15 minutes, depending on the product. Its price is then published separately from regular-market trades. CME has issued later Rule 526 notices, so check the current text for a specific product.
Why are futures allowed to trade off the exchange at all?
CFTC Regulation 1.38 requires futures trades to be executed openly and competitively, with exceptions for non-competitive transactions under exchange rules the CFTC has approved. CME cites that regulation and Core Principle 9 as the basis for authorizing trades away from its centralized market. Blocks and EFRPs are those exceptions.
What does PNT mean on CME's volume report?
PNT stands for privately negotiated transactions. CME's dataset defines PNT volume as "The number of contracts traded in Privately-Negotiated Transactions." It is one of the three columns in the official total, and none of it prints as a trade on a chart.
Where can I see block trade volume for a given day?
In CME's Volume and Open Interest data, which carries a separate Block column next to Globex and PNT. CME's 2019 Rule 526 guidance also says block prices are published on a separate block trade page and under the MerQuote code BLK. Neither source puts blocks on your chart.
What is the minimum size of an ES block trade?
This article does not print one, because the current threshold could not be confirmed from CME's own pages. CME has issued Rule 526 notices more recent than the 2019 guidance cited here. Read the threshold in CME's current block trade materials before relying on a number.
How much ES volume trades overnight versus in regular hours?
No public source we could fetch gives that split, so the example day here is illustrative, with 1,000,000 of 1,370,000 printed contracts in RTH. You can measure it yourself by summing prints over your RTH template and over 17:00 to 16:00 CT for the same trade date.
Sources
- CME Group Client Systems Wiki (2024), Volume and Open Interest
- CME Group Client Systems Wiki (2026), Time and Sales
- CME Group, filed with the CFTC (2019), CME Submission No. 19-298, Market Regulation Advisory Notice RA1908-5 Regarding Rule 526 (Block Trades)
- CME Group, filed with the CFTC (2025), Market Regulation Advisory Notice RA2503-5 Regarding Rule 538 (Exchange for Related Positions)
- CME Group Client Systems Wiki (2025), MDP 3.0 - Event Driven FIX Messaging Scenarios
- CME Group Client Systems Wiki (2026), MDP 3.0 - Trade Summary
- TradingView Help Center (2026), Why do session-based indicators occasionally extend daily sessions on US futures?
- TradingView Help Center (2026), How is the switching date of contracts determined in continuous futures
- NinjaTrader Help Guide (2026), Operations > Charts > Bar Types
- Sierra Chart (2023), Help topic 43: Differences With Data and Chart Bars Between Services/Connections