Building continuous futures contracts
Contents
A futures contract expires. To hold exposure beyond that date you sell the expiring contract and buy the next one along the chain—a futures roll. Do this repeatedly and you have a continuous position, but no single market price tracks it.
A continuous future simulates that rolling. The Asset Builder stitches one expiring contract to the next into a single long daily series you can chart, analyse, and put in a portfolio like any other asset. Select Created as the Data Source, then Continuous Future as the Type.
Building a continuous future in the Asset Builder.
The build settings, at a glance:
| Setting | What it controls |
|---|---|
| Future | Which underlying contract chain the series rolls through |
| Future Month | The point on the term structure, 1 to 10 (1 is the front month) |
| Roll Method | The trigger for each roll: Days to Expiry or Volume |
| Days to Expiry | How many business days before expiry to roll (Days to Expiry method; integer, capped at 50) |
| Roll Cost (bps) | The turnover cost applied to the daily return on each roll day |
| Price Adjustment | Whether the price-level jump at each roll is back-adjusted (on) or left as a raw splice (off) |
Choosing the contract: Future and Future Month
The Future dropdown lists around 30 contracts, each labelled by its ticker and name: CL - Crude Oil Futures, ES - E-mini S&P 500 Futures, GC - Gold Futures, and so on across energy, metals, equity indices, rates, and currencies. The full list, with each contract's multiplier and the date its data begins, is in supported futures. The selection sets which underlying chain the series rolls through.
Future Month chooses the point on the term structure, from 1 to 10. A value of 1 builds the continuous front month—always the contract closest to expiry. A value of 2 holds the second-closest contract, and so on down the curve. Most users want the front month; deferred months matter when the shape of the curve is the point of the trade.
The dropdown always offers 1 to 10, but not every future lists that many contracts. Choose a month deeper than a future's available contracts and the series cannot be built—the build stops with an alert and no asset is created. If that happens, lower the future month until it builds. A deep month that the chain reaches today but did not in earlier years builds normally, except that the series starts later than the underlying data: the early period where the deeper contract was not yet listed is left off the front of the series. The front month always works; how many deferred months a future supports depends on the depth of its contract history.
Roll Method decides the trigger for each roll.
- Days to Expiry rolls a fixed number of business days before the current contract expires. Selecting it reveals the Days to Expiry field: an integer, capped at 50. A value of 5 rolls five business days ahead of each expiry. This suits futures with a well-known, de-facto fixed roll: equity index futures such as ES, for example, are conventionally rolled in the week before expiry, around five business days out. It also gives a predictable calendar roll you can reproduce exactly.
- Volume rolls on the day the next contract's traded volume first overtakes the current contract's. Liquidity migrates to the next contract in the days around expiry, so this tracks the market's own roll rather than the calendar, and the roll date is not fixed in advance. It needs no knowledge of a contract's roll convention and follows where trading actually is, which makes it the sensible default for most futures.
When in doubt, use Volume; reach for Days to Expiry when a future has a fixed roll convention you want to match, such as the five-business-day equity-index roll, or when you need an exactly reproducible calendar roll.
Each roll is two trades: selling the expiring contract and buying the new one. Roll Cost (bps) applies the cost of that turnover, in basis points, to the daily return on every roll day. With a roll cost of 1 bps (0.01%), a roll-day return of 1.00% is recorded as 0.99%. For liquid contracts the real cost of a roll is small—a basis point or two is a sensible allowance—while leaving it at zero gives a frictionless series for pure price analysis.
Consecutive contracts rarely trade at the same price level, so splicing them leaves a jump at each roll that is not a real return.
- On back-adjusts the series for the price-level difference between the old and new contract, so each roll passes through the return continuously and the join does not register as a gain or loss. This is what an investor who actually held the position and rolled it would experience: the return comes only from real price moves and the roll cost, never from the cosmetic gap between two contracts' quoted levels. It is the right choice for backtesting and analysis, and the Future lists in our asset lists are price-adjusted continuous futures built this way.
- Off splices the two contracts together with no adjustment, leaving the price-level gap in the series. Use it only when you need to see the actual quoted price levels of the underlying contracts.
Leave Price Adjustment on unless you specifically need the raw spliced prices.
The level gap exists because the contracts along the chain are not priced alike. When the deferred contracts trade above the front month the market is in contango; when they trade below it the market is in backwardation. Rolling from the expiring contract to the next one then steps the raw price up in contango and down in backwardation, and because a market tends to hold one state for a while, the raw jumps fall in the same direction roll after roll—only a switch between contango and backwardation flips them.
Some futures sit in one state by their economics. Equity-index futures are all but always in contango, set by the cost of carry: holding the future rather than the index spares you the cost of financing that exposure but gives up the index's dividends, so the future is priced above spot by roughly the benchmark interest rate less the dividend yield, scaled by the time to expiry. The financing rate is normally the larger of the two, so each deferred contract trades a little above the one before—approximately the interest cost of carrying the position out to the later expiry.
For a long holder this carry shows up as roll yield. In contango the contract you hold sits above the spot price it converges toward as expiry nears, so rolling the position forward steadily costs a little—you pay to roll. In backwardation the convergence runs the other way and you are paid to roll. This is a real return effect, separate from the cosmetic level jump above: it is present whether or not Price Adjustment is on.
That price-level gap is what Price Adjustment removes, leaving just real price moves and the roll cost. It is also what a deferred Future Month is a position on: holding month 3 rather than the front month tracks that part of the curve, so its behaviour depends on whether the structure is in contango or backwardation.
A continuous future is a normal asset once built, so any of the asset transformations —backfill, leverage, fee, yield, or currency conversion—can be stacked on top, in any combination. Leave the Asset Ticker blank and one is generated for you by extending the Future ticker. The full set of creation routes is covered in our asset-building options.
Building continuous futures requires the Futures add-on. Without it the Continuous Future type is disabled and an alert links to where the add-on is activated.