EN

Futures rollover: the art of never taking delivery#

Futures expire. It’s a detail the introductory guides dispose of in one line, and one that for years touched my portfolio only in passing: the two service contracts the bot rolled every quarter — the TRPS night guard, the DHCS hedge — are among the most liquid and harmless on the planet, and the Futures page had already said the essential about the economics of the roll: it costs a few ticks, it’s already inside the cost of carry, no hidden cost. Then came the CTA leg (The CTA bot page), and with it fifteen markets across six sectors: gold that delivers bars, currencies that deliver wire transfers, crude that in April 2020 went below zero. At that point the rollover stopped being a side note and became a chapter: in this page I collect what I wish I had found already written somewhere — which dates actually matter, where the liquidity goes, how to automate the gesture without surprises and what it costs. As always, all times in America/New_York.

The deadline is not the expiration#

I start from the question that sounds trivial and isn’t: how long can I hold this contract? If the answer that comes naturally is “until expiration”, you’re in good company — and that’s exactly the misconception this page wants to dismantle. The basic idea is this: every future has a date past which the position stops being an exposure to the price and becomes something else — a delivery obligation, or a fixing you didn’t choose — and that date depends on the contract’s settlement regime. There are four regimes, and it pays to know them all, because the difference between one and another can be worth a full calendar month.

The cash-settled: no delivery risk. The micro equity indices, the micro Treasury yield futures, the micros on crude, gas and copper, the micro grains: at expiration they settle in cash against a reference price, and nobody will ever ask you to deliver or receive anything. You can hold the position until the last trading day, which is why this family is the most approachable for a retail trader. There is, however, a footnote people gladly forget: “no delivery risk” does not mean “no deadline”. If you don’t roll, the bullet settlement closes the position at a price you didn’t choose, on a contract whose liquidity is already dead — in effect a missed roll, executed worse. And for the micro WTI that reference price inherits the dynamics of physical crude, April 2020 and negative prices included.

The physicals with a first notice day: the month of head start. Gold, silver and the grains (and their full-size siblings, copper included) deliver physically, and delivery is not a single event but a process that occupies the entire expiration month. To make that process work the exchange provides the first notice day: the first day a seller can serve a delivery notice on a buyer. And here comes the surprise for whoever watches only the expiration: that day falls on the last business day of the previous month — for gold almost a month before the last trading day, for the grains a couple of weeks. The full-size Treasuries follow the same logic under another name, the first position day at the end of the previous month. On these contracts, whoever writes the expiration in the diary is a month late on the real date.

Crude and gas: the exception that flips the order. Full-size WTI and natural gas are a story of their own: they stop trading around the 20th of the month before the delivery month, and first notice arrives one or two business days after the last trading day — the only case among the deliverables where the order flips. The operational deadline is therefore the last trading day itself. Why you don’t want to graze it, history explained better than any manual: the May 2020 WTI contract went below zero right up against that date, with people inside who had run out of time to get out. Roll with margin to spare, never in the final days.

The currencies: delivery with no warning. FX futures, micros included, are physical in the most literal sense: at expiration you deliver or receive the currency, on the third Wednesday of the month. There is no notice period: the last trading day — 10:16 two business days earlier, typically a Monday — is the only barrier. Crossing it isn’t a tragedy: it means receiving (or having to deliver) 12,500 euros per micro contract, an operation that institutional treasuries handle every quarter via CLS. But that’s precisely the point — it’s an institutional operation: a retail trader closes or rolls before.

And there is a fifth date, which often arrives before all the others because it’s set not by the exchange but by the broker. IBKR has no intention of handling bars or currency wires on its clients’ behalf, so it force-liquidates positions in physically delivered futures that cross its cutoff: for longs two business days before first notice, for shorts two before the last trading day. From here follows the rule the bot applies to every position: the deadline is the minimum of the broker’s cutoff, the estimated first notice, the last trading day of the contract held and a calendar floor that keeps it out of the delivery month regardless — minus one day of safety. And if one of these sources is missing, the system declares it and uses the most conservative one: never a silent gap on a date that can turn into a delivery.

Who rules the roll calendar

Five families, five calendars: for gold the date that matters (in red) precedes the end of trading by almost a month, for Treasuries the same holds with the first position day, for crude the last trading day arrives before first notice, for currencies and indices the barrier is the expiration itself. The shaded band is the window where rolling is convenient. Illustrative dates.

