Futures symbology (how platforms name one contract)

Futures symbology is the set of conventions a platform or data vendor uses to name an instrument. The same June 2026 Micro Nasdaq-100 contract is MNQM6 with exchange CME for Rithmic, 'MNQ 06-26' in NinjaTrader and MNQM6 in Quantower, while Databento also offers continuous symbols such as MNQ.v.0 and parent symbols such as MNQ.FUT that do not name one contract.

Senzoukria · Glossary · Updated September 2026


The parts of a futures symbol

  • Root: the product (MNQ, ES, CL).
  • Month code: the delivery month letter (M for June).
  • Year: one or two digits (6 or 26).
  • Exchange: the listing venue inside CME Group (CME, CBOT, NYMEX or COMEX), which some systems carry as a separate field or suffix.

One contract, several spellings

The June 2026 Micro E-mini Nasdaq-100 contract as different sources write it
SourceSpellingWhat it identifies
Rithmic (symbol + exchange)MNQM6 on CMEOne contract
NinjaTraderMNQ 06-26One contract
QuantowerMNQM6One contract
Databento raw symbolMNQM6One contract
Databento continuousMNQ.v.0Whichever contract ranks first by the roll rule on each day
Databento parentMNQ.FUTEvery MNQ instrument, spreads included

Continuous and parent symbols

A continuous symbol names a rule rather than a contract. In Databento's convention the middle letter is the roll rule (c calendar, n open interest, v volume) and the number is the rank, 0 being the first. The instrument behind MNQ.v.0 changes at the roll, so the symbol alone does not tell you which expiry a trade belongs to. A parent symbol groups every instrument of the product, outrights and spreads, which is convenient for bulk downloads and dangerous for charting.

In Senzoukria

Bars in the local cache are keyed as ROOT + month code + year digit + '.' + exchange. Rithmic already builds that form; bridge symbols are normalised to it when they are stored, so 'MNQ 06-26' from NinjaTrader and MNQM6 from Quantower both land under MNQM6.CME. Without that step the same contract would occupy three sets of rows that cannot see each other, and switching connector would look like an empty cache. A symbol whose root is not in the catalogue keeps its raw key rather than being dropped.

The Databento importer reads the symbol mapping instrument by instrument: a raw symbol maps to a catalogue contract; a continuous series is stored as MNQ-I followed by the instrument id under the MNQ root, because the series does not name the contract; a parent such as MNQ.FUT is not imported, since its mapping includes spreads that cannot be told apart from contracts without the instrument definitions.

Worked example

'MNQ 06-26' is parsed as root MNQ, month 06, year 26. Month 06 converts to M, year 26 to the digit 6, and the catalogue maps MNQ to CME, giving the key MNQM6.CME. A mistaken month table that turned 06 into U would produce MNQU6.CME, the September contract, and silently mix two expiries.

Common mistakes

  • Comparing bars stored under two spellings of the same contract and concluding that history is missing.
  • Placing orders on a continuous symbol; orders go to a specific expiry.
  • Downloading a parent symbol and charting spreads as if they were outright prices.

In the same section

This page in other languages

Frequently asked questions

Is MNQ.v.0 a contract I can trade?
No. It is a continuous series that follows whichever MNQ contract ranks first by volume on each day. It is useful for research across rolls, but orders are always placed on a specific contract such as MNQU6.
Why would my history look empty after switching from a bridge to Rithmic?
Because data written under one spelling is invisible to a lookup made with another. Senzoukria normalises known bridge spellings to one key when it stores them; a contract whose root is not in its catalogue keeps its raw spelling, and bars stored that way are only found under that spelling.

Keep reading