Problem Statement
OpenBB's current futures coverage is limited to:
- yFinance — delayed daily OHLCV bars, limited symbol mapping
- Deribit — crypto derivatives only (BTC/ETH futures)
- CBOE — futures curve data only
There is no dedicated provider for CME equity index futures — the most actively traded futures contracts globally (ES, NQ, MNQ, MES, RTY, YM). These are critical for:
- Quantitative research and backtesting
- Institutional portfolio analysis
- Overnight/globex session analysis
- Basis/spread analysis between cash index and futures
Proposed Solution
Create an openbb-cme provider extension that sources data from freely available CME Group APIs and public data feeds:
Data Sources (No API Key Required)
- CME DataMine (delayed) — Free historical settlement data: https://www.cmegroup.com/market-data/datamine-api.html
- CME Settlements — Daily settlement prices published publicly
- CME QuikStrike — Implied volatility, term structure (public endpoints)
- CFTC COT Enhancement — Extend the existing
openbb-cftc provider with futures-specific positioning data
Proposed Fetchers
| Fetcher |
Standard Model |
Description |
CMEFuturesHistorical |
FuturesHistoricalData |
OHLCV + settlement + open interest |
CMEFuturesCurve |
FuturesCurveData |
Term structure across expirations |
CMEFuturesInfo |
FuturesInfoData |
Contract specs (tick size, multiplier, margins) |
CMEFuturesInstruments |
FuturesInstrumentsData |
Available contracts + expiration dates |
Additional Fields (Provider-Specific)
settlement_price — official daily settlement (distinct from close)
open_interest — daily OI from CME
tick_size, point_value, multiplier — contract specifications
session (RTH/ETH/globex) — for session-aware analysis
margin_initial, margin_maintenance — from CME SPAN
Priority Symbols
| Symbol |
Name |
Exchange |
Daily Volume |
| ES |
E-mini S&P 500 |
CME/Globex |
~1.5M contracts |
| NQ |
E-mini Nasdaq-100 |
CME/Globex |
~800K contracts |
| MES |
Micro E-mini S&P |
CME/Globex |
~1.5M contracts |
| MNQ |
Micro E-mini Nasdaq |
CME/Globex |
~1M contracts |
| RTY |
E-mini Russell 2000 |
CME/Globex |
~200K contracts |
| YM |
E-mini Dow |
CBOT/Globex |
~100K contracts |
Benefits
Implementation Notes
- Follows existing provider pattern (see
openbb-deribit as template for futures-specific models)
- Standard models already exist:
FuturesHistoricalData, FuturesCurveData, FuturesInfoData, FuturesInstrumentsData
- I trade CME Micro E-mini Nasdaq (MNQ) futures daily and have experience with CME data formats, contract rollovers, and session mechanics
- Happy to implement this — looking for maintainer feedback on scope before starting
Acceptance Criteria
Problem Statement
OpenBB's current futures coverage is limited to:
There is no dedicated provider for CME equity index futures — the most actively traded futures contracts globally (ES, NQ, MNQ, MES, RTY, YM). These are critical for:
Proposed Solution
Create an
openbb-cmeprovider extension that sources data from freely available CME Group APIs and public data feeds:Data Sources (No API Key Required)
openbb-cftcprovider with futures-specific positioning dataProposed Fetchers
CMEFuturesHistoricalFuturesHistoricalDataCMEFuturesCurveFuturesCurveDataCMEFuturesInfoFuturesInfoDataCMEFuturesInstrumentsFuturesInstrumentsDataAdditional Fields (Provider-Specific)
settlement_price— official daily settlement (distinct from close)open_interest— daily OI from CMEtick_size,point_value,multiplier— contract specificationssession(RTH/ETH/globex) — for session-aware analysismargin_initial,margin_maintenance— from CME SPANPriority Symbols
Benefits
Implementation Notes
openbb-deribitas template for futures-specific models)FuturesHistoricalData,FuturesCurveData,FuturesInfoData,FuturesInstrumentsDataAcceptance Criteria