Where the liquidity goes#

Once you’ve established when you must roll, there remain the where and the when it’s convenient. Rolling means executing two trades — closing one contract, opening another — and trades execute well where the liquidity is. The first half of the answer concerns which contract to pick, because the list of months quoted on the exchange is much longer than the list of months worth holding: gold lists more than twenty consecutive months, but the liquidity lives in the six even months (February, April, June, August, October, December); silver in the January-March-May-July-September-December cycle; soybeans have seven expirations a year but none in December; indices and currencies concentrate everything on the four quarterlies. Every instrument, in short, has its holdable months, distinct from the merely listed ones, and the bot selects the contract inside that cycle and nowhere else: a fill on an illiquid serial month is not bad luck, it’s a configuration error — and those months’ spread eats the micros’ cost advantage in a single round.

The second half concerns the right moment, and the good news is that you don’t need to guess it: volume migrates from the expiring contract to the next one in a fairly predictable window — on the indices the week of the second Thursday of the expiration month, a convention worth about eight days before the end; on the currencies the two weeks leading up to expiration. Inside that window the next is already the most traded contract and the roll’s two legs execute on full books; too early and you pay the spread of a still-deserted contract, too late and you execute on the last usable day with no margin for surprises. And here too the final answer comes from the data, not from conventions: the front-to-next volume ratio on roll days can be measured, and after a few quarters of series it tells you, market by market, whether the configured days threshold falls in the liquid zone.

The twin trap. If you trade micros there is one more asymmetry to know, because it never plays in favor of whoever ignores it: the micros do not expire with their full-sizes. The micro WTI terminates one day before the standard contract; the micro copper a month before the full, because it stops trading in the month preceding the delivery month; the micro grains stop on the expiration day of the full-size’s options — the July contract dies on June 20; and the micro Treasury yields are monthlies with only two contracts listed at a time, which means twelve rolls a year against the quarterlies’ four: a triple friction cost, to budget for before you even start. The rule that saves you from all these traps is a single one: what counts is the last trading day of the contract in your hand, read from its own contract data, never the twin’s calendar.

The roll is hygiene, not a signal#

When you automate the roll there is a natural temptation: treating it like any other trade, with the same rules and the same cautions as the other orders. The bot’s design makes the opposite choice, and the motivation lies in an asymmetry: postponing a rebalance costs tracking error, postponing a roll can cost a delivery. So the roll doesn’t pass through the non-trading band, but it counts against the daily order cap, where it travels with priority: queued orders are sorted by days left to deadline, and a roll close to its own goes ahead of any rebalance. With one common-sense exception, already declared on the bot’s page: the rebalancing plan is computed before the roll, and an instrument that has to be taken to zero today anyway doesn’t get rolled — it’s closed on the contract in hand, one round of spread saved.

The roll is planned at birth. There is also a property of the problem I’ve come to appreciate more than any other: all the deadline’s dates are known — or already on disk — the moment the position opens. No market data, no estimates. The expected roll day — deadline minus the configured lead days — is therefore computed at the fill of every entry, communicated in the execution notification together with the date’s source, and archived: every position is born knowing when it will die. The corollary holds at entry too: never open on a contract whose deadline falls inside the roll window — you open directly on the next one, and the absurd case of a position due for rolling the day after it’s born disappears at the root.

The emergency ladder, written beforehand. What happens if the roll doesn’t fill? The answer is written in the code, not improvised on the evening of the second-to-last day — which is exactly the kind of decision automation exists to keep me from making. The normal roll starts with the configured lead — five trading days on the physicals — as a pair of limit orders at the mid that walk one tick toward the executable price, retried daily if unfilled. If two days from the deadline the roll still hasn’t gone through, the closing leg becomes an aggressive limit that chases the market, while the reopening stays patient. One day from the deadline you just close, no reopening: the position is lost for one cycle — for a slow signal that’s declared tracking error, not a drama — but delivery is excluded by construction.

The sentinel, and the channel that doesn’t die. Last layer, because everything above presupposes a living, well-configured bot. Once a day an independent check sweeps all the account’s futures positions — not just the CTA leg’s: an orphaned contract or one opened by hand too — and compares each with its deadline: below threshold, a critical alert fires on two channels, repeated every day until the position is closed or rolled. And the truly last net sits outside the system: the broker’s own expiration notifications, enabled and verified on a watched mailbox — the only warning that works even with the bot dead, in standby, or with a bug of mine.

