Appearance
Price History
Historical price data is the foundation of every backtest, feature pipeline, and risk model this project builds for its target CME Group futures (ES, MES, NQ, MNQ, YM, RTY, M2K on CME/CBOT; MCL, QM, BZ on NYMEX; 1OZ, QO, QI, SIC on COMEX). Unlike equities, futures histories are fragmented across individual expiring contracts, so "price history" really means three distinct products: (1) per-contract OHLCV bars and tick/trade records, (2) stitched continuous-contract series suitable for long-horizon backtesting, and (3) the metadata (roll dates, adjustment factors) needed to build your own continuous series. Vendors differ enormously on all three, and on price — from free daily CSVs (Stooq, Kinetick EOD) to per-GB tick data (Databento) to five-figure institutional tick archives (TickData, Portara).
A second complication is specific to our list: several target contracts are young. The micro equity indices (MES, MNQ, M2K) only launched in May 2019, Micro WTI (MCL) in July 2021, 1-Ounce Gold (1OZ) on January 13, 2025, and 100-Ounce Silver (SIC) on February 9, 2026. No vendor can sell deep history that does not exist, so for these products the practical strategy is to backtest on the parent/benchmark contract (ES for MES, GC for 1OZ, SI for SIC/QI, CL for MCL/QM) and trade the small contract. That makes vendor coverage of the benchmark contracts — and explicit coverage checks for the new micros, which many vendors still have not listed — a key evaluation criterion below.
Finally, note one industry-wide event during the research window: Polygon.io rebranded to Massive (massive.com) on October 30, 2025, and its futures API left beta and reached stable v1; polygon.io URLs now 301-redirect to massive.com. Anything in older notes referencing "Polygon futures beta" should be read as "Massive futures (GA)".
Concepts: continuous-contract construction
A continuous contract splices many expiring contracts into one series. Two decisions define every splice: when to roll and how (or whether) to adjust prices at each roll. Key references: Databento's microstructure guide on continuous contracts, Norgate's futures package notes, and FirstRate Data's price-adjustment documentation.
Roll-date conventions:
- Calendar rolls — roll on a fixed rule tied to expiry: e.g., Norgate rolls "the business day before the last trading day" for cash-settled contracts and "the business day before First Notice Day" for physically-deliverable contracts (source). Databento's calendar symbology is
ES.c.0(lead contract by expiration order) (source). - Open-interest rolls — roll when the next contract's open interest exceeds the front's; Databento notation
ES.n.0ranks contracts "by open interest at the previous day's close" (source). - Volume rolls — roll when volume migrates; Databento notation
ES.v.0ranks by previous-day volume (source). TickData ships vendor-recommended roll dates with its futures product (source).
Price-adjustment methods:
- Unadjusted (spliced) — actual traded prices with gaps at each roll; fine for microstructure work, wrong for long-horizon PnL simulation. Offered by FirstRate ("actual historic traded prices with no adjustments", source), Norgate, Kibot.
- Back-adjustment / difference / "Panama" method — shift all history by the cumulative roll gap (arithmetic add/subtract) so the front of the series matches current prices; preserves point differences (and therefore dollar PnL per contract) but distorts percentage returns and can produce negative prices deep in history. Norgate's back-adjusted continuous is "calculated arithmetically" (source); FirstRate calls this "absolute adjusted" (source).
- Ratio adjustment — multiply history by the roll-price ratio; preserves percentage returns (best for return-based/percent-risk backtests) but distorts point differences. Offered by FirstRate (source) and Portara ("zero, forward, ratio, and back adjustment" roll methods, source).
- Databento deliberately serves unadjusted data under its continuous symbology and leaves adjustment to the user (an adjusted-series feature sits on its public roadmap).
Practical guidance for this project: for the quarterly equity indices (ES/NQ/YM/RTY and micros) volume-based or fixed "8 days before expiry" rolls are nearly equivalent; for energy (monthly cycle, deliverable CL vs financially-settled QM/MCL/BZ variants) roll conventions materially change the series, so store per-contract data plus roll metadata and build continuous series in code rather than relying on a vendor's single choice.
Free / official sources
CME Group website (delayed quotes, settlements, volume/OI)
| Field | Value |
|---|---|
| What it is | CME Group's own site publishes free daily settlement prices, delayed quotes, and volume/open-interest pages for every listed contract, plus product calendars |
| Coverage | All target symbols by definition (ES, MES, NQ, MNQ, YM, RTY, M2K, MCL, QM, BZ, 1OZ, QO, QI, SIC) — it is the listing exchange |
| Granularity | Daily settlements, per-contract; 10-minute-delayed intraday quotes on the site |
| History depth | Settlement pages show recent sessions only; no bulk deep history without DataMine (see commercial section) |
| Latency / updates | Delayed quotes intraday; settlements published after each session |
| Access method | Web pages; no supported free bulk API (scraping is against ToS) |
| Cost | Free (as of 2026-07-11) |
| Pricing page | https://www.cmegroup.com/markets/equities/sp/e-mini-sandp500.settlements.html |
| Licensing / redistribution | Site data for personal viewing; redistribution/systematic capture not licensed |
| Reliability caveats | Not a historical archive — useful for spot-checking vendor settlements and for confirming new-product listing dates (e.g., 1OZ, SIC), not for building datasets |
| Best for | Ground-truth verification of settlements and contract specs; confirming coverage of newly launched 1OZ/SIC |
Stooq
| Field | Value |
|---|---|
| What it is | Free Polish market-data site with downloadable daily history for world markets, including continuous futures symbols like ES.F (overview) |
| Coverage | Continuous front-month style series for major futures (ES.F, NQ.F, GC.F, CL.F, SI.F etc.); micro contracts and new products (MES, 1OZ, SIC) — Unknown — verify |
| Granularity | Daily (bulk DB downloads also advertise hourly/5-min for some series — verify per symbol) |
| History depth | "historical data going back over 20 years" per third-party documentation (QuantStart); exact per-symbol depth — Unknown — verify |
| Latency / updates | EOD |
| Access method | CSV download per symbol (https://stooq.com/q/d/l/?s=es.f&i=d) and bulk ASCII database dumps at stooq.com/db/h/; no official API |
| Cost | Free (as of 2026-07-11; note the site served an anti-bot JavaScript challenge to automated requests during this session, so free access was confirmed via docs, not live download) |
| Pricing page | https://stooq.com/db/h/ |
| Licensing / redistribution | Terms not published in English; assume personal research use only — Unknown — verify |
| Reliability caveats | Undocumented roll/adjustment methodology for .F continuous series; daily download limits reported by users; anti-bot measures break automated pipelines |
| Best for | Zero-cost daily continuous series for prototyping; not suitable as a production data source |
Yahoo Finance via yfinance
| Field | Value |
|---|---|
| What it is | Community Python library (yfinance) scraping Yahoo Finance's unofficial API; futures available as front-month symbols like ES=F, NQ=F, GC=F, CL=F, SI=F |
| Coverage | Benchmark front-month symbols; micros exist for some (MES=F, MNQ=F) — per-symbol availability of MCL/QM/BZ/1OZ/QO/QI/SIC — Unknown — verify |
| Granularity | 1m/2m/5m/15m/30m/60m/90m intraday and 1d/1wk/1mo daily+ |
| History depth | Daily: years (varies by symbol). Intraday hard limits: 1-minute data only for the last ~7 days per request / ~30 days total; intervals 2m–90m limited to the last 60 days; 60m/1h extend to ~730 days (corrected as of 2026-07-11 — Yahoo's error messages quoted in yfinance issue #2451 show a 60-day cap for 2m/5m but a 730-day cap for 1h; see also AlgoTrading101 guide) |
| Latency / updates | Near-real-time delayed quotes; EOD history |
| Access method | Python client (yf.download("ES=F")) |
| Cost | Free (as of 2026-07-11) |
| Pricing page | https://github.com/ranaroussi/yfinance |
| Licensing / redistribution | Yahoo ToS prohibit redistribution; API is unofficial and can break without notice |
| Reliability caveats | Front-month only — ES=F is Yahoo's own splice with undocumented roll and no back-adjustment; no expired individual contracts; documented weekend/session gaps for futures (issue #1021); silent data revisions |
| Best for | Quick exploratory charts and sanity checks; never for backtests that cross roll dates |
Kinetick (free End-of-Day)
| Field | Value |
|---|---|
| What it is | NinjaTrader-affiliated market data feed whose EOD tier is "Always FREE for End of Day Data" including futures (kinetick.com) |
| Coverage | CME Group futures including our equity-index and NYMEX/COMEX targets; per-symbol coverage of 1OZ/SIC — Unknown — verify |
| Granularity | EOD free; historical tick/minute/EOD included with the paid real-time subscription |
| History depth | Unknown — verify (NinjaTrader platform typically serves years of daily and ~months of minute data through Kinetick) |
| Latency / updates | EOD (free tier); real-time on paid tier |
| Access method | Via NinjaTrader desktop platform connection (no standalone REST API) |
| Cost | Free for EOD; real-time subscription $81.11/month plus reduced CME non-pro exchange fees (unverified — kinetick.com unreachable (HTTP 521) when re-checked 2026-07-11, kinetick.com) |
| Pricing page | https://kinetick.com/ |
| Licensing / redistribution | Personal platform use; no redistribution |
| Reliability caveats | Locked to the NinjaTrader ecosystem; free tier is EOD only |
| Best for | Free daily bars inside NinjaTrader; backup feed for a NinjaTrader-based workflow |
Barchart.com free site
| Field | Value |
|---|---|
| What it is | Free registered accounts on Barchart.com can view and download limited price history per symbol (help article) |
| Coverage | Essentially all CME Group futures pages incl. micros and new listings; per-contract historical-download pages exist per symbol (e.g., TN*0 example) |
| Granularity | Daily (free); intraday reserved for Premier |
| History depth | Free/standard members: "up to 2 years" of daily history (help article) |
| Latency / updates | EOD; delayed quotes on site |
| Access method | Web download (CSV) from Price History pages |
| Cost | Free (as of 2026-07-11) |
| Pricing page | https://www.barchart.com/get-barchart-premier |
| Licensing / redistribution | Personal use; no redistribution |
| Reliability caveats | 2-year cap makes it unusable for serious backtests; download counts limited by membership level |
| Best for | Spot checks and small samples; gateway to Premier (see commercial section) |
Nasdaq Data Link (Quandl) — Wiki Continuous Futures (CHRIS) / Stevens (SCF) — defunct
| Field | Value |
|---|---|
| What it is | The formerly popular free CHRIS continuous-futures database and paid Stevens SCF database on Quandl/Nasdaq Data Link |
| Coverage | Historically ~600 continuous futures incl. CME ES/NQ/CL/GC/SI |
| Granularity | Daily |
| History depth | n/a — dataset is dead (see caveats) |
| Latency / updates | Not updated. Community reports the Wiki continuous futures stopped updating around 31 December 2020 (AmiBroker forum thread); as of 2026-07-11 both data.nasdaq.com/databases/CHRIS and data.nasdaq.com/databases/SCF return HTTP 404 (verified this session) |
| Access method | Legacy REST endpoints (/api/v3/datasets/CHRIS/CME_ES1) may still respond with stale data behind Incapsula bot-protection — automated access from this session was blocked |
| Cost | Was free (CHRIS); n/a now |
| Pricing page | https://data.nasdaq.com/publishers/QDL |
| Licensing / redistribution | n/a |
| Reliability caveats | Do not build on this. Any tutorial or codebase referencing CHRIS/CME_ES1 is stale |
| Best for | Nothing current — documented here so the team does not rediscover it; historical snapshots only |
Commercial sources
CME DataMine (official exchange historical data)
| Field | Value |
|---|---|
| What it is | CME Group's own historical data store: "50+ datasets", "5,000+ products", "earliest dataset available dates back to 1972" (datamine page) |
| Coverage | All CME/CBOT/NYMEX/COMEX products, including every target symbol from its listing date — the authoritative source for 1OZ (Jan 2025) and SIC (Feb 2026) from day one |
| Granularity | Market-by-Order (MBO), Market Depth (MBP), Top-of-Book/BBO, Time & Sales, End-of-Day, Block Trades, raw PCAP (datasets wiki) |
| History depth | To 1972 for the oldest datasets; MBO/PCAP from the MDP 3.0 era (2017+); varies per dataset — verify per product |
| Latency / updates | T+1 historical files |
| Access method | Data API, SFTP, automatic S3 transfer, web file browser, "Custom Select" (datamine page) |
| Cost | Contact sales — priced per dataset/product/month; no public price list (as of 2026-07-11). Third-party writeups describe subscription pricing varying by dataset and depth (QuantVPS guide, unofficial) |
| Pricing page | https://www.cmegroup.com/market-data/datamine-historical-data.html |
| Licensing / redistribution | Requires CME license agreements ("complete the required license agreements"); internal-use licensing; redistribution licensed separately |
| Reliability caveats | Enterprise-oriented purchase flow; raw formats (FIX/MDP) require significant engineering vs. vendor-normalized data |
| Best for | Authoritative deep tick history and audit-grade data when budget allows; source of truth all resellers derive from |
Databento
| Field | Value |
|---|---|
| What it is | Usage-based market data API; CME Globex dataset GLBX.MDP3 with normalized schemas from tick to daily (dataset page) |
| Coverage | Full CME/CBOT/NYMEX/COMEX feed — all target symbols incl. micros and new listings from their launch dates (catalog browsable per product, e.g. GC) |
| Granularity | MBO, MBP-1, MBP-10, trades, TBBO, OHLCV (1s/1m/1h/1d), statistics, definitions (pricing page) |
| History depth | Back to 2010-06-06 for CME (backfilled from CME's legacy FIX/FAST feed via DataMine; pre-2017 granularity capped at MBP-10, MBO only from MDP 3.0 launch May 21 2017) (blog: CME history extended to 2010) |
| Latency / updates | Historical available intraday-next-day; live feed offered on subscription plans |
| Access method | REST/batch flat files (DBN/CSV/Parquet), live gateway; Python/C++/Rust clients; continuous-contract symbology ES.c.0 / ES.n.0 / ES.v.0 (calendar / open-interest / volume rolls, unadjusted prices) (blog) |
| Cost | Pay-as-you-go per GB (rates vary by schema/dataset; exact quote via cost calculator or metadata.get_cost API); plans: Standard $179/mo, Plus $1,500/mo (annual), Unlimited $4,000/mo (annual); new users get $125 free credits — all as of 2026-07-11 (pricing) |
| Pricing page | https://databento.com/pricing |
| Licensing / redistribution | "Most of our datasets can be redistributed internally or externally after 24 hours" (varies by publisher) (pricing); no separate CME license needed on standard plans |
| Reliability caveats | Pre-2017 timestamps are SendingTime-sourced (no PCAP-grade capture times); reported empty days 2010-09-13 and 2010-11-17 (unverified — not found on the cited Databento blog, docs, or issue tracker as of 2026-07-11); continuous symbols are unadjusted — you build your own back-adjustment |
| Best for | The project's likely primary source: per-contract tick/bar data with programmatic cost control, modern API, and explicit roll symbology |
Massive (formerly Polygon.io) — Futures API
| Field | Value |
|---|---|
| What it is | Polygon.io rebranded to Massive on 2025-10-30 (announcement); its futures product covers "CME Globex market data, including CBOT, CME, NYMEX, and COMEX" with "10+ years of trades and quotes" (product page), promoted from beta to stable v1 (changelog) |
| Coverage | CME Group four exchanges; per-symbol coverage of 1OZ/SIC — Unknown — verify via their contracts endpoint |
| Granularity | Trades, quotes, aggregates (bars); technical indicators "Coming Soon" (plan matrix, verified 2026-07-11) |
| History depth | Plan-gated: Basic & Starter 2 years, Developer 5 years, Advanced 7+ years (pricing plan matrix, as of 2026-07-11); marketing claims 10+ years of trades/quotes on the product page — reconcile before purchase |
| Latency / updates | Basic: historical/EOD; Starter & Developer: 10-minute delayed; Advanced: real-time (plan matrix, as of 2026-07-11) |
| Access method | REST API, WebSocket streaming, daily flat-file (CSV) downloads (docs overview) |
| Cost | Futures Basic $0; Futures Starter $29/mo; Futures Developer $79/mo; Futures Advanced $199/mo (monthly billing; annual equivalents $288/$768/$1,920 per year) — as of 2026-07-11, read from the pricing page's embedded plan data (pricing) |
| Pricing page | https://massive.com/pricing?product=futures |
| Licensing / redistribution | Personal license on self-serve plans (plan metadata shows license_type: personal); business licensing separate (business futures) |
| Reliability caveats | Product only recently GA'd (2025/2026) — history depth still shallow vs. Databento/IQFeed; no continuous-contract construction, per-contract symbols only |
| Best for | Cheap unlimited-API-call access to recent CME history with a genuinely free tier; flat files for bulk recent bars |
dxFeed
| Field | Value |
|---|---|
| What it is | Institutional market-data vendor (Devexperts spin-off); futures feeds plus historical data services and tick-level "onDemand" market-replay (unverified — dxfeed.com blocked automated access (HTTP 403) again on 2026-07-11) |
| Coverage | "futures and futures options from the main US, EU and Turkey exchanges" incl. CME Group (futures page) |
| Granularity | Tick-level (quotes/trades) and aggregated bars; full-market replay via onDemand |
| History depth | Unknown — verify (vendor states multi-year millisecond tick storage, "up to 10Tb of raw data every day" ingested) |
| Latency / updates | Real-time, delayed, and historical streams |
| Access method | Java/C++/.NET/Python APIs, web REST, onDemand replay API, bulk file delivery (order page) |
| Cost | Contact sales (as of 2026-07-11; no public price list — site blocked automated fetch this session, pricing sales-gated). Retail resellers exist (e.g., Optimus Futures dxFeed) |
| Pricing page | https://dxfeed.com/order-data-for-business/ |
| Licensing / redistribution | Negotiated per contract; exchange fees passed through |
| Reliability caveats | Institutional sales cycle; overkill unless the project needs replay-grade data across many venues |
| Best for | Institutional-grade tick replay if the project outgrows retail APIs |
DTN IQFeed
| Field | Value |
|---|---|
| What it is | Long-running retail/prosumer streaming feed with deep bundled history and a socket API (iqfeed.net) |
| Coverage | US futures incl. CME/CBOT/NYMEX/COMEX (all target symbols expected; verify 1OZ/SIC symbol availability) |
| Granularity | Tick (with microsecond timestamps), minute, daily/weekly/monthly |
| History depth | Tick: 180 calendar days; 1-minute: 11+ years ("eminis from Sept 2005", US futures/indexes from May 2007); daily: "Up to 80+ years" depending on instrument (services page, verified 2026-07-11) |
| Latency / updates | Real-time streaming; historical served on demand via the same connection |
| Access method | Desktop client + TCP socket API (used by many platforms); API access is an add-on to a normal subscription (API fees page) |
| Cost | Core service $108.15/mo; RT US futures & futures-options surcharge $24.87/mo; market-depth surcharge $24.15/mo; $50 startup fee; exchange fees extra — per-exchange line items on the fee page list CME/CBOT/NYMEX/COMEX at $139.57/mo each, shown identically in both the Non-Professional and Professionals columns (fee table dated December 1, 2025; a "CME Fee Waiver" program is referenced — confirm applicability with DTN before ordering) — all as of 2026-07-11 (fee schedule) |
| Pricing page | https://www.iqfeed.net/index.cfm?displayaction=data§ion=fees |
| Licensing / redistribution | Personal display/API use; no redistribution; storage of downloaded history for own research customary but verify contract |
| Reliability caveats | Tick history capped at 180 days — must archive continuously; Windows-centric client; fee page lists identical pro/non-pro CME-exchange fees ($139.57) — confirm the applicable rate and CME Fee Waiver before ordering |
| Best for | Deep 1-minute history (2005+) at a fixed monthly cost; feeding NinjaTrader/Sierra-style platforms and custom pipelines simultaneously |
Norgate Data
| Field | Value |
|---|---|
| What it is | EOD data specialist with a futures package: "30+ year individual contract daily price history", "pre-built continuous contracts" (prices page) |
| Coverage | ~100 futures markets, selective. Confirmed in data content tables: ES (Sep 1997), MES (Jun 2019), NQ (Jul 1999), MNQ (Jun 2019), YM (Apr 2002), MYM (May 2019), RTY (Oct 2001), M2K (Jun 2019), CL (Mar 1983), GC (Oct 1979), SI (Mar 1978). Not listed: MCL, QM, BZ, QO, QI, 1OZ, SIC — gaps for our energy/metals minis & micros |
| Granularity | Daily (EOD) only |
| History depth | "back to around 1980 or to the first day of trading" (futures package) |
| Latency / updates | End-of-day updates |
| Access method | Proprietary updater + plugins (AmiBroker, Wealth-Lab, RightEdge) and Python/Zipline packages |
| Cost | Futures package: USD $148.50 / 6 months or USD $270 / 12 months (as of 2026-07-11, futures package page) |
| Pricing page | https://norgatedata.com/prices.php |
| Licensing / redistribution | Single-user subscription; data for personal research/backtesting, no redistribution |
| Reliability caveats | EOD only — useless for intraday work; energy/metals micro & mini contracts absent; continuous series are spot-month with arithmetic back-adjustment (documented roll rules: day before LTD for cash-settled, day before FND for deliverable) |
| Best for | Cheap, clean, survivorship-aware daily futures history with well-documented continuous contracts for the equity-index complex + benchmark CL/GC/SI |
FirstRate Data
| Field | Value |
|---|---|
| What it is | Downloadable historical intraday datasets; "Futures — Most Active (130 Most Active Futures)" bundle (bundle page) |
| Coverage | 130 most-active contracts (ES, NQ, CL, GC, SI class contracts included; verify each micro — MCL/M2K listing status unknown; 1OZ/SIC almost certainly absent given "most active" screen) |
| Granularity | 1-minute, 5-minute, 30-minute, 1-hour, 1-day bars; separate tick archive (trades+quotes) from 2010 at tick.firstratedata.com (note: as of 2026-07-11 that URL redirects to firstratedata.com/tick-data, which lists stocks/ETFs/FX/crypto only — futures tick availability unconfirmed) |
| History depth | Bundle: back to 2007/2008 depending on contract (page states earliest 2008; site marketing says "starting back to 2007"); all tickers updated to 2026-07-10 at time of check (bundle page) |
| Latency / updates | Daily updates "available by 11.45 pm EST" (firstratedata.com); bundles include 1 month of free updates, then $59.95/mo (as of 2026-07-11, bundle page); site-wide note: updates approx $60–$100/mo thereafter (bundles page) |
| Access method | Zip/CSV web download; API access for bundle customers |
| Cost | Bundle purchase price not rendered statically on the page — Unknown — verify on order page; updates $59.95/mo after first free month (as of 2026-07-11); futures tick-data pricing not listed on the tick pricing page — verify |
| Pricing page | https://firstratedata.com/b/29/ |
| Licensing / redistribution | Single-license research use; no redistribution |
| Reliability caveats | One-time-purchase model means stale data unless you keep paying updates; continuous series provided in three variants (unadjusted, absolute-adjusted, ratio-adjusted) but roll rule is vendor-fixed |
| Best for | One-shot purchase of clean 1-minute bars back to ~2007 with all three continuous-adjustment variants included |
Portara (CQG historical / PortaraCQG)
| Field | Value |
|---|---|
| What it is | Institutional historical futures archive built on CQG data: daily from 1899, intraday and tick from 1987 (portaracqg.com) |
| Coverage | Thousands of global futures incl. emini S&P, emini Nasdaq, emini Dow, micro contracts, gold, crude (portaracqg.com) |
| Granularity | Daily; 1-minute (custom compressions 2–60 min, hourly); tick in trades-only and Level-1-quote formats |
| History depth | "Up to 123 years" daily (from 1899); 45+ years intraday/tick (from 1987) (portaracqg.com) |
| Latency / updates | Historical product with update subscriptions |
| Access method | ASCII TXT/CSV exports; Roll Manager tooling for custom continuous series (zero/forward/ratio/back adjustment; roll dates customizable or file-driven) |
| Cost | Contact sales (as of 2026-07-11; site advertises "singular or multiple licences and discounting options", no public prices) |
| Pricing page | https://portaracqg.com/ |
| Licensing / redistribution | Licensed per user/site; no redistribution |
| Reliability caveats | Expensive institutional product (unofficial reputation: thousands of USD per portfolio); pre-electronic-era data is pit-session data — mind session-time semantics |
| Best for | The deepest intraday futures history available anywhere (1987+) when multi-decade intraday backtests justify the cost |
CQG Data Factory
| Field | Value |
|---|---|
| What it is | CQG's self-serve historical data shop: "Order and download accurate, top-quality data from over 60 exchanges" (cqgdatafactory.com) |
| Coverage | Global futures incl. all CME Group exchanges; symbol search shows availability per contract |
| Granularity | Time & Sales (tick, with bid/ask), 1-min bars, 2–60-min bars, daily bars, daily volume/OI |
| History depth | EOD "back to 1970's and earlier", some data to the 1930s; intraday "from late 1990's"; sub-minute timestamps from late 2013 (cqgdatafactory.com, FAQ) |
| Latency / updates | One-time orders or monthly update subscriptions |
| Access method | Web shop + downloadable files; free samples available |
| Cost | Futures, per commodity per calendar month of data: Time & Sales $16.00; T&S w/ trade volume $27.00; 1-min $14.00; 2–60-min $12.00; daily bar $7.00; daily V/OI $7.00 (free when bundled with other data, same commodity/dates) — as of 2026-07-11 (pricing page) |
| Pricing page | https://www.cqgdatafactory.com/?page=pricing |
| Licensing / redistribution | Personal/internal research use; no redistribution |
| Reliability caveats | Per-commodity-month pricing adds up fast for tick data across decades (e.g., one symbol tick since 2008 ≈ 216 months × $16 ≈ $3.5k); dated web storefront |
| Best for | Surgical purchases — e.g., a few years of 1-min or daily history for exactly the contracts you need, without subscriptions |
Tick Data, LLC (TickData / OneMarketData)
| Field | Value |
|---|---|
| What it is | Institutional historical tick archive; "over 280 global futures contracts" with validation/cleaning and the TickWrite tool (futures product). Note: site brands parent as OneMarketData, LLC — the "a Cboe company" tag in our brief was NOT confirmed on tickdata.com as of 2026-07-11 (tickdata.com) |
| Coverage | Includes ES (trades from Sep-97), NQ (Jul-99), CL (Jan-87), GC (Jan-84), SI (COMEX Silver, listed under TickData code SV: trades Dec-83, quotes Jan-10); micros MES/MNQ (May-19), MCL (Jul-21), MGC (Oct-10); symbol list last updated 2026-02-17 (available futures) — 1OZ/SIC/QO/QI absent from the on-page symbol list (verified 2026-07-11) |
| Granularity | Tick-by-tick trades; Level-1 quotes (bid/ask w/ size) from Jan 4 2010; millisecond timestamps from Jul 2011 (file format guide) |
| History depth | Trades to the 1980s–90s per contract (see coverage); quotes 2010+ |
| Latency / updates | Historical files with update subscriptions |
| Access method | Zipped ASCII/CSV delivery; TickWrite 7 / TickWrite Web / TickAPI build custom series incl. continuous files with recommended roll dates |
| Cost | Contact sales (as of 2026-07-11; order portal quote-based). Unofficial: institutional pricing, typically thousands of USD per multi-symbol/multi-decade order |
| Pricing page | https://www.tickdata.com/product/historical-futures-data/ |
| Licensing / redistribution | Institutional license; internal use; no redistribution |
| Reliability caveats | Pre-2010 data is trades-only (no quotes); pit vs electronic session handling requires care |
| Best for | Research-grade cleaned tick trades back to the 1980s for CL/GC/SI and 1997+ for ES when quote data pre-2010 is not required |
Barchart Premier (web downloads)
| Field | Value |
|---|---|
| What it is | Barchart's paid membership unlocking bulk historical downloads for any symbol incl. futures (get-barchart-premier) |
| Coverage | All Barchart futures symbols (CME Group complete, incl. micros; "Nearby" continuous series built off expired contracts) |
| Granularity | 1-minute and up intraday; daily/weekly/monthly/quarterly |
| History depth | Intraday ~10 years back at 1-minute; daily to 2000-01-01; weekly/monthly/quarterly to 1980-01-01 (help article) |
| Latency / updates | EOD site data; downloads on demand (max 10,000 records per request) |
| Access method | Web CSV downloads (Historical Data Download pages, watchlists, screeners) |
| Cost | Premier $29.95/mo billed monthly, or from $19.99/mo billed annually ($239.95/yr); first 30 days free. Barchart Plus (mid tier): $99.00/yr. All as of 2026-07-11, read from the signup page's embedded pricing data (get-barchart-premier) |
| Pricing page | https://www.barchart.com/get-barchart-premier |
| Licensing / redistribution | Personal use; download caps (site advertises "up to 250 downloads per day" class limits — verify current number) |
| Reliability caveats | Manual/web-driven (no API at this tier); "Nearby" continuous roll methodology is vendor-fixed and lightly documented |
| Best for | Cheapest legitimate access to ~10 years of 1-minute futures bars without an API requirement |
Barchart OnDemand (API) / Barchart Solutions
| Field | Value |
|---|---|
| What it is | Barchart's commercial data API business (getQuote/getHistory-style REST/SOAP APIs) (OnDemand page, futures data solutions) |
| Coverage | Full futures universe incl. CME Group; historical + intraday + continuation series |
| Granularity | Tick/minute/daily via API endpoints (per docs) |
| History depth | Unknown — verify per endpoint (marketed as "Historical and Intraday Futures Price Data") |
| Latency / updates | Real-time/delayed/EOD options |
| Access method | REST (GET/POST) and SOAP, JSON/XML/CSV output; API key |
| Cost | Contact sales; free trial "to test the API with limited requests" (as of 2026-07-11, OnDemand page). Unofficial: reported to start around several hundred USD/month for commercial use |
| Pricing page | https://www.barchart.com/solutions/services/ondemand |
| Licensing / redistribution | Commercial license; display and non-display use cases priced separately |
| Reliability caveats | Sales-gated; per-call quotas on trial |
| Best for | Teams wanting one commercial API for futures history + fundamentals + news with contractual support |
CSI Data (Commodity Systems Inc.)
| Field | Value |
|---|---|
| What it is | Veteran EOD futures data shop; Unfair Advantage desktop software with daily updates (csidata.com) |
| Coverage | "most world markets back to the first day of trading" — thousands of global futures series incl. CME Group |
| Granularity | Daily (EOD) |
| History depth | To first day of trading for most markets (multi-decade) |
| Latency / updates | Daily updates at each session close |
| Access method | Unfair Advantage desktop app; exports to third-party formats; no modern public REST API mentioned on site |
| Cost | Technical Analysis (Unfair Advantage) from $25/mo; Correlation Lab $99/yr; 21-day trial $20; custom quotes for deep history — as of 2026-07-11 (csidata.com) |
| Pricing page | https://www.csidata.com/ |
| Licensing / redistribution | Single-user; historical export/portability restrictions in license — verify before pipeline use |
| Reliability caveats | Dated tooling; continuous/"Perpetual Contract" methodology exists historically but was not visible on the current site — Unknown — verify |
| Best for | Long multi-decade daily histories at low cost, if the team tolerates legacy software |
Kibot
| Field | Value |
|---|---|
| What it is | Budget historical intraday shop; futures packages covering "every futures market and every individual contract (9,600+ contracts)" (kibot.com) |
| Coverage | Symbol table (verified 2026-07-11) includes ES (start 1997-09-09), NQ (1999-06-21), MES/MNQ (2019-05-03), RTY (2017-06-02), YM (2002-04-05), QM (2004-12-06), BZ (2007-07-30), GC, SI, MGC, SIL, CL. Absent from table: M2K, MCL, MYM, 1OZ, SIC. Data-quality red flag: QO and QI rows are mislabeled "Micro E-mini S&P 500 / Nasdaq-100" (futures page) |
| Granularity | Tick with bid/ask; 1-minute; daily. Continuous and individual contracts |
| History depth | Marketing: 64 years daily, 28+ years minute, 17+ years tick w/ bid-ask; the all-futures packages state "since 2009" (all-futures tick page) |
| Latency / updates | Daily updates included with subscription access |
| Access method | HTTP download / simple URL-based API; CSV |
| Cost | All Futures Continuous + Individual Contracts, 1-minute: $820.00 one-time; All Futures tick + bid/ask: $3,750.00 one-time (both "no per-symbol fees and no subscription") — as of 2026-07-11 (1-min page, tick page) |
| Pricing page | https://www.kibot.com/buy.html |
| Licensing / redistribution | Lifetime access to purchased files; personal use; no redistribution |
| Reliability caveats | Community-questioned quality (Elite Trader thread); observed symbol-table mislabeling (QO/QI); continuous series are unadjusted only — verify adjustment options |
| Best for | Cheapest bulk all-futures 1-minute archive if quality checks pass; not for micros missing from its table |
Sierra Chart — Denali Exchange Data Feed
| Field | Value |
|---|---|
| What it is | Sierra Chart's own CME data feed with bundled historical data (Denali docs) |
| Coverage | Full CME/CBOT/NYMEX/COMEX incl. depth; all target symbols expected (new listings appear as exchange lists them) |
| Granularity | Tick-by-tick with up to 1,400 depth levels/side; historical intraday and daily |
| History depth | CME tick data from 2011; 1-minute from June 2008 (Denali docs, verified 2026-07-11) |
| Latency / updates | Real-time (non-pro exchange fees required); historical served from Sierra servers |
| Access method | Sierra Chart platform (DTC protocol; scripted export possible) |
| Cost | Requires a Sierra Chart service package (from ~$36/mo — verify current package pricing) plus exchange fees: full CME Group bundle with depth $40.50/mo; without depth $6.00/mo; single-exchange CME top-of-book $2.00/mo; per-exchange with depth $13.50/mo (non-professional, as of 2026-07-11, Denali docs) |
| Pricing page | https://www.sierrachart.com/index.php?page=doc/DenaliExchangeDataFeed.php |
| Licensing / redistribution | Platform use only; no redistribution; data usable inside Sierra for backtesting |
| Reliability caveats | Data lives inside the Sierra ecosystem (SCID files) — exporting to external pipelines takes work |
| Best for | Very cheap real-time+historical CME depth data for discretionary/Sierra-based research; 2008+ minute archive included |
QuantConnect (AlgoSeek US Futures dataset)
| Field | Value |
|---|---|
| What it is | Cloud backtesting platform whose US Futures dataset (by AlgoSeek) covers "157 of the most liquid futures contracts" (dataset docs) |
| Coverage | CME, CBOT, COMEX, NYMEX (+ CFE, ICE sugar); liquid contracts — ES/NQ/CL/GC/SI class included; newest micros/1OZ/SIC — Unknown — verify in symbol list |
| Granularity | Tick, second, minute, hour, daily (dataset docs) |
| History depth | Since May 2009 |
| Latency / updates | Daily updates in cloud; live via QC live-trading |
| Access method | LEAN engine in QC cloud (free tier includes futures data in backtests); local downloads cost QCC credits; continuous contracts built by LEAN using the US Futures Security Master |
| Cost | Cloud backtesting with futures data: free tier available; paid tiers (Researcher/Team/Trading Firm) priced via site configurator — exact amounts not displayed statically, Unknown — verify (pricing) |
| Pricing page | https://www.quantconnect.com/pricing |
| Licensing / redistribution | Data usable inside LEAN/QC; bulk export restricted; local data licensed per file via QCC |
| Reliability caveats | Volumes exclude pit trades (differs from CME official volume); data tied to platform |
| Best for | Renting institutional-grade tick-to-daily futures data inside a ready-made backtest engine instead of buying data |
Interactive Brokers (TWS API historical data)
| Field | Value |
|---|---|
| What it is | Broker-bundled historical bars/ticks via TWS API for account holders (historical data docs) |
| Coverage | All CME Group futures tradable at IB (incl. micros, 1OZ; SIC expected — verify), given the right market-data subscription |
| Granularity | Bars from 1 sec to 1 month; limited historical ticks |
| History depth | Live contracts: years of daily/minute (varies); expired futures: only ~2 years after expiration (includeExpired=True) (historical limitations); bars ≤30 sec unavailable older than 6 months |
| Latency / updates | On-demand requests against IB servers |
| Access method | TWS API (Python/Java/C++), Client Portal API; severe pacing rules: max 50 simultaneous requests, no identical request within 15 s, ≤6 requests/contract/2 s, ≤60 requests/10 min; BID_ASK counts double (limitations) |
| Cost | Free with funded account + required market-data subscriptions; CME non-pro subscription fees are listed dynamically on IB's market data pricing page — exact amount Unknown — verify (page blocked automated fetch); CME's own Jan 2026 fee list: PDF |
| Pricing page | https://www.interactivebrokers.com/en/pricing/market-data-pricing.php |
| Licensing / redistribution | Personal account use only; storing for own research tolerated, redistribution prohibited |
| Reliability caveats | The 2-year expired-contract window makes IB unusable as a primary futures history source; pacing limits make bulk pulls slow; bars are IB-aggregated (no raw trades) |
| Best for | Topping up recent history and validating execution prices against the broker actually used for trading |
Tradovate (broker-bundled)
| Field | Value |
|---|---|
| What it is | Futures broker (NinjaTrader Group) whose API/platform exposes chart history to account holders (api.tradovate.com) |
| Coverage | CME Group futures tradable on the platform (incl. micros; 1OZ/SIC — verify) |
| Granularity | Tick charts, minute bars, daily bars via chart subscription API |
| History depth | Community/support documentation: tick-based charts ~2 weeks back; minute charts back to 2017-01-01; daily further (support article — page unreachable again (HTTP 503) on 2026-07-11, cross-referenced with forum) (unverified) |
| Latency / updates | Real-time with funded account (top-of-book included) |
| Access method | WebSocket/REST API (md/getChart), Market Replay in platform |
| Cost | Brokerage plans: Free ($0/mo, higher per-side commissions), Monthly $99/mo, Lifetime $1,499 one-time (as of 2026-07-11, tradovate.com/pricing); data included with approved funded account; CME exchange fees apply |
| Pricing page | https://www.tradovate.com/pricing/ |
| Licensing / redistribution | Account holder use only |
| Reliability caveats | Not a data product — history depth is shallow and API is trading-oriented; historical tick beyond 2 weeks requires add-ons |
| Best for | Live/paper trading integration; incidental recent history for the exact venue you'd execute on |
NinjaTrader (platform + brokerage data)
| Field | Value |
|---|---|
| What it is | Futures platform/broker; free platform tiers with data via its brokerage or Kinetick (ninjatrader.com/pricing) |
| Coverage | CME Group futures (incl. micros); 1OZ/SIC — verify |
| Granularity | Tick, minute, daily in-platform; Market Replay for tick-level playback |
| History depth | Unknown — verify (platform historical servers typically supply ~years of minute/daily, days-weeks of tick) |
| Latency / updates | Real-time top-of-book with funded account; "free 14-day trial of streaming live market data" on account opening (pricing) |
| Access method | NinjaTrader 8 desktop; NinjaScript (C#) for programmatic access/export |
| Cost | Platform: Free plan ($0/mo, $0.39/side micros), $99/mo plan ($0.29/side micros), Lifetime $1,499 ($0.09/side micros) — as of 2026-07-11 (pricing); exchange/clearing/NFA fees extra; free EOD via Kinetick |
| Pricing page | https://ninjatrader.com/pricing/ |
| Licensing / redistribution | Platform use only |
| Reliability caveats | Data quality/history depth secondary to the brokerage business; historical data tied to vendor connections |
| Best for | Execution venue + free EOD (Kinetick) and replay testing; not a primary history archive |
TradingView (adjacent)
| Field | Value |
|---|---|
| What it is | Charting platform with CME futures charts (e.g., MES1!) and CSV export of chart data on paid plans |
| Coverage | All CME Group futures incl. continuous 1!/2! symbols and back-adjusted toggle |
| Granularity | 1-minute and up (plan-dependent; seconds bars on premium tiers) |
| History depth | Plan-dependent bar-count limits (deeper intraday history on higher tiers) — Unknown — verify per plan |
| Latency / updates | Delayed CME by default; real-time CME requires a paid data add-on per exchange |
| Access method | Web charts + manual CSV export; no official historical REST API |
| Cost | Paid plans (Essential/Plus/Premium) + CME data add-ons — prices not verified this session; Unknown — verify at tradingview.com/pricing |
| Pricing page | https://www.tradingview.com/pricing/ |
| Licensing / redistribution | Display use; exports for personal use; automation against ToS |
| Reliability caveats | Export is manual and bar-count-capped; continuous-contract settings (back-adjustment on/off) must be checked before export |
| Best for | Visual research and quick continuous-vs-unadjusted comparisons; not a data pipeline source |
Summary table
| Source | Free tier? | Entry cost | Best for |
|---|---|---|---|
| CME Group website | Yes (delayed/settlements) | Free | Ground-truth settlement spot-checks |
| Stooq | Yes | Free | Prototype daily continuous series |
| yfinance / Yahoo | Yes | Free | Quick exploration only (front-month; 60-day cap on sub-hourly intraday, ~730-day on 1h) |
| Kinetick | Yes (EOD) | $81.11/mo real-time (unverified — site unreachable 2026-07-11) | Free daily bars in NinjaTrader |
| Barchart free site | Yes (2 yr daily) | Free | Small samples |
| Nasdaq Data Link CHRIS/SCF | Was free — now defunct (404) | n/a | Nothing — avoid |
| CME DataMine | No | Contact sales | Authoritative deep tick history |
| Databento | $125 intro credits | PAYG per GB; $179/mo Standard (2026-07-11) | Primary API: tick→daily + roll symbology |
| Massive (ex-Polygon.io) | Yes (Futures Basic, 2 yr) | $29–$199/mo (2026-07-11) | Cheap recent bars via REST/flat files |
| dxFeed | No | Contact sales | Institutional tick replay |
| DTN IQFeed | No | $108.15/mo + surcharges (2026-07-11) | 1-min history 2005+ streaming feed |
| Norgate Data | No | $148.50/6 mo futures (2026-07-11) | Clean EOD + documented continuous contracts |
| FirstRate Data | No | Bundle price gated; updates $59.95/mo (2026-07-11) | One-shot 1-min bars 2007+ w/ 3 adjustment variants |
| Portara (CQG) | No | Contact sales | Deepest intraday archive (1987+) / daily 1899+ |
| CQG Data Factory | Free samples | $7–$27 per commodity-month (2026-07-11) | Surgical per-symbol purchases |
| TickData (OneMarketData) | No | Contact sales | Cleaned institutional tick trades to 1980s |
| Barchart Premier | 30-day trial | $29.95/mo or $239.95/yr (2026-07-11) | 10 yr of 1-min bars, no API needed |
| Barchart OnDemand | Free trial | Contact sales | Commercial futures API w/ support |
| CSI Data | $20 trial | From $25/mo (2026-07-11) | Multi-decade EOD on a budget |
| Kibot | Free samples | $820 all-futures 1-min; $3,750 tick (2026-07-11) | Bulk budget archive (quality-check first) |
| Sierra Chart Denali | No | Pkg + $6–$40.50/mo CME fees (2026-07-11) | Cheap real-time + 2008+ minute/2011+ tick in-platform |
| QuantConnect / AlgoSeek | Yes (cloud free tier) | Paid tiers via configurator | Rent tick data inside a backtest engine |
| Interactive Brokers | With account | Data subs extra | Recent history + broker validation only (2-yr expired cap) |
| Tradovate | With account | $0/$99/mo/$1,499 life (2026-07-11) | Execution venue; minute bars to 2017 |
| NinjaTrader | With account | $0/$99/mo/$1,499 life (2026-07-11) | Execution + free EOD + replay |
| TradingView | Limited | Unknown — verify | Visual research only |