QuantConnect / QuantConnect/Lean

Add CME 1-Ounce Gold (1OZ), Spot-Quoted Nasdaq-100 (QNDX), and Micro Ultra 10-Year Treasury Note (MWN) futures

Open
#9,622 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
21.7k
Forks
5.3k
Avg merge
2d 22h
Merged PRs (30d)
34

Description

Feature request

Add symbol-master support for three CME Group futures products that are currently missing from LEAN:

  1. 1-Ounce Gold futures — Globex/ClearPort code 1OZ, COMEX. Cash-settled to the 100-oz Gold (GC) contract at 1/100 size (1 troy oz). Tick $0.25/oz. Monthly listings in the Feb/Apr/Jun/Aug/Oct/Dec cycle. Specs: https://www.cmegroup.com/markets/metals/precious/1-ounce-gold.html · FAQ: https://www.cmegroup.com/articles/faqs/faq-1-oz-gold-futures.html
  2. Spot-Quoted Nasdaq-100 futures — code QNDX, CME. Part of CME's Spot-Quoted futures family (launched June 2025): smaller than Micros, quoted at the cash-index spot level, long-dated expiries with a daily financing adjustment instead of monthly/quarterly rolls. Specs: https://www.cmegroup.com/markets/equities/nasdaq/spot-quoted-nasdaq-100.html · FAQ: https://www.cmegroup.com/articles/faqs/faq-spot-quoted-futures.html
  3. Micro Ultra 10-Year U.S. Treasury Note futures — code MWN, CBOT. 1/10th the size of the Ultra 10-Year (TN) contract ($10,000 face value), launched 2024 alongside the companion Micro Ultra U.S. Treasury Bond (MWB). Unlike TN it is cash-settled: final settlement is based on the TN daily settlement price two business days before the first delivery day of the named contract month. Quarterly listing cycle matching TN. Specs: https://www.cmegroup.com/markets/interest-rates/us-treasury/micro-ultra-10-year-us-treasury-note.html · Overview: https://www.cmegroup.com/markets/interest-rates/micro-treasury-futures.html
Current state

None of these tickers is registered anywhere in LEAN, so AddFuture() cannot resolve them, which also blocks live trading and live data through the Interactive Brokers integration even when IB itself lists the products:

  • Common/Securities/Future/Futures.cs — Gold family has GC, MGC (line 1752), MGT, YG, ZG; Nasdaq family has NQ, MNQ. No 1OZ, no QNDX. The Financials family has the full-size treasuries (ZB, ZN, ZF, ZT, UB, TN) and the Micro Treasury Yield contracts (10Y, 30Y, 2YY, 5YY), but no MWN — i.e. the yield micros are mapped while the note/bond micros are not.
  • Common/Securities/Future/FuturesExpiryFunctions.cs — no expiry entries for any of the three (nearest relatives: MGC at line 2843, MGT at line 2877, TN for MWN).
  • Data/symbol-properties/symbol-properties-database.csv — no comex,1OZ,... / cme,QNDX,... / cbot,MWN,... rows (cf. comex,MGC,future,Micro Gold Futures,USD,10,0.1,1,,1 at line 314; cbot,TN,future,Ultra 10-Year U.S. Treasury Note Futures,... at line 229; the yield micros at lines 218–221).
  • Data/market-hours/market-hours-database.json — no Future-comex-1OZ / Future-cme-QNDX / Future-cbot-MWN entries (cf. Future-comex-MGC, Future-cbot-TN).
Proposed change
  • Add ticker constants: Futures.Metals.OneOunceGold = "1OZ", Futures.Indices.SpotQuotedNasdaq100 = "QNDX", and Futures.Financials.MicroUltraTenYearUSTreasuryNote = "MWN" (naming up to maintainers).
  • Add symbol-properties rows, market-hours entries, and expiry functions for all three.
  • 1OZ should be straightforward — it mirrors MGC/GC with a 1x multiplier and the standard COMEX gold calendar.
  • MWN should also be straightforward — it mirrors TN's CBOT calendar at 1/10 size (contract multiplier 100 vs TN's 1000), with the caveat that it is cash-settled (settlement type differs from the physically-delivered TN).
  • QNDX needs design attention: Spot-Quoted futures don't follow the quarterly-roll model (single long-dated expiry per contract, daily financing adjustment applied by the exchange). The expiry function and any continuous-contract mapping assumptions should be reviewed before wiring it into the standard futures chain machinery.
Notes
  • Historical data: 1OZ and QNDX are not in the AlgoSeek US Futures dataset (157-product list), and MWN does not appear in it either, so backtest data onboarding is a separate, additional step for each. Symbol registration alone would at least unblock live trading + live IB data.
  • No existing issues/PRs reference 1OZ, QNDX, "spot-quoted", or MWN in this repo.
  • Origin: customer requests via Intercom conversations 215475081875338 (1OZ, QNDX) and 215475396354863 (MWN).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Common/Securities/Future/Futures.cs and compare the existing MGC and TN entries, then inspect the related entries in FuturesExpiryFunctions.cs, symbol-properties-database.csv, and market-hours-database.json. Review how AddFuture and continuous-contract mapping handle expiry models before deciding how QNDX fits. Done means all three symbols resolve with their constants, properties, market hours, expiry behavior, and the MWN cash-settlement distinction represented.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.