What it actually costs#

“What about contango?” It’s the question that arrives on cue whenever rollover comes up, and it hides the most widespread misconception of the whole topic. The roll yield — the fact that the next contract quotes above or below the expiring one, the contango and backwardation of the Futures page — is not a profit or a loss booked at the moment of the roll: selling the front and buying the next at different prices generates no P&L in that instant, just as changing the denomination of your banknotes doesn’t change how much you have in your pocket. The curve’s premium (or cost) materializes gradually, through convergence, and is already inside the return series the signal is computed on. The real cost of the roll is something else, smaller and more boring: the two fills’ deviation from the mid of the moment — the spread paid on each leg — plus commissions. A few ticks per round; the bot records them at every roll, per instrument, and that series is the only number to minimize.

Then there is the cost of the accounting error, which shows up on no statement and for that very reason is the most insidious: at the contract change you concatenate returns, never prices. The bot’s page has said it already and I gladly repeat it here, because this is where the rollover stops being execution and touches the signal: a series glued together on prices produces phantom trends at every expiration — jumps no real position ever returned — and no downstream chart would ever notice.

Calendar spread or two legs. One execution choice remains that’s worth a paragraph. The exchanges also quote the roll as a single instrument — the calendar spread: you sell the front and buy the next in one order — and in the roll window that book is often more liquid than the separate legs, with a finer price step: on the E-mini S&P the calendar quotes at 0.05 points against the outright’s 0.25. A single fill, no risk of ending up with one leg executed and the other not. It’s the institutional choice — so why doesn’t the bot use it? Because on the micros the spread’s book must be verified market by market before trusting it, and at sizes of one to four contracts on liquid expirations the two-leg risk is minimal anyway: the default remains the pair of orders with the walking limit, and any promotion to the native spread is a per-instrument decision, taken by looking at the numbers of the rolls already executed.

The contracts side by side#

The table collects the leg’s micro universe grouped by settlement regime: it is the operational summary of the whole chapter, and also the reminder that “futures” is a true plural — five families, five calendars, three different definitions of the date that matters. Specifications change over time and this table will age: the exchange’s contract specs and the per-contract data the broker exposes are what counts.

InstrumentExchangeMonth cycleSettlementThe date that mattersRolls per year
MNQ · M2K · MYMCME/CBOTMar, Jun, Sep, DecCash (SOQ)Last day: 3rd Friday, 9:304
2YY · 10Y · 30YCBOTmonthly, 2 contracts listedCash (3:00 pm fixing)Last day = fixing day12
MCLNYMEXall monthsCash (on physical WTI)Last day: 1 day before the full12
MNGNYMEXall monthsCash (on physical gas)Last day: 1 day before the full12
MHGCOMEXMar, May, Jul, Sep, DecCash (bullet on the full)Last day: about 1 month before the full5
MZW · MZS · MZCCBOTthe full’s cycle (soybeans skip Dec)Cash (bullet on the full)Expiration of the full’s options5–7
MGCCOMEXFeb, Apr, Jun, Aug, Oct, DecPhysical (gold)First notice: end of previous month6
SILCOMEXJan, Mar, May, Jul, Sep, DecPhysical (silver)First notice: end of previous month6
M6E · M6B · M6ACMEMar, Jun, Sep, DecPhysical (currency)Last day: 10:16, 2 days before 3rd Wednesday4

Two guided readings, if you’re in a hurry. First: the settlement column doesn’t separate good from bad but the types of deadline — on the cash-settled the date that matters is the micro’s own last trading day (almost never the full-size’s), on the physical metals it’s first notice at the end of the previous month, on the currencies the expiration itself. Second: the rolls-per-year column is a column of costs — the micro yields roll every month, and twelve rounds of spread against four are a triple friction that enters the leg’s cost budget before the first signal even fires.

The roll literature behind this page — Erb and Harvey’s roll yield, Miffre and Rallis’s contango, the first notice day rule of Bakshi and coauthors — is collected, local copies included, in the CTA library of the Resources page; the contract specifications and the micro fact cards live instead on the exchange’s site, kept up to date better than I ever could — the direct links to the universe’s contract spec sheets are collected in the same library.

Educational content only, not financial advice. Selling options can lead to losses greater than the invested capital. Read the full disclaimers.
First site release: April 2, 2026.
Last updated: August 23, 2026.