Skip to content

Calendars & Reference ​

This category is the plumbing that keeps every other data pipeline honest. Our target markets — CME equity index futures (ES/MES/NQ/MNQ/YM/RTY/M2K), NYMEX energy (MCL/QM/BZ), and COMEX metals (1OZ/QO/QI/SIC) — trade nearly 23 hours a day on Globex, but their behavior is dominated by scheduled events: US economic releases (CPI, NFP, FOMC) that hit at fixed clock times, exchange holidays and early closes that truncate sessions, quarterly and monthly contract expirations that force rolls, and first-notice dates that make holding a physically-delivered contract dangerous. A backtest or live system that gets any of these wrong will silently produce garbage — bars timestamped inside a maintenance halt, fills modeled on a holiday half-day, or a "front month" that is actually two contracts stale.

The reference layer also determines real-world P&L frictions. Margin requirements (exchange SPAN/SPAN2 levels vs. much lower broker day-trade margins), exchange and clearing fees, the NFA assessment fee, and broker commissions define the minimum edge a strategy must clear. Symbology — Globex product codes, month codes F–Z, continuous-contract conventions like ES.c.0 vs ES.v.0 — is what lets us join datasets from different vendors without off-by-one-contract errors. Finally, market microstructure rules — daily settlement windows (ES settles off a 14:59:30–15:00:00 CT VWAP; CL off a 14:28–14:30 ET VWAP), equity-index price limits (overnight ±7%, daytime 7/13/20% circuit breakers), and the daily 60-minute Globex equity halt — are all published reference data that should be encoded, not guessed.

The good news is that almost everything in this category is free: US statistical agencies publish machine-readable release schedules (BLS iCal, BEA JSON/ICS, FRED API), ForexFactory exposes a free weekly JSON/XML/CSV calendar feed, CME publishes holiday/expiration/margin/fee/settlement/price-limit pages openly, and two mature open-source Python libraries (pandas_market_calendars, exchange_calendars) encode CME session calendars. The commercial layer (Trading Economics, Econoday, TradingHours.com, CME Reference Data API) mostly buys you machine-readability, SLAs, and licensing cleanliness rather than data you cannot get free. One structural annoyance to plan around: cmegroup.com aggressively bot-blocks plain HTTP clients (403s for curl), and many CME pages render values via JavaScript — so scraping CME reference pages programmatically requires a headless browser or the (registration-gated) Reference Data API.

Free / official sources ​

ForexFactory Calendar (faireconomy.media feeds) ​

FieldValue
What it isThe de-facto retail-standard economic calendar; free machine-readable weekly feeds at nfs.faireconomy.media in JSON, XML, and CSV (calendar UI)
CoverageGlobal macro releases affecting all our markets: US CPI/NFP/FOMC (drives ES/NQ/YM/RTY), EIA-adjacent energy events, central-bank decisions. Not exchange-specific; no expirations/holidays
GranularityEvent-level: title, country, date/time (ET offset in feed), impact rating (Low/Medium/High), forecast, previous. Verified live 2026-07-11 — feed returned events with exactly these fields
History depthFeeds cover current week only (thisweek plus nextweek/lastweek variants); historical archive available on website UI back to 2007 (scrape required) — Unknown — verify archive depth
Latency / updatesFeed regenerated periodically through the week; actuals appear on the website in real time but the static feed is not tick-updated — verify refresh cadence
Access methodHTTP GET, no auth: ff_calendar_thisweek.json, .xml, .csv — all three returned HTTP 200 on 2026-07-11
CostFree (as of 2026-07-11, verified by fetching the live feed)
Pricing pageN/A — free feed; site: https://www.forexfactory.com/calendar
Licensing / redistributionNo published license on the feed itself; ForexFactory ToS restricts redistribution — Unknown — verify before storing/redistributing
Reliability caveatsImpact ratings are editorial; forecast values are FF's own consensus; timestamps carry US-Eastern offsets (DST-aware) — parse the offset, don't assume; occasional schedule revisions mid-week
Best forZero-cost machine-readable event calendar for backtest event-flags and live "no-trade windows" around CPI/NFP/FOMC

BLS Release Schedule (+ iCal feed) ​

FieldValue
What it isOfficial Bureau of Labor Statistics release schedule for CPI, PPI, Employment Situation, JOLTS, ECI
CoverageThe highest-impact US releases for ES/NQ/YM/RTY and rate-sensitive metals (CPI, NFP at 8:30 ET)
GranularityExact release date + time per report
History depthFull-year schedules; prior-year archives linked on page
Latency / updatesSchedules published ~a year ahead; page updated "usually at least a week before" newly added releases (source)
Access methodWeb page (month/list views) + subscribable iCal feed at bls.gov/schedule/news_release/bls.ics; no JSON
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.bls.gov/schedule/news_release/
Licensing / redistributionUS government work — public domain
Reliability caveatsRare reschedules (government shutdowns); the .ics endpoint 403'd a plain curl during testing — may need a browser User-Agent
Best forAuthoritative CPI/NFP dates to cross-check third-party calendars; iCal ingest into schedulers

BEA Release Schedule (ICS + JSON) ​

