Futures Contract Month Codes: The Complete Decoder (F to Z)
Futures month codes decoded: full CME chart, reverse code-to-month lookup, ESZ6 explained, 2026/2027 year digits, roll dates and platform differences.

By Marcel Hambálek · Senior Trader, For Traders
Futures month codes are twelve single letters that stand for the twelve delivery months: F=January, G=February, H=March, J=April, K=May, M=June, N=July, Q=August, U=September, V=October, X=November, Z=December. In a ticker like ESZ6, read right to left: 6 is the year (2026), Z is the month (December), ES is the product root (E-mini S&P 500).
Key takeaways
- The twelve month codes in calendar order are F, G, H, J, K, M, N, Q, U, V, X, Z — and they are identical on CME, CBOT, NYMEX, COMEX, ICE and Eurex.
- Parse any ticker right to left: year digit first, then the month letter, then whatever is left is the product root (ESZ6 = E-mini S&P 500, December 2026).
- The 2026 year digit is 6 and the 2027 digit is 7; platforms that list contracts more than ten years out switch to two digits (Z26, Z27) to kill the Z6-vs-Z36 ambiguity.
- Index, rates and FX futures trade on the quarterly cycle H, M, U, Z (March, June, September, December) — learn those four letters first and you cover most of your screen.
- Bloomberg, ICE, TradingView, Tradovate and NinjaTrader all use the same letters but different root and year formatting for the same December 2026 contract.
- The real roll trigger is the volume and open-interest crossover into the next contract, not the exchange roll date — and on a simulated funded account an un-rolled position can be closed for you at first notice day.
Watch: related video
Futures Month Codes at a Glance: The Twelve Letters
The full set, in order: F, G, H, J, K, M, N, Q, U, V, X, Z. Those twelve letters are the entire futures month code alphabet used by CME Group and every other major derivatives exchange. No tenth-grade cipher, no exchange-specific dialect — one letter per delivery month, period. If you trade ES, CL, GC, or ZB, you're reading the same code every single time.
Month to code chart (with quarterly-cycle flag)
The quarterly cycle — H, M, U, Z — is the backbone of futures month code charts because index and bond futures (ES, NQ, ZB) trade almost exclusively on those four months. Gold and crude run a fuller calendar.
| Month | Code | Quarterly? | Typical products |
|---|---|---|---|
| January | F | No | Crude (CL), Natural gas (NG) |
| February | G | No | Crude (CL), Natural gas (NG) |
| March | H | Yes | ES, NQ, ZB, Gold (GC) |
| April | J | No | Crude (CL), Gold (GC) |
| May | K | No | Crude (CL), Gold (GC) |
| June | M | Yes | ES, NQ, ZB, Gold (GC) |
| July | N | No | Crude (CL), Natural gas (NG) |
| August | Q | No | Crude (CL), Gold (GC) |
| September | U | Yes | ES, NQ, ZB, Gold (GC) |
| October | V | No | Crude (CL), Natural gas (NG) |
| November | X | No | Crude (CL), Natural gas (NG) |
| December | Z | Yes | ES, NQ, ZB, Gold (GC), Crude (CL) |
Code to month: reverse lookup for an unknown ticker
Staring at an unfamiliar symbol and need the month, not the letter? Flip the lookup:
| Code | Month | Code | Month |
|---|---|---|---|
| F | Jan | N | Jul |
| G | Feb | Q | Aug |
| H | Mar | U | Sep |
| J | Apr | V | Oct |
| K | May | X | Nov |
| M | Jun | Z | Dec |
Notice who's missing: there's no I, L, O, P, R, S, T, W or Y. Those nine letters were dropped historically to avoid confusion with numerals and order-type abbreviations on the old pit floor — they never made it into the standard, and they still don't exist today.
Are the codes the same on CBOT, NYMEX, COMEX, ICE and Eurex?
Yes — the letters are exchange-agnostic. A December gold contract trades as GCZ6 on COMEX, a December crude contract trades as CLZ6 on NYMEX, December wheat is ZWZ6 on CBOT, and you'll find the same Z sitting on a December ICE Brent contract or a December Eurex Bund future. The root symbol changes with the exchange and product; the month letter doesn't. Learn the twelve letters once and you can read a futures contract month code chart anywhere futures trade.
How to Read a Futures Ticker: ESZ6 Decoded
Read any futures ticker right to left: the last digit is the year, the letter before it is the month code, and whatever's left on the far left is the product root. That's the entire rule. No exceptions, no special cases for different exchanges — CME Globex, NYMEX, and COMEX all follow it.
The right-to-left parsing rule
Most traders learn tickers left to right because that's how we read everything else, and that's exactly why ESZ6 trips people up at first glance. Flip your approach. Strip the year digit off the end first. Then strip the month letter sitting just before it. What's left — however many characters remain — is the product root. Three strips, three answers, every time.
ESZ6, GCG7, CLX6 and NQH7 worked through
Let's run the four you'll actually see on a quote screen:
- ESZ6 — strip the 6 (2026), strip the Z (December), left with ES: the E-mini S&P 500 ES, December 2026 delivery, trading on CME Globex. This is the esz6 index contract you'll see quoted in most futures trading rooms once the September contract rolls off.
- GCG7 — strip the 7 (2027), strip the G (February), left with GC: COMEX Gold GC, February 2027.
- CLX6 — strip the 6 (2026), strip the X (November), left with CL: WTI Crude Oil CL, November 2026, on NYMEX.
- NQH7 — strip the 7 (2027), strip the H (March), left with NQ: the E-mini Nasdaq-100 NQ, March 2027.
Four tickers, four exchanges' worth of products, same three-step strip every time. Once this clicks you stop sounding out letters and just read the symbol the way you read a price.
Micros, roots and where the confusion starts (MES vs ES, MGC vs GC)
Here's where new futures traders usually stub their toe: product roots aren't always two characters. The Micro E-mini MES and MNQ contracts — fractional-size versions of ES and NQ built for smaller accounts — simply prefix an M onto the standard root. Micro Gold MGC does the same thing against COMEX Gold GC. The month and year logic doesn't change one bit: MESZ6 is the Micro E-mini S&P 500 for December 2026, parsed with the exact same right-to-left rule as its full-size sibling. The only difference is contract size and margin, not how you decode the ticker.
You'll also see some data feeds and brokers insert a space, a slash, or a colon between root and expiry — ES Z6, ES/Z6, ES:Z6 — purely a formatting choice of the platform. The underlying sequence of root, month, year never moves. Learn to spot it once and every futures contract code on every venue reads the same way.
The Year Digit: 2026 Is 6, 2027 Is 7 — and the Z26 Trap
The year digit in a futures contract month code is just the last digit (or two) of the calendar year the contract expires. Right now, in 2026, the 2026 futures year digit is 6, so December 2026 is Z6. Roll forward a year and December 2027 becomes Z7. Simple — until you hit a product that insists on two digits, and suddenly Z6 and Z26 are competing for the same contract on your screen.
Single-digit years and the ten-year wrap-around
Single-digit year codes work fine for short-dated, actively traded futures because nobody's confused about which decade they're in — ESZ6 is obviously December 2026, not December 2016 or 2036, because the E-mini S&P never lists contracts that far out. But the single digit only has ten possible values (0-9), so it wraps every ten years. That's harmless for index and energy futures with short curves, but it becomes a real problem for anything with longer-dated listings.
When platforms use two digits (Z26, Z27) instead of one
Grain futures, interest rate futures, and some long-dated energy curves can have contracts listed years into the future — a 10-year Treasury note future or a Eurodollar-style rate strip might list expiries five, seven, even ten years out. On those products, ZCZ6 is genuinely ambiguous: it could technically mean December 2026 or December 2036. That ambiguity is exactly why CME contract month codes and most modern trading platforms default to a two-digit year for anything with a longer curve — writing it as Z26 for December 2026, removing the guesswork entirely.
Z6 vs Z26 vs Z36: how to tell which decade you're looking at
The practical test is simple: don't guess from the digit count, check the listed expiry date in the contract specs. Every exchange publishes the full expiration calendar, and your broker's contract detail screen will show the actual date next to the symbol.
| Symbol | Format | Decoded |
|---|---|---|
| Z6 | Single digit | December 2026 (within current 10-yr window) |
| Z26 | Two digit | December 2026 (explicit) |
| Z36 | Two digit | December 2036 |
One more wrinkle worth flagging: continuous contract symbols like ES1! or ESc1 — common on TradingView and other charting platforms — carry no year at all. These stitch together successive front-month contracts into one chart for long-term technical analysis, which is great for reading trend but useless for knowing exactly which expiry you'd actually be trading. For execution, you always need the real future month code with its year digit attached.
Every Month Code, One Month at a Time
Twelve letters, twelve months, no ambiguity once you've got them memorized. Here's the full decoder, one month at a time, with real tickers so you can see each code in context instead of just staring at a chart.
The month code for January is F
The month code for January is F — think "F for Frost," since it's deep winter in most of the Northern Hemisphere. You'll see it in natural gas as NGF7 (January Henry Hub Natural Gas NG), a serial contract that trades heavily because heating demand peaks hard in January.
The month code for February is G
The month code for February is G. Gold trades a February contract constantly — GCG7 is one of the more liquid non-quarterly gold expiries on the board, since gold runs on a near-monthly cycle rather than the standard quarterly one.
The month code for March is H
The month code for March is H, and this one matters because March is a quarterly-cycle month. ZNH7 (March 10-Year T-Note ZN) is a classic example — Treasury futures only list the quarterly cycle (H, M, U, Z), so H-contracts carry real volume and open interest.
The month code for April is J
The month code for April is J. It's a serial month for most financial futures but a key one for grains — corn, wheat, and soybeans all see meaningful April activity as traders position ahead of spring planting decisions.
The month code for May is K
The month code for May is K — and this is the first of the classic mix-ups. New traders expect "M" for May since it starts with the letter, but M belongs to June. K for May has stuck since the original CBOT coding scheme and shows up constantly in Soybeans ZS and Corn ZC contracts tied to the crop cycle.
The month code for June is M
The month code for June is M. It's one of the four quarterly-cycle months for equity index and interest rate futures, so 6EM7 (June Euro FX 6E) is a standard, liquid quarterly contract you'll see quoted everywhere.
The month code for July is N
The month code for July is N — another crop-cycle anchor. July corn and soybean contracts (ZCN6, ZSN6) are critical because they settle right around peak growing-season weather risk, which is exactly when grain volatility spikes.
The month code for August is Q
The month code for August is Q, the second classic confusion point since there's no obvious letter link. Q is mostly a serial month for metals and energy — you won't find it in the quarterly financial cycle at all.
The month code for September is U
The month code for September is U. Like March, June, and December, September is a quarterly-cycle month — ESU6 and 6EU6 both trade as standard quarterly expiries with strong liquidity heading into the September roll.
The month code for October is V
The month code for October is V — commonly confused with November since neither letter matches the month name intuitively. V is mostly a serial/crop month; natural gas and crude both see active October expiries ahead of winter demand builds.
The month code for November is X
The month code for November is X, the futures contract months' most-confused letter. The november futures code X has nothing to do with the word "November" — it's simply next in the alphabet sequence after skipping used letters. CLX6 (November Crude Oil) is one of the most heavily traded contracts on the entire commodity complex.
The month code for December is Z
The month code for December is Z, closing out the alphabet and the quarterly cycle. ZCZ6 (December Corn) and ESZ6 (December E-mini S&P 500) both trade as major quarterly contracts — Z-months are consistently among the highest open-interest expiries of the year.
The Quarterly Cycle: Why H, M, U and Z Dominate Your Screen
Most of the index, rate and FX contracts you trade only ever use four of the twelve month codes — H, M, U and Z — because they're listed on the quarterly futures contract cycle: March, June, September, December. If you trade E-mini S&P 500 ES, 10-Year T-Note ZN, or Euro FX 6E, you can forget F, G, J, K, N, Q, V and X exist. They don't apply to your product.
Which contracts list only March, June, September and December
The quarterly cycle is the default for financial futures. E-mini S&P 500 (ES), Micro E-mini S&P (MES), E-mini Nasdaq (NQ), Micro Nasdaq (MNQ), 10-Year T-Note (ZN), T-Bond (ZB), and the major FX futures — Euro FX (6E), British Pound (6B), Japanese Yen (6J) — all roll on H, M, U, Z. Four expiries a year, and the market concentrates volume into whichever one is currently "front month." That's why you'll see ESZ6 everywhere right now and barely a print on ESH7 until the roll window opens.
Serial months, crop months and why energy lists all twelve
Energy breaks the quarterly mold entirely. Crude Oil (CL) and Natural Gas (NG) list all twelve months, often several years out, because refiners, airlines and utilities need to hedge specific calendar months — December heating demand isn't interchangeable with June. Agriculture follows its own logic: the crop cycle. Corn (ZC) trades H, K, N, U, Z — tied to planting, growing and harvest windows, not an even quarterly split. Options on futures add another layer: serial options on futures expire in months where no corresponding futures contract exists, settling into the nearest quarterly future instead, and many products now also run weekly expiries on top of the standard cycle.
What quarterly listing means for liquidity and spreads
The front quarterly contract carries the volume and the open interest — that's where your fills are clean and spreads are tight. Move two or three quarterly months out on ES or ZN and liquidity thins fast; you can still get filled, but slippage creeps in and resting size gets harder to work. Energy and ag traders deal with the opposite problem — thin serial months scattered between the liquid ones. Know which bucket your product falls into before you place size.
| Product | Cycle Type | Months Listed |
|---|---|---|
| E-mini S&P 500 (ES), ZN, 6E | Quarterly | H, M, U, Z |
| Crude Oil (CL), Natural Gas (NG) | All calendar months | F, G, H, J, K, M, N, Q, U, V, X, Z |
| Corn (ZC) | Crop cycle | H, K, N, U, Z |
Ready to trade funded capital?
Choose your path — Instant Accounts, One-Step or Two-Step Challenges — from just $23, with up to $300,000 in funded capital.
Choose your challengeSame Letters, Different Tickers: CME vs Bloomberg vs ICE vs Retail Platforms
The month code itself never changes — Z is always December, no matter which screen you're looking at. What changes is the wrapper the platform builds around it, and that's where traders get tripped up comparing a chart on one app to an order ticket on another.
The same December 2026 contract across six systems
Take two contracts everyone trades: the E-mini S&P 500 and gold. Both expire December 2026. Here's how the identical contract gets rendered depending on where you're looking:
| System | E-mini S&P 500, Dec 2026 | Gold, Dec 2026 |
|---|---|---|
| CME Globex (native) | ESZ6 | GCZ6 |
| Bloomberg | ESZ6 Index | GCZ6 Comdty |
| Refinitiv (Eikon) | ESc1 / ESZ6 | GCc1 / GCZ6 |
| TradingView | CME_MINI:ES1! | COMEX:GC1! |
| Tradovate | ESZ6 | GCZ6 |
| NinjaTrader | ES 12-26 | GC 12-26 |
Same contract, six different strings. Pull up a Bloomberg terminal next to a NinjaTrader DOM and you'd swear they're quoting different markets — they're not.
Bloomberg month codes and the <Index> / <Comdty> suffix
Bloomberg month codes follow the same F-to-Z alphabet, but every ticker carries a "yellow key" suffix that tells the terminal which asset class to search. Equity index futures get Index (ESZ6 Index), metals and energy get Comdty (GCZ6 Comdty, CLZ6 Comdty), and currency futures get Curncy. Drop the suffix and Bloomberg either guesses wrong or throws nothing back. If you're reading a Bloomberg screenshot in a research note, that yellow tag isn't decoration — it's the asset-class key.
ICE Futures symbology for Brent and softs
ICE month codes use the identical F-to-Z letters, but the root symbols diverge from CME. ICE Futures Brent trades as B, so December 2026 Brent is BZ6 on ICE's own symbology (some vendors render it QOZ6 or B Z6 depending on feed). Softs — cocoa (CC), coffee (KC), cotton (CT), sugar (SB) — follow the same letter-month logic ICE inherited from the old NYBOT contracts. The letters are consistent; it's the root ticker that needs a separate lookup per exchange.
TradingView, Tradovate and NinjaTrader continuous contracts
Retail platforms add a layer CME traders rarely see: the continuous contract. TradingView futures symbols ending in 1! (ES1!, GC1!) and Refinitiv's c1 notation both mean "front-month, continuously rolled" — a synthetic, back-adjusted price series stitched together as contracts expire. Tradovate and NinjaTrader use these continuous feeds for charting too, but route your actual order to the specific expiry (ESZ6), never to the c1/1! symbol.
This distinction matters more than it looks. Back-adjusted history smooths the roll gaps so your indicators don't jump — useful for backtesting, dangerous for execution. The candle you see on a 1! chart at 2:00 PM isn't necessarily the price available in the live order book; that's the specific contract month, with its own bid/ask and its own open interest. Confirm the expiry code before you click buy.
How to Remember Futures Month Codes
The fastest path to fluency: learn H, M, U, Z first — the quarterly four — and you can already read ES, NQ, ZB, ZN and most FX futures tickers without hesitation. Everything else is a bonus layer you build once that quarterly skeleton is automatic.
Learn H, M, U, Z first — it covers most of what you trade
H (March), M (June), U (September), Z (December) are the quarterly expiration months — the ones that carry the bulk of volume and open interest in index futures, Treasury futures, and most currency futures. If you trade ES, NQ, 6E, or ZB, you're almost always rolling between H, M, U, and Z contracts. Lock those four letters to those four months and you've handled the trades you'll actually place 80% of the time. The remaining eight letters matter more for commodities and energy, where every calendar month trades actively.
Mnemonics that actually stick
Once H-M-U-Z is automatic, fill the gaps with a futures month code mnemonic that follows the letter sequence instead of fighting it:
- F-G-H-J-K (Jan–May): alphabetical, skipping I (too close to 1) — F, G, H, J, K just walks forward. Say it like a countdown: "F-G-H, J-K."
- M-N-Q (Jun–Aug): M and N sit side by side for June and July — the only back-to-back letter pair in the whole set — then Q jumps in for August because O and P are skipped (too easily confused with zero and options-related letters).
- U-V-X-Z (Sep–Dec): the tail end steps through the alphabet again, skipping W and Y. Think "UV rays in X-tra cold Zero temps" if you need an image to anchor it.
Pin a futures month code chart next to your trading screen for the first two weeks. You won't need it by week three.
The three letters people always get wrong
Three codes cause almost every mix-up traders report:
- K for May — people expect M, but M is already taken by June.
- Q for August — there's no obvious letter link; it's simply the next available letter after N.
- X for November — traders guess N (July) or even Z (thinking "near year-end"), but November is X.
Run a five-minute drill daily: pull up a futures contract table, cover the month column, and decode five random tickers — ticker to month and month to ticker, both directions. Do it for a week and K, Q, and X stop being the ones you second-guess before you hit submit on an order.
Contracts in Play: December 2026 and January 2027 Expiries
Right now, the most actively traded contracts on the board carry a Z6 or F7 suffix — Z for December 2026, F for January 2027. Knowing which exchange lists which product matters as much as the month code itself, because margin schedules, trading hours, and last-trade dates all differ by venue.
December 2026 contracts and their listing exchange
December is the heaviest-volume month on the calendar for quarterly-cycle products — equity index futures and Treasuries both roll onto Z6 this cycle, while energy and metals keep trading their normal monthly sequence into Z6 as well. Here's the current lineup:
| Contract | Ticker | Month Code | Exchange |
|---|---|---|---|
| E-mini S&P 500 | ESZ6 | Z (December) | CME |
| E-mini Nasdaq-100 | NQZ6 | Z (December) | CME |
| COMEX Gold (GC) | GCZ6 | Z (December) | COMEX |
| Micro Gold | MGCZ6 | Z (December) | COMEX |
| WTI Crude Oil (CL) | CLZ6 | Z (December) | NYMEX |
| Henry Hub Natural Gas (NG) | NGZ6 | Z (December) | NYMEX |
| 10-Year Treasury Note | ZNZ6 | Z (December) | CBOT |
| Euro FX | 6EZ6 | Z (December) | CME |
COMEX, NYMEX, and CBOT are all part of CME Group, so if you're trading futures contract months 2026 across gold, crude, gas, and rates, you're on one clearing house even though the ticker roots look unrelated. Brent crude and the softs complex (sugar, cocoa, coffee) list separately on ICE Futures, and their December 2026 expiry follows the same Z6 logic even though the venue is different.
January 2027 contracts and their listing exchange
WTI crude and Henry Hub natural gas trade a full monthly cycle, so right behind CLZ6 and NGZ6 you already see January 2027 futures quoted and building volume: CLF7 and NGF7, both NYMEX, both carrying the F code for January. ICE Brent's front month rolls the same way — F7 picks up as the December Brent contract moves into last trading days. Equity index, Treasury, and FX futures don't list an F7 — they sit on quarterly months (H, M, U, Z), so ESH7 is the next stop after ESZ6, not ESF7.
Reading the expiry calendar before you size a position
This table reflects the current cycle as of this update — it repeats every quarter, so the same Z-to-H handoff happens again in March 2027, June 2027, and beyond. Before you size into any December 2026 futures expiry, check the exchange's official product calendar for the exact last-trade and first-notice dates, because those dates shift year to year even though the month code doesn't. Rolling a day late into first notice on a physically-settled contract like CLZ6 isn't a theoretical risk — it's a phone call from your broker you don't want to get.
Roll Mechanics: Exchange Roll Date, First Notice Day and the Real Trigger
None of the three dates exchanges publish is actually when most traders roll — the real trigger is the volume and open-interest crossover, usually a few sessions earlier. Get these three dates confused and you'll either roll too early and pay extra spread, or too late and get flattened by your prop firm's risk engine.
Exchange roll date vs first notice day vs last trading day
These are three different things that traders lump together constantly:
- Exchange roll date — an informal industry reference point (often tied to index provider methodology) for when the "front month" officially shifts in continuous charts and index weightings.
- First notice day (FND) — the date from which a short position in a physically-settled contract can be assigned a delivery notice. This only matters for physical products like CL (crude oil) and GC (gold); cash-settled contracts like ES and NQ don't have one.
- Last trading day (LTD) — the final day the contract trades at all, after which it either settles in cash or moves to delivery.
Why volume and open-interest crossover is the trigger that matters
Liquidity doesn't wait for a calendar date — it moves when the market decides it's done with the front month. The open interest roll happens when the next contract's volume and open interest overtake the current front month, typically 3-5 sessions before the official exchange roll date on ES and NQ. On physically-delivered products like CL and GC, that crossover happens earlier — often 1-2 weeks ahead of first notice day — because nobody holding a retail or prop account wants to be anywhere near delivery risk. Watch the crossover, not the calendar.
Month codes on options on futures, serial and weekly expiries
Month codes aren't exclusive to the futures contract itself — they sit underneath an entire options structure. A standard option on a futures contract (say, an ESZ6 option) expires alongside or just before the underlying quarterly futures contract. But serial and weekly options on futures layer on top of the quarterly futures contract cycle: you can trade a weekly option that expires in a non-quarterly month even though the underlying futures contract it settles into is still the nearest quarterly code (H, M, U, or Z). This trips up traders who assume every options ticker maps to a dedicated futures contract — it usually doesn't.
| Date Type | Applies To | What Happens | Typical Timing (relative to LTD) |
|---|---|---|---|
| OI/Volume Crossover | All futures | Liquidity shifts to next contract — the real roll trigger | 3-5 days (ES/NQ), 1-2 weeks (CL/GC) |
| First Notice Day | Physically-settled (CL, GC, ZC) | Shorts can be assigned delivery notice | Days to weeks before LTD, varies by product |
| Exchange Roll Date | Index futures (ES, NQ) | Reference point for continuous chart providers | ~1 week before LTD |
| Last Trading Day | All futures | Contract stops trading; cash settle or delivery | Day zero |
What happens to an un-rolled position on a simulated funded account
If you're trading futures rollover on a funded account and you ignore the crossover, the platform often makes the decision for you. Most prop trading futures setups — For Traders included — will flatten or block new entries in contracts approaching first notice day, specifically to protect against delivery exposure nobody on a simulated account actually wants. That's not a punishment; it's a backstop. Better to learn the discipline of rolling ahead of the crowd on simulated capital than find out your GCZ6 position got auto-closed the morning you meant to roll it yourself.
Ready to trade funded capital?
Choose your path — Instant Accounts, One-Step or Two-Step Challenges — from just $23, with up to $300,000 in funded capital.
Choose your challengeFrequently Asked Questions
What are futures month codes?+
Futures month codes are single-letter symbols — F, G, H, J, K, M, N, Q, U, V, X, Z — that CME, ICE, CBOT, NYMEX and COMEX use to mark a contract's delivery or expiry month inside its ticker. Each letter maps to one calendar month, January through December, so a trader can identify the exact contract month at a glance instead of spelling it out. The code sits right after the product root and before the year digit, for example the Z in ESZ6 flags a December expiry. These codes are standardized across US futures exchanges, which is why the same letter set works whether you're reading gold, crude, or Treasury futures.
What is the month code for November futures contracts?+
November's futures month code is X. So a December-cycle product trading its November leg — think CLX6 for November crude oil — carries the X right after the root symbol. November sits between October (V) and December (Z) in the code sequence, and it's a standalone-cycle month for energy products like crude and natural gas rather than part of the quarterly H-M-U-Z cycle used by equity index and rate futures.
How do you read a ticker like ESZ6?+
ES is the product root for the E-mini S&P 500, Z is the month code for December, and 6 is the single-digit year code for 2026. Reading left to right — root, month letter, year digit — works for essentially every CME, CBOT, NYMEX and COMEX ticker. Some platforms expand the year to two digits (ESZ26) to avoid confusing 2026 with 2036, which matters once you're trading contracts listed several years out, like long-dated interest rate futures.
Why do some platforms use Z26 instead of Z6 for the year?+
Platforms switch to a two-digit year code once a single digit becomes ambiguous — Z6 could technically mean December 2026 or December 2036 if a contract is listed that far out. Bloomberg and most retail platforms like TradingView, Tradovate and NinjaTrader default to the two-digit format for clarity, while legacy CME ticker plants often still show the single digit since near-month contracts rarely overlap across decades. When you're placing an order, always confirm which convention your broker's order ticket uses before you submit.
Which futures contracts trade on the quarterly H-M-U-Z cycle?+
Stock index futures (ES, NQ), interest rate futures (ZB, ZN), and major FX futures (6E, 6J) trade on the quarterly cycle using only four month codes: H (March), M (June), U (September), and Z (December). This cluster exists because these underlyings — equity benchmarks, government bonds, currency pairs — don't have the seasonal production or storage dynamics that drive commodities like corn or crude oil to list every single month. Fewer expiries also concentrate liquidity into four deep, heavily-traded contract months instead of spreading it across twelve thin ones.
Why do month codes skip letters like I, O, and S?+
The code set deliberately excludes I, O, L, P, R, S, T, W and Y mainly to avoid visual confusion with numbers and other codes — I looks like the number 1, O looks like 0, and several others simply weren't needed once twelve letters were assigned. The surviving twelve (F, G, H, J, K, M, N, Q, U, V, X, Z) were picked in part for how distinct they look on a ticker tape or terminal screen, a holdover from pre-digital trading floors where misreading a symbol by one letter could mean the wrong contract month entirely.
Do Bloomberg month codes differ from CME month codes?+
Bloomberg uses the identical twelve-letter CME code set (F through Z), so the month letter itself doesn't change — the difference shows up in formatting and root symbols. Bloomberg typically appends a two-digit year and its own product root (which can differ from the exchange ticker), so gold might appear as GCZ26 Comdty rather than the raw exchange symbol. TradingView, Tradovate and NinjaTrader generally mirror the exchange-native root and month code but vary on whether they default to one or two digits for the year.
When should you roll a futures contract to the next month?+
Most active traders roll based on volume and open interest crossing over to the next contract month, typically a few days to a week before the current month's last trading day — not on the exchange's official first notice day, which is usually earlier and matters more for physical delivery than for pure price exposure. Rolling too late risks shrinking liquidity and wider spreads as volume drains out of the expiring month; rolling too early means paying a less liquid, wider-spread price on the new contract. Check your specific product's first notice day and last trading day on the exchange calendar, since these dates vary by contract.
Written by
Marcel Hambálek
Senior Trader, For Traders
Marcel trades Futures and Forex day-trading setups on funded accounts and writes about the executional details most traders skip — order types, slippage, session timing, platform quirks on MT5 and NinjaTrader. Pragmatic, mechanics-first, no fluff.
Follow on LinkedInReady to trade funded capital?
Choose your path — Instant Accounts, One-Step or Two-Step Challenges — from just $49, with up to $300,000 in funded capital.
Choose your challengeTrade up to $300,000
Choose challenge