Futures roll calendar
Futures roll calendar for 139 markets
Every front-month roll since 2007: roll dates, expiries, next contracts and back-adjustments, plus the next estimated roll for every live market. Free with any FinzData key.
Upcoming rolls
The next estimated front-month roll for each of the 129 live markets, as of 2026-10-30, sorted by date. Each estimate follows that market's own roll habit over its last twelve rolls.
| Market | Root | Front month | Rolls to | Estimated roll date |
|---|---|---|---|---|
| Soybeans | ZS | ZSX26 | ZSF27 | 2026-11-02 |
| Cocoa | CC | CCZ26 | CCH27 | 2026-11-04 |
| Bel 20 | BFX | BFXX26 | BFXZ26 | 2026-11-10 |
| Amsterdam Index | FTI | FTIX26 | FTIZ26 | 2026-11-10 |
| Feeder Cattle | GF | GFX26 | GFF27 | 2026-11-10 |
| S&P GSCI | GSCI | GSCIX26 | GSCIZ26 | 2026-11-10 |
| Krw/USD | KRW | KRWX26 | KRWZ26 | 2026-11-10 |
| Lumber | LBS | LBSX26 | LBSH27 | 2026-11-10 |
| Aex Mini | MAX | MAXX26 | MAXZ26 | 2026-11-10 |
| Cac 40 Mini | MFC | MFCX26 | MFCZ26 | 2026-11-10 |
| Cboe Volatility Index (VIX) | VX | VXX26 | VXZ26 | 2026-11-10 |
| Mini VIX | VXM | VXMX26 | VXMZ26 | 2026-11-10 |
| CAC40 | FCE | FCEX26 | FCEZ26 | 2026-11-12 |
| Vstoxx Futures | FVSA | FVSAX26 | FVSAZ26 | 2026-11-12 |
| RBOB Gasoline | RB | RBZ26 | RBH27 | 2026-11-12 |
| WTI Crude Oil | CL | CLZ26 | CLF27 | 2026-11-13 |
| Micro WTI Crude Oil | MCL | MCLZ26 | MCLF27 | 2026-11-13 |
| 2-Year US Treasury Note | ZT | ZTZ26 | ZTH27 | 2026-11-13 |
| Live Cattle | LE | LEZ26 | LEG27 | 2026-11-16 |
| Aluminum | ALI | ALIF27 | ALIG27 | 2026-11-17 |
| Copper | HG | HGZ26 | HGH27 | 2026-11-18 |
| NY Harbor ULSD (Heating Oil) | HO | HOZ26 | HOH27 | 2026-11-18 |
| US Midwest Hot-Rolled Coil Steel | HRC | HRCX26 | HRCZ26 | 2026-11-19 |
| Coffee C | KC | KCZ26 | KCH27 | 2026-11-19 |
| Micro Ether | MET | METX26 | METZ26 | 2026-11-19 |
| Palladium | PA | PAZ26 | PAH27 | 2026-11-19 |
| Corn | ZC | ZCZ26 | ZCH27 | 2026-11-19 |
| Cash-Settled Butter | CB | CBZ26 | CBH27 | 2026-11-23 |
| Bitcoin | BTC | BTCX26 | BTCZ26 | 2026-11-24 |
| Cotton No. 2 | CT | CTZ26 | CTH27 | 2026-11-24 |
| Natural Gas | HH | HHZ26 | HHF27 | 2026-11-24 |
| KC HRW Wheat | KE | KEZ26 | KEH27 | 2026-11-24 |
| Henry Hub Natural Gas | NG | NGZ26 | NGF27 | 2026-11-24 |
| E-mini Natural Gas | QG | QGZ26 | QGF27 | 2026-11-24 |
| Silver | SI | SIZ26 | SIH27 | 2026-11-24 |
| Micro Silver | SIL | SILZ26 | SILH27 | 2026-11-24 |
| Inr/USD | SIR | SIRX26 | SIRZ26 | 2026-11-24 |
| Dutch TTF Natural Gas | TTF | TTFZ26 | TTFF27 | 2026-11-24 |
| Corn Mini | XC | XCZ26 | XCH27 | 2026-11-24 |
| 30-Day Federal Funds | ZQ | ZQX26 | ZQZ26 | 2026-11-24 |
| Chicago SRW Wheat | ZW | ZWZ26 | ZWH27 | 2026-11-24 |
| Brazilian Real | BR | BRZ26 | BRH27 | 2026-11-25 |
| Cash-Settled Cheese | CSC | CSCZ26 | CSCH27 | 2026-11-25 |
| Class III Milk | DC | DCZ26 | DCH27 | 2026-11-25 |
| Low Sulphur Gasoil | G | GZ26 | GH27 | 2026-11-25 |
| Gold | GC | GCZ26 | GCG27 | 2026-11-25 |
| One-Month SOFR | SR1 | SR1Z26 | SR1H27 | 2026-11-25 |
| US Treasury Bond | US | USZ26 | USH27 | 2026-11-25 |
| Oats | ZO | ZOZ26 | ZOH27 | 2026-11-25 |
| Brent Crude | B | BF27 | BG27 | 2026-11-26 |
| Brent Crude Oil (last day financial) | BZ | BZF27 | BZG27 | 2026-11-26 |
| Micro Bitcoin | MBT | MBTX26 | MBTZ26 | 2026-11-26 |
| Micro Gold | MGC | MGCZ26 | MGCG27 | 2026-11-30 |
| Lean Hogs | HE | HEZ26 | HEG27 | 2026-12-01 |
| Soybean Oil | ZL | ZLZ26 | ZLF27 | 2026-12-01 |
| Soybean Meal | ZM | ZMZ26 | ZMF27 | 2026-12-01 |
| 5-Year US Treasury Note | ZF | ZFZ26 | ZFH27 | 2026-12-02 |
| Milling Wheat | EBM | EBMZ26 | EBMH27 | 2026-12-04 |
| Euro-Bono | FBON | FBONZ26 | FBONH27 | 2026-12-04 |
| Long-Term Euro-BTP | FBTP | FBTPZ26 | FBTPH27 | 2026-12-04 |
| Short-Term Euro-BTP | FBTS | FBTSZ26 | FBTSH27 | 2026-12-04 |
| Euro-Bund | FGBL | FGBLZ26 | FGBLH27 | 2026-12-04 |
| Euro-Bobl | FGBM | FGBMZ26 | FGBMH27 | 2026-12-04 |
| Euro-Schatz | FGBS | FGBSZ26 | FGBSH27 | 2026-12-04 |
| Euro-Buxl | FGBX | FGBXZ26 | FGBXH27 | 2026-12-04 |
| Euro-OAT | FOAT | FOATZ26 | FOATH27 | 2026-12-04 |
| Nikkei 225 (Yen) | NIY | NIYZ26 | NIYH27 | 2026-12-04 |
| Nikkei 225 (USD) | NKD | NKDZ26 | NKDH27 | 2026-12-04 |
| Ultra US Treasury Bond | UB | UBZ26 | UBH27 | 2026-12-08 |
| 10-Year US Treasury Note | ZN | ZNZ26 | ZNH27 | 2026-12-08 |
| Australian Dollar | A6 | A6Z26 | A6H27 | 2026-12-09 |
| Canadian Dollar | AD | ADZ26 | ADH27 | 2026-12-09 |
| British Pound | B6 | B6Z26 | B6H27 | 2026-12-09 |
| Cocoa Futures | C | CZ26 | CH27 | 2026-12-09 |
| Standard-Size USD/Offshore RMB | CNH | CNHZ26 | CNHH27 | 2026-12-09 |
| US Dollar Index | DX | DXZ26 | DXH27 | 2026-12-09 |
| Swiss Franc | E1 | E1Z26 | E1H27 | 2026-12-09 |
| Euro FX | E6 | E6Z26 | E6H27 | 2026-12-09 |
| E-Mini Euro Fx | E7 | E7Z26 | E7H27 | 2026-12-09 |
| 3-Month Euribor | ER | ERZ26 | ERH27 | 2026-12-09 |
| E-Mini S&P 500 ESG | ESG | ESGZ26 | ESGH27 | 2026-12-09 |
| E-Mini S&P 400 Midcap | EW | EWZ26 | EWH27 | 2026-12-09 |
| Divdax | FDIV | FDIVZ26 | FDIVH27 | 2026-12-09 |
| Mini-DAX | FDXM | FDXMZ26 | FDXMH27 | 2026-12-09 |
| Micro-DAX | FDXS | FDXSZ26 | FDXSH27 | 2026-12-09 |
| Euro Stoxx 50 | FESX | FESXZ26 | FESXH27 | 2026-12-09 |
| Three-Month Euribor | FEU3 | FEU3Z26 | FEU3H27 | 2026-12-09 |
| Mini-Mdax | FSMX | FSMXZ26 | FSMXH27 | 2026-12-09 |
| Tecdax | FTDX | FTDXZ26 | FTDXH27 | 2026-12-09 |
| FTSE 100 | FTUK | FTUKZ26 | FTUKH27 | 2026-12-09 |
| Stoxx Europe 600 Index | FXXP | FXXPZ26 | FXXPH27 | 2026-12-09 |
| Japanese Yen | J1 | J1Z26 | J1H27 | 2026-12-09 |
| E-Mini Japanese Yen | J7 | J7Z26 | J7H27 | 2026-12-09 |
| Micro E-mini Russell 2000 | M2K | M2KZ26 | M2KH27 | 2026-12-09 |
| Mini MSCI Eafe | MFS | MFSZ26 | MFSH27 | 2026-12-09 |
| MSCI Emerging Markets Index | MME | MMEZ26 | MMEH27 | 2026-12-09 |
| Micro E-mini Nasdaq-100 | MNQ | MNQZ26 | MNQH27 | 2026-12-09 |
| Mexican Peso | MP | MPZ26 | MPH27 | 2026-12-09 |
| MSCI China | MURA | MURAZ26 | MURAH27 | 2026-12-09 |
| New Zealand Dollar | N6 | N6Z26 | N6H27 | 2026-12-09 |
| Norwegian Krone | NOK | NOKZ26 | NOKH27 | 2026-12-09 |
| Pound / Yen | PJY | PJYZ26 | PJYH27 | 2026-12-09 |
| Psi 20 | PSI | PSIZ26 | PSIH27 | 2026-12-09 |
| Euro-British Pound | RP | RPZ26 | RPH27 | 2026-12-09 |
| E-mini Russell 2000 | RTY | RTYZ26 | RTYH27 | 2026-12-09 |
| Euro / Yen | RY | RYZ26 | RYH27 | 2026-12-09 |
| Swedish Krona | SEK | SEKZ26 | SEKH27 | 2026-12-09 |
| 3-Month Sonia | SO3 | SO3Z26 | SO3H27 | 2026-12-09 |
| Three-Month SOFR | SR3 | SR3Z26 | SR3H27 | 2026-12-09 |
| South African Rand | T6 | T6Z26 | T6H27 | 2026-12-09 |
| E-Mini Energy Select Sector | XAE | XAEZ26 | XAEH27 | 2026-12-09 |
| E-Mini Financial Select Sector | XAF | XAFZ26 | XAFH27 | 2026-12-09 |
| E-Mini Industrial Select Sector | XAI | XAIZ26 | XAIH27 | 2026-12-09 |
| MSCI Europe | ZRPA | ZRPAZ26 | ZRPAH27 | 2026-12-09 |
| MSCI Emerging Markets Asia | ZTWA | ZTWAZ26 | ZTWAH27 | 2026-12-09 |
| Pork Cutout | PRK | PRKZ26 | PRKG27 | 2026-12-10 |
| Ultra 10-Year US Treasury Note | TN | TNZ26 | TNH27 | 2026-12-14 |
| E-mini S&P 500 | ES | ESZ26 | ESH27 | 2026-12-15 |
| Micro E-mini S&P 500 | MES | MESZ26 | MESH27 | 2026-12-15 |
| E-mini Nasdaq-100 | NQ | NQZ26 | NQH27 | 2026-12-15 |
| DAX | FDAX | FDAXZ26 | FDAXH27 | 2026-12-16 |
| E-mini Dow ($5) | YM | YMZ26 | YMH27 | 2026-12-16 |
| MSCI World Index | FMWO | FMWOZ26 | FMWOH27 | 2026-12-17 |
| Frozen Concentrated Orange Juice | OJ | OJF27 | OJH27 | 2026-12-25 |
| Platinum | PL | PLF27 | PLJ27 | 2026-12-25 |
| Robusta Coffee | RM | RMF27 | RMH27 | 2026-12-25 |
| Canola | RS | RSF27 | RSH27 | 2026-12-25 |
| Rough Rice | ZR | ZRF27 | ZRH27 | 2026-12-25 |
| Sugar No. 11 | SB | SBH27 | SBK27 | 2027-02-22 |
What every row holds
- contract: the front-month contract
- first_date / last_date: its first and last trading day as front month
- expiry: the contract's last trading day
- next_contract and roll_date: what it rolled into, and when
- roll_days_before_expiry: trading days between the roll and expiry
- back_adjustment: the points added to that contract's prices in the back-adjusted continuous series, so adjusted price = raw price + back_adjustment
- status: rolled, or the current front month with its next roll estimated
The last three ES rows:
| Contract | First | Last | Expiry | Next | Roll date | Days before expiry | Back-adjustment | Status |
|---|---|---|---|---|---|---|---|---|
| ESM26 | 2026-03-16 | 2026-06-12 | 2026-06-18 | ESU26 | 2026-06-15 | 3 | +133 | rolled |
| ESU26 | 2026-06-15 | 2026-09-11 | 2026-09-18 | ESZ26 | 2026-09-14 | 4 | +67.75 | rolled |
| ESZ26 | 2026-09-14 | 2026-10-29 | nan | ESH27 | 2026-12-15 | +0 | current, next roll estimated |
How traders and quants use it
- Plan every roll. See when each of your positions rolls next, across every market you hold, and schedule the trade before liquidity moves to the next contract.
- Rebuild or verify any continuous series. Raw price plus the published back-adjustment gives the adjusted series exactly, so you can audit it or build your own with a different roll rule.
- Keep backtests clean. Flag roll days to remove artificial price jumps, and test whether your signals behave differently in roll windows.
- Measure roll cost and carry. The back-adjustment at each roll is the price gap between the old and new contract: contango or backwardation, contract by contract, since 2007.
- Build calendar spreads. Know which contract is front and which is next on any date, so both legs line up.
- Run a portfolio-wide roll schedule. One calendar for equity index, rates, energy, metals, agriculture, FX, crypto and volatility futures.
Get it in one line
GET https://api.finzdata.com/v1/futures/rolls?root=ES # one market
GET https://api.finzdata.com/v1/futures/rolls?root=ALL&format=csv # every marketimport finzdata # pip install -U finzdata
fz = finzdata.Client("YOUR_KEY")
fz.futures_rolls("CL") # crude oil roll history and next roll
fz.futures_rolls("ALL") # every marketOr ask Claude or ChatGPT through the FinzData AI connector: “When does ES roll next?” The roll calendar is included with every free key.
Frequently asked questions
What is a futures roll date?
The day a continuous futures series switches from the expiring front-month contract to the next one, usually as volume and open interest move to the new contract before expiry.
How many markets does the roll calendar cover?
139 futures markets, with 12,705 front-month periods since 2007: equity index, interest rate, energy, metals, agricultural, FX, crypto and volatility futures.
How is the next roll date estimated?
For each live market, the estimate places the next roll at the same point in the contract month as that market's last twelve rolls. It is an estimate; the calendar records the actual roll once it happens.
How does the back-adjustment work?
Each contract's prices in the back-adjusted continuous series are its raw prices plus that contract's back_adjustment, so price gaps at each roll are removed and returns are continuous.
Is the roll calendar free?
Yes. Every free FinzData key can download the full roll calendar. Full price history for any one futures market is $49, a one-time purchase.