FieldValue
What it isOfficial Bureau of Economic Analysis release schedule — GDP, Personal Income & Outlays (PCE inflation), trade balance
CoverageGDP + PCE are top-tier movers for equity index futures and gold
GranularityDate + time per release (mostly 8:30 ET, some 10:00 ET)
History depthCurrent year forward; archived prior-year schedules
Latency / updatesPublished a year ahead through December 2026 (as seen 2026-07-11)
Access methodWeb page, printable schedule, ICS calendar subscription, and an explicitly labeled "Machine-Readable Format" JSON download, plus the general BEA API
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.bea.gov/news/schedule
Licensing / redistributionUS government work — public domain
Reliability caveatsOne "TBA" item observed for late 2026; GDP release times occasionally shift with shutdowns
Best forMachine-readable (JSON) official schedule for GDP/PCE — the cleanest US agency feed of the lot

Census Bureau Economic Indicators Calendar ​

FieldValue
What it isCensus economic indicator release calendar — retail sales, durable goods, housing starts, new home sales, construction, trade
CoverageRetail sales & durable goods matter for ES/YM/RTY; housing data for rates-sensitive indices
GranularityDate + time (8:30/10:00 ET) per indicator
History depthSchedule published through December 2026 (as seen 2026-07-11)
Latency / updatesAnnual publication, updated as needed
Access methodWeb list view + "Quick View" PDF; no documented JSON/ICS on this page — verify whether an ICS exists
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.census.gov/economic-indicators/calendar-listview.html
Licensing / redistributionUS government work — public domain
Reliability caveatsHTML scraping required; page layout changes occasionally
Best forOfficial dates for retail sales/durable goods/housing releases

Federal Reserve FOMC Calendar ​

FieldValue
What it isOfficial FOMC meeting calendars — meeting dates, statements, minutes, SEP/projections
CoverageFOMC decisions (14:00 ET) + presser (14:30 ET) are the single biggest scheduled events for every symbol we trade
GranularityMeeting dates per year; statement/minutes links; minutes released "three weeks after the date of the policy decision" (source)
History depth2021–2026 detailed + 2027 placeholder dates (as seen 2026-07-11); historical materials archive back decades
Latency / updatesNext-year calendar published ~mid-year prior
Access methodWeb page; statements/minutes as HTML + PDF; no official JSON — scrape or use FRED/third-party calendars
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.federalreserve.gov/monetarypolicy/fomccalendars.htm
Licensing / redistributionUS government work — public domain
Reliability caveatsUnscheduled emergency meetings (e.g., March 2020) won't appear in advance; speech calendar is separate (Fed events calendar)
Best forAuthoritative FOMC dates for multi-year backtest event flags

FRED / ALFRED Release Calendar + API ​

FieldValue
What it isSt. Louis Fed's FRED release calendar plus the fred/releases/dates API endpoint
Coverage300+ US data releases (employment, inflation, housing, energy-adjacent); maps releases to the exact FRED series they update
GranularityRelease-date level (not intraday time for all releases)
History depthFull history of past release dates (real-time vintages via ALFRED); future dates included when include_release_dates_with_no_data=true (API docs)
Latency / updatesCalendar maintained continuously; API real-time
Access methodREST API (XML/JSON, max 1,000 rows/request) with free 32-char API key; web calendar with week/month/year views for 2025–2027
CostFree (as of 2026-07-11)
Pricing pageN/A — https://fred.stlouisfed.org/docs/api/fred/
Licensing / redistributionFree for most uses per FRED terms; some third-party series in FRED carry restrictions — verify per series
Reliability caveatsFuture scheduled dates are excluded from the API by default (flag required); release times not always populated — pair with agency schedules above
Best forProgrammatic past + future release-date joins against a research database — the best free API in this category

Investing.com Economic Calendar ​

FieldValue
What it isFree streaming economic calendar with 1–3 star impact ratings, forecast/previous/actual, real-time updates
CoverageGlobal; all US releases relevant to our markets; also has separate earnings/holiday calendars
GranularityEvent-level with real-time actual population and color-coded surprise direction
History depthWebsite filters allow historical browsing — depth Unknown — verify
Latency / updates"Streams and updates automatically in real time" (source)
Access methodWeb only. No official API or export (verified on page 2026-07-11); unofficial scrapers hit their internal AJAX endpoints and break periodically (the once-popular investpy library is unmaintained — verify status)
CostFree with ads (as of 2026-07-11); InvestingPro is a separate paid product
Pricing pagehttps://www.investing.com/economic-calendar/
Licensing / redistributionToS prohibits scraping/redistribution — a compliance risk if automated
Reliability caveatsAd-heavy; unofficial endpoints are rate-limited and unstable; impact stars are editorial
Best forHuman eyeballing and cross-checking actuals in real time; not recommended as a pipeline dependency

MQL5 Economic Calendar ​

FieldValue
What it isMetaQuotes' free economic calendar — 900+ indicators, 22+ countries
CoverageGlobal macro; US events relevant to all target symbols
GranularityEvent-level with importance filters, history of each indicator
History depthMulti-year per-indicator history on the website — verify depth
Latency / updatesReal-time from public sources
Access methodWeb + embeddable widget; programmatic access inside MetaTrader 5 via built-in MQL5 calendar functions (MQL5 calendar docs) — not a general REST API
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.mql5.com/en/economic-calendar
Licensing / redistributionWidget embedding permitted; bulk redistribution Unknown — verify
Reliability caveatsProgrammatic access is locked to the MT5 runtime — awkward unless the stack already includes MetaTrader
Best forFree redundancy source; useful only if an MT5 bridge exists in the stack

FinancialJuice ​

