Futures month codes (F to Z)

Futures month codes are the single letters exchanges use for a contract's delivery month: F January, G February, H March, J April, K May, M June, N July, Q August, U September, V October, X November, Z December. Joined to a product root and a year digit they name one expiry, such as ESZ6 or CLF7.

Senzoukria · Glossary · Updated September 2026


At a glance

Codes
F G H J K M N Q U V X Z
Quarterly months
H (Mar), M (Jun), U (Sep), Z (Dec)
Symbol pattern
Root + month code + year digit(s)

The twelve codes

Every delivery month has a fixed letter, and the same table is used across CME Group products. A product only lists some of these months (see its listing cycle), but the letter for a given month never changes: Z is December for equity indices, Treasuries, crude oil and cattle alike.

Month codes with an example symbol built from a product that lists that month
CodeMonthExample symbolReads as
FJanuaryCLF7WTI crude oil, January 2027
GFebruaryGCG7Gold, February 2027
HMarchESH7E-mini S&P 500, March 2027
JAprilGCJ7Gold, April 2027
KMayZCK7Corn, May 2027
MJuneNQM7E-mini Nasdaq-100, June 2027
NJulyZSN7Soybeans, July 2027
QAugustGCQ7Gold, August 2027
USeptember6EU7Euro FX, September 2027
VOctoberGCV6Gold, October 2026
XNovemberZSX6Soybeans, November 2026
ZDecemberESZ6E-mini S&P 500, December 2026

Reading a full symbol

A contract symbol is root + month code + year. The root identifies the product (ES, MNQ, CL, GC), the letter the delivery month, and the digits the year. Most platforms write one year digit (ESZ6), some write two (ESZ26), and bridges to other platforms may use a different layout altogether, such as NinjaTrader's 'MNQ 06-26'.

One digit repeats every ten years, so it has to be resolved to a decade. The usual rule is the nearest listed contract: read in 2026, the 6 of ESZ6 means December 2026, not 2036.

  • ESZ6 = ES root, Z = December, 6 = 2026.
  • MNQ 06-26 = MNQ root, month 06 = June = M, year 26 = 6, so the same contract as MNQM6.
  • CLF7 read in late 2026 = the January 2027 crude contract, the next year's first month.

Why it matters for an order flow trader

A footprint, a DOM or a heatmap is built on one exact contract. A wrong letter does not produce an error on most feeds; it subscribes to another expiry, often one that barely trades, and the chart looks like a dead market. Around the roll, the difference between ESU6 and ESZ6 is the difference between the contract everyone is leaving and the one everyone is joining.

In Senzoukria

The application's calendar uses the string FGHJKMNQUVXZ in calendar order and builds each front-month symbol as root + code + last digit of the year, for example MNQU6 or CLU6. When it reads a bridge symbol written as 'MNQ 06-26', it converts the month number with a strict table: 06 is M (June). Its source code names the classic confusion explicitly, reading 06 as U (September), which would file a June contract under a September key and merge two price series.

When a symbol is typed for the heatmap book, the application checks that what follows a known root is a month code followed by one or two digits. It checks the form, not whether the product lists that month, so a deferred contract remains reachable; whether such a contract exists is then decided by the feed.

Common mistakes

  • Reading a two-digit month (06) as the sixth letter of some list instead of the code M.
  • Taking the year digit for the wrong decade when a symbol is old or far out.
  • Assuming a product lists every month because a code exists for it: ES has no F, G or J contracts.
  • Typing a code that is valid in form but not listed, then reading the empty chart as a feed problem.

In the same section

This page in other languages

Frequently asked questions

What is the month code for September futures?
U. September contracts carry the letter U, so the September 2026 E-mini S&P 500 is ESU6 and the September 2026 Micro Nasdaq-100 is MNQU6.
Does Z6 mean 2026 or 2016?
It means the nearest December contract with a year ending in 6 that is listed or recently expired, which in 2026 is December 2026. A one-digit year is only unambiguous within a decade, which is why some platforms write two digits.
Why do some platforms write MNQ 06-26 instead of MNQM6?
It is a different display convention for the same contract: month number and two-digit year instead of month code and one digit. Software that stores data from several platforms has to normalise both spellings to one key, otherwise the same contract ends up stored twice.

Keep reading