FieldValue
What it isReal-time market-moving news squawk (text + voice) with an integrated economic calendar
CoverageMacro headlines, central banks, energy headlines — relevant to all target markets
GranularityHeadline-level, seconds-latency squawk
History depthNot an archive product
Latency / updatesReal-time; free tier reportedly delayed vs Elite ("zero delay" is an Elite feature per pro.financialjuice.com/elite)
Access methodWeb app, mobile, TradingView widget, browser extension, RSS; no public REST API found
CostFree tier "free, forever" (as of 2026-07-11, financialjuice.com); Elite paid tier — price not shown on page; unofficial reported ~$33/mo on a quarterly promo (~$99/quarter, as of 2026-07-11) (third-party review, unofficial)
Pricing pagehttps://pro.financialjuice.com/elite
Licensing / redistributionPersonal use; redistribution not permitted — verify
Reliability caveatsSquawk is editorial triage, not a structured feed; calendar is secondary to news product
Best forFree audio squawk around data releases for discretionary oversight of automated systems

CME Group Holiday Calendar ​

FieldValue
What it isOfficial CME holiday calendar — holiday trading schedules and early closes for all CME/CBOT/NYMEX/COMEX products
CoverageExact holiday hours per product group (equity index, energy, metals) — exactly our symbols
GranularityPer-holiday, per-product-group open/close/halt times (Central Time), incl. quirks like early TAS closes
History depthCurrent year + early next year on page; archives via linked notices
Latency / updatesPublished ~a year ahead; amended via notices
Access methodHTML tables with date selector + per-holiday PDF notices. No JSON/CSV download (verified 2026-07-11); cmegroup.com 403-blocks plain curl — scraping needs a real browser UA/headless browser
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/tools-information/holiday-calendar.html
Licensing / redistributionCME site ToS; facts (dates) are not copyrightable but bulk scraping violates ToS — verify
Reliability caveatsHoliday hours differ by asset class on the same date (e.g., equity halt vs metals early close) — never apply one product's holiday schedule to another
Best forSource of truth for session-calendar construction; encode into pandas_market_calendars overrides

CME Expirations Calendar & QuikStrike Product Expiration Browser ​

FieldValue
What it isInteractive Expirations Calendar and Product and Expiration Browser covering futures/options key dates
CoverageAll target symbols; filterable by product, Globex code, event type: "Settlement Date, First or Last Trade Date, Delivery Date, and more" (source)
GranularityPer-contract-month lifecycle dates incl. first notice and last trade
History depthActive/listed contracts (~1+ year forward); historical expirations via per-product calendar pages (e.g. gold calendar)
Latency / updatesUpdated as contracts list
Access methodWeb tool; QuikStrike browser supports bulk download of "all active expiration information" (format unspecified — verify; likely CSV/Excel); free CME Group login may be required
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/tools-information/calendars/expiration-calendar.html
Licensing / redistributionCME ToS; internal use fine — verify bulk-download terms
Reliability caveatsJS-rendered; per-product pages (contractSpecs/calendar) did not render values to a plain fetcher during testing — automate via headless browser or Reference Data API instead
Best forBuilding the roll/first-notice/last-trade date table for MCL, QM, BZ, QO, QI, SIC, 1OZ where FND/LTD risk is real

CME Equity Index Roll Dates page ​

FieldValue
What it isOfficial equity index roll dates page listing customary quarterly roll dates
CoverageES/MES/NQ/MNQ/YM/RTY/M2K quarterly (H/M/U/Z) rolls
GranularityPer-quarter: customary roll date + expiration date. Convention stated on page: "Equity products roll date is the Monday prior to the third Friday of the expiration month" (verified 2026-07-11)
History depthTable runs through 2028 (as seen 2026-07-11)
Latency / updatesStatic, extended annually
Access methodWeb page (HTML table)
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/trading/equity-index/rolldates.html
Licensing / redistributionCME ToS
Reliability caveats"Customary" ≠ mandated: liquidity migrates over several days around the date; volume/OI-based continuous logic (e.g., Databento .v.0/.n.0) can roll a day or two differently. Final settlement is 3rd-Friday SOQ (final settlement procedures)
Best forHard-coding the quarterly ES/NQ/YM/RTY roll window in backtests and roll automation

CME Margins (CME Clearing) ​

FieldValue
What it isOfficial exchange performance-bond (margin) requirements: clearing margins hub with per-product margin tabs on product pages (e.g. ES margins)
CoverageAll target symbols (initial/maintenance, intra-commodity spreads); SPAN2 indicative margins for energy/equity in-scope products
GranularityPer contract month; maintenance + initial (initial = maintenance × ratio for specs)
History depthHistorical margins archive exists — per-asset-class PDFs, most products from 2020; history beyond ~5 years via CME DataMine (verified 2026-07-11)
Latency / updatesMargin changes announced via clearing advisories, typically effective next business day; no fixed cadence
Access methodWeb pages (JS-rendered — plain fetch shows no numbers, verified 2026-07-11); no documented public margin API; PC-SPAN and CME CORE tools for computation
CostFree to view (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/clearing/margins/
Licensing / redistributionCME ToS; SPAN/SPAN2 risk-parameter files are licensed separately — verify
Reliability caveatsExchange margin ≠ what your broker charges intraday (see broker entries); values change with volatility regimes — snapshot them, don't assume constants
Best forOvernight/position margin truth for capital planning; the number brokers must collect at minimum for held positions

CME Exchange Fee Schedules ​

FieldValue
What it isOfficial exchange fee schedules per exchange, downloadable as Excel + PDF
CoverageCME (equity index: ES/MES/NQ/MNQ/RTY/M2K), CBOT (YM), NYMEX (MCL/QM/BZ), COMEX (1OZ/QO/QI/SIC); non-member rates are what retail pays via brokers
GranularityPer-product, per-venue, per-membership-tier fees; "Non-Member Fee Finder" search tool on page
History depthCurrent schedules; effective dates seen 2026-07-11: CME June 29 2026, CBOT July 1 2026, NYMEX/COMEX June 1 2026
Latency / updatesRevised periodically (typically annually + ad hoc)
Access methodExcel/PDF downloads from the page
CostFree to view (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/company/clearing-fees.html
Licensing / redistributionCME ToS
Reliability caveatsFee stack for an all-in cost model = exchange fee + clearing fee + NFA fee + broker commission + (broker platform/data fees); Excel schema changes between revisions
Best forExact per-side exchange fees for cost modeling (e.g., Micro vs E-mini fee asymmetry materially changes micro-contract strategy viability)

NFA Assessment Fee ​

FieldValue
What it isNational Futures Association assessment fee charged per side on customer futures/options trades (NFA assessment fee FAQ)
CoverageEvery trade in every target symbol at a US FCM
GranularityFlat per-side fee
History depthRule history in NFA Bylaw 1301
Latency / updatesChanges announced via Notices to Members with long lead time
Access methodWeb page
Cost$0.01 per side currently; rising to $0.02 per side effective July 1, 2027 for futures and options (verified on the NFA FAQ, as of 2026-07-11)
Pricing pagehttps://www.nfa.futures.org/faqs/members/nfa-assessment-fees.html
Licensing / redistributionPublic regulatory information
Reliability caveatsFee doubles mid-2027 — cost models with multi-year horizons must be date-aware
Best forThe regulatory line item in per-trade cost modeling

CME Symbology: Month Codes & Globex Product Codes ​

FieldValue
What it isOfficial futures month codes (F=Jan … H=Mar, M=Jun, U=Sep, Z=Dec) and per-product Globex codes on each product page
CoverageAll target symbols; e.g. ESU6 = ES + Sep + 2026. Product codes verified this session: MCL (product page lists Globex/TT/Fidessa = MCL, Bloomberg = WMIA, CQG = MCLE, Refinitiv = MWCL — corrected 2026-07-11), 1OZ (1-Ounce Gold page), SIC (100-oz Silver launch press release)
GranularitySymbol construction rules; vendor tickers per platform
History depthStatic conventions
Latency / updatesStable; new products add codes
Access methodWeb pages
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/month-codes.html
Licensing / redistributionPublic reference
Reliability caveatsVendor symbology diverges (e.g., IB uses ES + expiry, some vendors use ESU26 vs ESU6, Bloomberg appends "Index"/"Comdty") — build an explicit mapping table per vendor
Best forCanonical symbol grammar for the instrument-master table

CME Daily Settlement Procedures ​

FieldValue
What it isOfficial methodology pages for how daily settles are computed: Equity settlement wiki (ES/MES), NYMEX crude wiki (CL family), equity final settlement, daily settlements data page
CoverageES/MES: settle = VWAP of Globex trades 14:59:30–15:00:00 CT in lead month, tiered fallbacks (midpoint, then cash-index carry calc). CL: VWAP 14:28–14:30 ET, tiered fallbacks. Gold/silver/Brent have analogous pages — verify each
GranularityMethodology (rules), plus actual daily settlement values on the settlements pages per product (e.g. MCL settlements)
History depthSettlement values: recent sessions free on web; deeper history via CME DataMine (paid)
Latency / updatesPreliminary settles intraday post-close; final by evening
Access methodWeb (wiki pages are static HTML — scrapeable, unlike cmegroup.com product pages)
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/market-data/daily-settlements.html
Licensing / redistributionCME ToS
Reliability caveatsMicro contracts settle to their parent's settle (MES→ES, MCL→CL, SIC→SI per press release) — don't compute micro settles independently; equity month-end settles use the 15:00 CT fixing price with fair-value adjustments — a month-end procedure, not a roll-date one (fair value FAQ, corrected 2026-07-11)
Best forCorrect mark-to-market and settlement-anchored backtest fills

CME Price Limits & Circuit Breakers ​

FieldValue
What it isOfficial price limits page (live limit values, updated per trade date) + US equity index price limits FAQ
CoverageEquity index: overnight ±7% (17:00–8:30 CT), RTH 7%/13%/20% downside limits synced to NYSE MWCB; at the 7%/13% levels a 2-minute monitoring period then a 2-minute halt before the limit expands (per CME FAQ, corrected 2026-07-11 — not 10-min halts); at 20% futures do not close — trading continues at/above the 20% limit for the remainder of the day; 14:25–15:00 CT only 20% applies. Energy/metals: dynamic circuit breakers, no hard daily limits — verify per product
GranularityDaily reference price + computed limit levels per product (page showed live values for trade date 2026-07-13 when fetched 2026-07-11)
History depthCurrent trade date only on page; historical limit levels not archived here
Latency / updatesDaily recalculation from the futures fixing price
Access methodWeb page (HTML tables); "special price fluctuations guide" downloadable as Excel (price limits page)
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/trading/price-limits.html
Licensing / redistributionCME ToS
Reliability caveatsLimits are asymmetric in RTH (downside-only for 7/13/20); overnight limit-locked markets (e.g., limit-down opens) break naive backtest fill assumptions — encode limit states
Best forModeling halt/limit-lock scenarios for ES/NQ/YM/RTY risk management

CME Globex Trading Hours & Maintenance Windows ​

FieldValue
What it isOfficial trading hours page (date-selectable per product)
CoverageAll target symbols. Globex system maintenance: "Window A: Saturday 2:00–4:00 AM CT" and "Window B: Tuesday 2:00–4:00 AM CT" (verified on page 2026-07-11). Equity index daily maintenance halt 16:00–17:00 CT (Sun–Fri 17:00–16:00 CT sessions; confirmed via ES product/spec sources 2026-07-11)
GranularityPer-product session open/close/halt times in CT
History depthCurrent schedule; historical changes via notices
Latency / updatesChanges announced via Globex notices
Access methodWeb page with date selector (JS-rendered tables)
CostFree (as of 2026-07-11)
Pricing pageN/A — https://www.cmegroup.com/trading-hours.html
Licensing / redistributionCME ToS
Reliability caveatsDST quirk: Globex hours are pegged to US Central Time; US DST shifts (2nd Sunday March / 1st Sunday November) do not align with EU/UK changes, so for ~3 weeks in March and ~1 week in autumn the UTC session times shift by an hour (explainer — page confirms CT pegging and the UTC-6/UTC-5 shift, but the specific US-vs-EU mismatch windows are derived from DST rules, not stated on that page (unverified)). Store all session logic in America/Chicago tz, never fixed UTC
Best forSession-calendar truth incl. the daily 16:00–17:00 CT equity halt and weekend/Tuesday maintenance windows

CME Reference Data API v3 ​

FieldValue
What it isCME Reference Data APIv3 — JSON REST APIs on Google Cloud for product & instrument reference data (technical wiki)
CoverageAll CME Group markets; per-instrument "life cycle dates including first and last trade date, all notice dates, delivery dates and settlement dates" (wiki) — the machine-readable answer to expirations/FND
GranularityProduct- and instrument-level records (tick size, contract months, lifecycle dates)
History depthActive + listed instruments; expired-instrument history Unknown — verify
Latency / updatesReal-time reference updates
Access methodREST/JSON with registered OAuth API ID (Google Cloud hosted)
CostUnknown — verify (requires CME registration; may be bundled with market data license agreements — Contact CME)
Pricing pagehttps://www.cmegroup.com/market-data/browse-data/catalog/reference-data.html
Licensing / redistributionPer CME Information License Agreement — internal use typically; verify
Reliability caveatsOnboarding friction (License + OAuth registration); overkill if Databento definitions or QuikStrike downloads suffice
Best forFully automated, exchange-authoritative expiration/FND/symbology pipeline at production grade

pandas_market_calendars (Python) ​

FieldValue
What it isOpen-source Python library of exchange session calendars (docs, GitHub)
Coverage50+ calendars incl. dedicated CME Globex modules verified in source tree: cme_globex_equities.py, cme_globex_energy_and_metals.py, cme_globex_crypto.py, cme_globex_fx.py, cme_globex_fixed_income.py, plus legacy cme.py (source dir) — covers our equity/energy/metals session calendars
GranularitySession open/close, breaks, holidays, early closes; generates minute-level DatetimeIndex via date_range
History depthRules-based — extends backward/forward, but historical exchange rule changes only as good as contributed rules
Latency / updatesShips as package code — new holidays require a package update (no live feed)
Access methodpip install pandas_market_calendars; Python API
CostFree — MIT license (as of 2026-07-11)
Pricing pageN/A — https://pypi.org/project/pandas-market-calendars/
Licensing / redistributionMIT — unrestricted
Reliability caveatsCommunity-maintained: verify each year's CME holiday early-closes against the official CME calendar before trusting a backtest; ad-hoc exchange schedule changes lag
Best forProgrammatic session/holiday calendar in backtests — pair with an annual audit vs. CME's official page

exchange_calendars (Python) ​

FieldValue
What it isOpen-source successor to Quantopian's trading_calendars (GitHub)
Coverage50+ exchanges; CME-related: CMES (CME) and XCBF; fewer futures-specific product calendars than pandas_market_calendars
GranularitySessions, minutes, schedules
History depthRules-based like above
Latency / updatesCommunity releases (v4.13.2, March 2026, per repo — verified 2026-07-11); pandas_market_calendars mirrors these calendars
Access methodpip install exchange_calendars
CostFree — Apache-2.0 (as of 2026-07-11)
Pricing pageN/A — https://github.com/gerrymanoim/exchange_calendars
Licensing / redistributionApache-2.0
Reliability caveatsExplicitly community-maintained ("all of the exchange calendars are maintained by user contributions") — same audit caveat
Best forAlternative/cross-check calendar library; useful if already in a zipline-lineage stack

AMP Futures Margin Page (broker reality check) ​

FieldValue
What it isDeep-discount FCM's live margin table/calculator — day-trade margins set by AMP vs exchange maintenance margins
CoverageAll target symbols
GranularityPer-symbol day-trade margin + exchange maintenance margin
History depthCurrent values only
Latency / updatesChanges with volatility and exchange updates
Access methodWeb page
CostFree to view. Verified day-trade margins as of 2026-07-11: ES $400, MES $40, NQ $1,000, MNQ $100, MCL $766, MGC $571.75, SIL $6,723 (source)
Pricing pagehttps://www.ampfutures.com/trading-info/margins
Licensing / redistributionBroker marketing page — quote, don't redistribute wholesale
Reliability caveatsDay-trade margins apply intraday only and are revocable in volatile markets; holding into the 16:00 CT close requires full exchange margin
Best forRealistic intraday capital requirements for small-account strategy sizing

NinjaTrader / Tradovate Margins & Commissions ​

FieldValue
What it isRetail futures broker pricing pages: NinjaTrader margins, Tradovate pricing (same NinjaTrader group)
CoverageAll CME target symbols
GranularityPer-side commissions by plan + intraday margins by contract class
History depthCurrent only
Latency / updatesPlan pricing changes occasionally; margins with volatility
Access methodWeb pages
CostVerified as of 2026-07-11 — NinjaTrader intraday margins: $500 E-mini (ES), $50 Micro (MES); margin-violation fees $25 first/$50 after (source). Tradovate: Free plan $1.29/side standard + $0.39/side micro; $99/mo plan $0.99/$0.29; Lifetime $1,499 one-time $0.59/$0.09; intraday margins $500 standard/$50 micro; "Exchange, clearing, and NFA fees still apply" (source)
Pricing pagehttps://www.tradovate.com/pricing/
Licensing / redistributionBroker marketing pages
Reliability caveatsAdvertised commissions exclude the exchange/clearing/NFA stack (add ~$1.60+/side for E-minis, less for micros — see CME fee schedule); intraday margin cutoffs force flat or full margin before close
Best forConcrete all-in cost + intraday leverage numbers for the retail execution layer

Interactive Brokers Futures Margins & Commissions ​

FieldValue
What it isIBKR reference pages: futures margin requirements, futures commissions, CME pass-through fees
CoverageAll target symbols
GranularityPer-symbol overnight/intraday margins; fixed vs tiered commissions
History depthCurrent only
Latency / updatesMargin table updates frequently; intraday margin reverts to full overnight margin at "Intraday End Time" daily (margin page)
Access methodWeb pages (403-block automated fetchers — verified 2026-07-11; view in browser)
CostFree to view. Commission levels: fixed US futures USD 0.85/contract, tiered USD 0.25–0.85 (verified via IBKR's own pricing pages surfaced in search, as of 2026-07-11; the page itself 403-blocks automated fetchers: commissions page)
Pricing pagehttps://www.interactivebrokers.com/en/pricing/commissions-futures.php
Licensing / redistributionBroker reference pages
Reliability caveatsNo intraday margin discounts for IRA/cash accounts or when holding offsetting FOPs; IBKR intraday margin policies differ structurally from futures-specialist brokers
Best forMargin/commission baseline if execution runs through IBKR alongside equities

OpenFIGI (symbology mapping) ​

FieldValue
What it isBloomberg's free OpenFIGI API for mapping tickers to FIGI identifiers, including futures
CoverageGlobal instruments incl. CME futures contracts (per-contract FIGIs)
GranularityIdentifier-level mapping
History depthLive mapping (expired contracts retain FIGIs — verify)
Latency / updatesLive
Access methodREST POST (JSON). Probed live 2026-07-11: POST https://api.openfigi.com/v3/mapping responded (returned "No identifier found" for a malformed test ticker — endpoint up, no key required at low rate limits)
CostFree; higher rate limits with free API key (as of 2026-07-11)
Pricing pageN/A — https://www.openfigi.com/api
Licensing / redistributionOpen Symbology terms — permissive; verify for storage
Reliability caveatsFutures ticker conventions in OpenFIGI differ from Globex raw symbols — mapping requires care
Best forCross-vendor instrument master keys when joining futures data with securities datasets

Commercial sources ​

Trading Economics API ​

FieldValue
What it isCommercial macro data + Calendar API with live event streaming (docs)
Coverage~1,600 events/month, 150+ countries ("1600 economic events for more than 150 countries a month" per docs.tradingeconomics.com, verified 2026-07-11); all US releases relevant to our markets
GranularityEvent-level with actual/forecast/previous/revised, importance; live updates via streaming
History depthHistorical calendar events queryable by date range — verify depth (claimed 20M indicator series overall)
Latency / updatesNear-real-time, 24h
Access methodREST (JSON/CSV/XML), Python/Node/Excel clients (developer portal)
CostContact sales — pricing page is login/JS-gated and displays no public tiers (checked analytics/pricing.aspx and api/pricing.aspx 2026-07-11); "pricing is adjusted... to your volume of requests and to the distribution" (source); trials limited to 100k data points / 100 data requests
Pricing pagehttps://tradingeconomics.com/analytics/pricing.aspx
Licensing / redistributionDistribution-sensitive pricing; redistribution needs elevated license
Reliability caveatsTrial auto-charges if not cancelled; no refunds for unused days (pricing page)
Best forProduction-grade programmatic economic calendar with actuals streaming — if budget allows

Econoday ​

FieldValue
What it isInstitutional economic-calendar/event-data vendor (econoday.com) — calendars, consensus forecasts, event feeds via "APIs and widgets... to full enterprise API access"
CoverageUS + global indicators, central banks; also sovereign-debt auction and USDA/agriculture calendars
GranularityEvent-level with Econoday's own consensus estimates and analyst commentary
History depthLong institutional archive — verify
Latency / updatesReal-time actuals
Access methodEnterprise API, widgets, white-label (used by many brokers incl. IBKR's calendar)
CostContact sales for API/enterprise (no pricing displayed, verified 2026-07-11). Retail: "Global Economics Subscription" $120/yr (48 weekly issues) per shop.econoday.com — that's a newsletter, not the API
Pricing pagehttps://www.econoday.com/enterprise/
Licensing / redistributionEnterprise licensing scales by distribution
Reliability caveatsConsensus figures are Econoday's own panel — differs from Bloomberg/Reuters consensus that markets sometimes key off
Best forBroker-grade calendar widget/feed; likely accessible for free through a brokerage relationship (e.g., IBKR) rather than direct license

EconDB ​

FieldValue
What it isEconomic database aggregator with REST API (econdb.com, API base www.econdb.com/api — the bare api.econdb.com host returned 404 on 2026-07-11, corrected)
CoverageGlobal macro series from national sources; release/calendar coverage Unknown — verify
GranularitySeries-level; main-indicator dashboards
History depthFull national-source history per series — verify
Latency / updatesUpdated on source release
Access methodREST API with token auth (re-probed 2026-07-11: GET https://www.econdb.com/api/series/?ticker=... returns HTTP 401 "Authentication credentials were not provided" — endpoint live at the /api/ path; api.econdb.com returns 404, corrected); Python client; docs at developers.econdb.com (JS-rendered, content not fetchable headlessly)
CostUnknown — verify (no public pricing page reachable during session; registration appears free with paid tiers)
Pricing pagehttps://www.econdb.com/
Licensing / redistributionUnknown — verify
Reliability caveatsSmall vendor; documentation portal was not renderable to plain fetchers this session — evaluate stability before depending on it
Best forBackup macro-series API; low priority for our calendar needs vs FRED

EODHD Economic Events API ​

FieldValue
What it isEconomic Events Data API within the EODHD platform
CoverageGlobal economic events (retail sales, PMIs, bond auctions...) with country filter; US events relevant to all target symbols
GranularityEvent-level: type, comparison (MoM/QoQ/YoY), period, country, timestamp, actual/previous/forecast/change (verified on docs 2026-07-11)
History depthEvents from 2020 onward (per docs, verified 2026-07-11)
Latency / updatesNear-real-time actuals — verify latency
Access methodREST (JSON), limit/offset pagination up to 1,000; 1 API call per request
CostIncluded in Fundamentals Data Feed $59.99/mo ($599.90/yr) or All-In-One $99.99/mo ($999.90/yr); free tier exists ($0, 20 API calls/day) but economic events not included in it — verify. Prices verified live on pricing page 2026-07-11
Pricing pagehttps://eodhd.com/pricing
Licensing / redistributionPersonal vs commercial licenses differ — verify redistribution terms
Reliability caveatsHistory only to 2020 limits long backtests; event taxonomy less rich than Econoday/TE
Best forCheap programmatic calendar if already paying for EODHD fundamentals

Finnhub Economic Calendar ​

FieldValue
What it isEconomic calendar endpoint in Finnhub's market-data API
CoverageGlobal economic events; US releases relevant to target markets
GranularityEvent-level with actual/estimate/prev — verify fields
History depthUnknown — verify
Latency / updatesReal-time updates on paid tiers
Access methodREST (JSON), API key
CostPricing page is JS-rendered (no tiers visible to fetcher, checked finnhub.io/pricing 2026-07-11); unofficial reported: free tier 60 calls/min, premium ~$11.99–$99.99/mo (third-party summary, unofficial); economic calendar tier requirement Unknown — verify
Pricing pagehttps://finnhub.io/pricing
Licensing / redistributionDisplay/internal use per plan; redistribution restricted
Reliability caveatsEndpoint-level plan gating is common at Finnhub — test with a free key before budgeting
Best forBundled option if Finnhub is already used for other data

Financial Modeling Prep (FMP) Economic Calendar ​

FieldValue
What it isEconomic calendar endpoint in FMP's API suite
CoverageGlobal economic releases — verify coverage quality for non-US
GranularityEvent-level with estimates/actuals
History depthUnknown — verify
Latency / updatesUnknown — verify
Access methodREST (JSON), API key
CostContact sales / see pricing page — docs page 403-blocked automated fetch this session (2026-07-11); plan tiers not verified
Pricing pagehttps://site.financialmodelingprep.com/developer/docs/pricing
Licensing / redistributionPer-plan; redistribution restricted
Reliability caveatsFMP's non-equity datasets historically thinner than its equity fundamentals — validate event completeness vs ForexFactory before use
Best forMarginal option; only if FMP already in the stack

TradingHours.com ​

FieldValue
What it isCommercial trading hours + market holidays API/data covering 1,100+ exchanges/venues (unverified — site 403-blocks fetchers; its EODHD marketplace listing cites 900+ markets on the top tier) incl. derivative markets (docs)
Coverage"All Markets" tier includes derivative markets — CME/NYMEX/COMEX coverage claimed; verify our specific product sessions are modeled (product-level vs exchange-level)
GranularityTrading hours incl. half-days, holidays, live market-status API
History depthForward-looking schedules + current status; historical holiday archive — verify
Latency / updatesContinuously maintained; market status real-time
Access methodREST API (JSON/CSV), bulk zip download (CSV/Excel), Python client
CostMarket Status API tiers verified via TradingHours' EODHD marketplace listing (as of 2026-07-11): $50/mo G20+ (24 markets), $100/mo Global Equities (148 markets), $150/mo Global Equities & Derivatives (900+ markets); licenses issued annually per docs; tradinghours.com itself 403-blocks fetchers — tier names Core/Emerging/All Markets per docs
Pricing pagehttps://www.tradinghours.com/data
Licensing / redistribution"Licensed on a per-application basis, exclusively for internal use" (source)
Reliability caveatsFor a single exchange group (CME), free sources + pandas_market_calendars may fully substitute; value is multi-exchange breadth
Best forOutsourcing holiday/session maintenance with an SLA instead of auditing open-source calendars annually

Norgate Data (Futures package) ​

FieldValue
What it isEOD futures data vendor whose futures package doubles as a practical roll-convention reference (documented roll rules + FND-aware continuous contracts)
Coverage~100 futures markets, 11 exchanges incl. CME/NYMEX/COMEX; verify each of our 14 symbols (micros/1OZ/SIC may lag — verify)
GranularityDaily; individual contracts + spot-month continuous (unadjusted and back-adjusted)
History depth"Back to around 1980 or first day of trading" (source)
Latency / updatesEnd-of-day
Access methodWindows app (NDU) + Python package, AmiBroker etc.
CostUSD 148.50 / 6 months or USD 270 / 12 months (verified live on futures package page, as of 2026-07-11)
Pricing pagehttps://norgatedata.com/prices.php
Licensing / redistributionSingle-user internal use; no redistribution
Reliability caveatsRoll rules are fixed by Norgate (cash-settled: roll day before last trading day; deliverable: day before FND) — good defaults, but not configurable to volume-based rolls
Best forDocumented, FND-safe roll conventions + cheap continuous-contract sanity checks against our own roll logic

Databento (symbology & instrument definitions reference) ​

FieldValue
What it isMarket-data vendor whose symbology docs and instrument-definition schema serve as practical reference standards for CME futures
CoverageFull CME Globex (MDP 3.0) — every target symbol incl. micros, 1OZ, SIC; continuous-contract notation ES.c.0 (calendar), ES.v.0 (volume), ES.n.0 (open interest) with roll rules documented (continuous contracts guide, live support blog)
GranularityInstrument-definition records carry expiration, tick size, multiplier per contract (definition schema) — verify field list
History depthDefinitions available historically alongside each dataset's depth
Latency / updatesReal-time definitions on live feeds
Access methodREST/Python/C++ APIs; docs freely readable
CostDocs free; data usage-based (pricing on databento.com/pricing — not fetched this session; covered by the price-history category)
Pricing pagehttps://databento.com/pricing
Licensing / redistributionData licensed per plan; internal use standard; symbology conventions freely adoptable
Reliability caveatsc/v/n roll indices are Databento conventions — other vendors' "continuous" contracts differ; document which convention every dataset uses
Best forAdopting a rigorous symbology standard and machine-readable expirations without touching CME's OAuth-gated Reference Data API

Summary table ​

SourceFree tier?Entry costBest for
ForexFactory (faireconomy feeds)Yes (fully)FreeMachine-readable weekly econ calendar (JSON/XML/CSV)
BLS schedule (+.ics)YesFreeAuthoritative CPI/NFP dates, iCal ingest
BEA schedule (ICS+JSON)YesFreeMachine-readable GDP/PCE schedule
Census indicator calendarYesFreeRetail sales/durables/housing dates
Fed FOMC calendarYesFreeFOMC dates 2021–2027
FRED releases APIYesFree (API key)Programmatic past+future release dates
Investing.com calendarYes (web only)FreeManual real-time cross-check
MQL5 calendarYesFreeRedundancy; MT5-native access
FinancialJuiceYesElite ~$33/mo quarterly promo (unofficial, as of 2026-07-11)Free audio squawk around releases
CME holiday calendarYesFreeSession-calendar source of truth
CME expiration calendar / QuikStrikeYesFreeFND/LTD/expiration dates per contract
CME equity roll datesYesFreeQuarterly ES/NQ/YM/RTY roll windows
CME margins pagesYesFree to viewExchange overnight margin truth
CME fee schedulesYesFreeExact exchange/clearing fees (Excel)
NFA assessment feeYes$0.01/side now; $0.02 from 2027-07-01Regulatory cost line item
CME month codes/symbologyYesFreeSymbol grammar
CME settlement proceduresYesFreeES/CL settle methodology (VWAP windows)
CME price limits pageYesFreeDaily 7/13/20% limit levels
CME trading hours pageYesFreeSessions, maintenance windows, DST handling
CME Reference Data API v3RegistrationUnknown — verifyExchange-authoritative reference pipeline
pandas_market_calendarsYes (MIT)FreePython CME session calendars
exchange_calendarsYes (Apache-2.0)FreeAlternative calendar library
AMP margins pageYesFree to viewReal intraday margin numbers
NinjaTrader/Tradovate pricingYesCommissions from $0.09–$1.29/side + feesRetail all-in cost + intraday margin
IBKR margins/commissionsYes$0.85/side fixed (verified as of 2026-07-11)IBKR-stack cost baseline
OpenFIGIYesFreeCross-vendor instrument IDs
Trading Economics APITrial onlyContact salesProduction calendar API w/ streaming actuals
EconodayNoContact sales (retail newsletter $120/yr)Broker-grade calendar feed
EconDBUnknownUnknown — verifyBackup macro API
EODHD economic eventsFree tier excl. events$59.99–$99.99/moCheap programmatic calendar (2020+)
Finnhub calendarUnclear~$11.99–$99.99/mo (unofficial)Bundled option
FMP calendarUnclearUnknown — verifyMarginal bundled option
TradingHours.comNo$50–$150/mo (verified via EODHD marketplace listing, as of 2026-07-11)Outsourced holiday/session maintenance
Norgate futuresNoUSD 270/yrFND-safe roll conventions + continuous EOD
Databento (reference)Docs freeUsage-based dataSymbology standard + machine-readable expirations