Continuous Futures Contracts

This support page, starting with a quick reminder of key notions about individual future contract specifications, discusses the different types of continuous contracts and how they are built and accessible within Investor/RT.

Part 1 - Futures 101: contract symbols, “front month” and rollover calendar notions

Here are a few reminders about futures contract specifications 

1.1) Future Contract symbol

A future contract is typically identified by a root symbol (corresponding to a given contract specification & market) followed by a group of letters and numbers corresponding to the expiration month and a year, with the exact coding depending on the data provider methodology. Please check our symbol guide for more details about each provider

Let’s consider the example of the S&P 500 E-Mini quarterly contract expiring in December 2024. It will be referred to as ESZ4 for Rithmic, but ENPZ24 for CQG or @ESZ24 as per DTN syntax

For information, equity index future contracts are typically expiring every quarter, energy markets contracts have a monthly expiration, and other commodities such as metals or agricultural products have their own monthly expiration sequence (ie such contracts might end up with 7 or 9 rollover dates within a year)

1.2) Front month (or lead) contract definition & futures contract trading period
Typically, the lead contract refers to the contract,  among the one with different expiration months, with the highest traded volume, knowing this is usually the contract with the nearest expiration date (but there are of course some exceptions for some markets, such as gold or for some agricultural products, which are skipping some contracts as per their sequence of lead month contracts) 
As per the CME contract specifications, trading on the S&P 500 E-Mini quarterly contract starts  5 years before it becomes the front month contract, and terminates on the 3rd Friday of the expiration month. This means ESZ4 expired on Dec. 20, 2024, while its predecessor (ESU4, known as the "back contract"), expired on Sept 19, 2024

1.3) Front month contract “Roll over date”
While the expiration date is clearly defined as per the exchange rules, this is usually not the case for the rollover date, which depends, by definition, on market conditions, as this is  typically the day when the volume traded for the current lead month contract is overtaken by the next lead contract
However, for most markets, this rollover date is clearly identified. For ES, the rollover day is currently one week prior to the expiration date, ie rollover from ESU4 to ESZ4 took place on Friday, Sept. 12, 2024, while the rollover from ESZ4 to ESH5 took place at the end of the session on Dec. 13, 2024

Here is the link to our Rollover calendar : the column highlighted in blue reflects for each contract the current DTN front month contract, together with the upcoming rollover date to the next contract.

Part 2 – Different types of continuous contracts

2.1) What is a continuous future contract?

Essentially, a continuous contract is a synthetic price data series that stitches together the individual quotes of each successive lead contracts to create a long and uninterrupted single price series that can be identified through a unique symbol (@ES# in the case of DTN IQ feed)
They are designed

  • To overcome the limitation of analysing/manipulating data corresponding to each successive front month contract symbol (which are perpetually expiring and replaced by new contracts).
  • and possibly to remove the price gap inherent to the transition between each lead contract

A continuous contract is therefore defined by:

  • a sequence of individual contracts (in the case of US equity, every successive quarterly contract)
  • a calendar of rollover dates
  • and possibly by a “rollover premium” calculation methodology defining how historical data for past contracts is back-adjusted to avoid any gap in the continuous time series

2.2) Raw vs back-adjusted continuous contracts

In the case of a "raw" continuous contract, the price will simply be based on the aggregation of the exact (ie, non-corrected) quotes of each successive front-month contract.
This does mean that, whatever the current date (in 2025 or beyond), whenever you look at a past date (let's say August 1st, 2024), for a “raw” continuous contract, you will always find back the exact quotes of the front month contract at that date (in this case, what the ESU4 contract was trading at that time). However, this raw continuous time series might reflect a big price gap at every rollover date.
This is why most of the analysis (long term volume profile analysis, backtesting, etc) will be based on a continuous contract back adjusted for rollover premiums, ie at every rollover date the whole historical time series will be adjusted with the latest rollover premium (ie the quote that you may see on Aug 1st 2024 will be shifted by a premium at every rollover date)

At this stage, it is essential to remember that there is no official way of designing a continuous contract, which means that the exact methodology (rollover dates and premium calculation methods) might differ from one data provider (or trading software) to another.

Whether you are an IQ feed subscriber or do use our DTN MA services for historical data backfill, Investor/RT will rely on the DTN IQ feed continuous contract methodology, discussed below

2.3) DTN Rollover Premium Calculation Methodology

DTN relies on the most commonly used method to calculate the rollover premium, ie the difference between the settlement price of the 2 successive lead contracts at the end of the session (corresponding to the rollover date) 
For example, on Friday, Dec 13th, 2024, ESZ4 settlement price was 6055.50  while ESH5 settlement price was 6125.75, resulting in an ES rollover premium of +70.25 points 
After the market closes on Dec 13th, whenever CME publishes the settlement prices, DTN will update (on its historical data server) the whole quotes data series for its continuous contract (@ES# symbol in Investor/RT), ie 70.25 points will be added to every historical price (from the start of the data series) 
For example, this means that,  until December 13th, @ES# was reflecting the exact @ESZ24 quotes (for the period starting from September 15th to Dec 13th 2024), but that it will reflect from Dec. 14th onwards @ESZ24 + 70.25 (ie the Dec 24 to March 25 rollover premium), until being modified again with the March to June 2025 rollover (and so on..)

Please review the rollover procedure support page that will detail the procedure to follow at rollover time, and which will include

  • a “full data download” needed to update the historical data (as all past quote prices are being modified) 
  • an adjustment of all reference lines or trendlines that might have been manually drawn (as such lines won’t be “aligned” anymore after a rollover), with specific tools having been developed in I/RT for automatically adjusting these levels 

To know more about settlement prices (and the way to access them in Investor/RT), please review this support page.

Part 3 - Investor/RT default settings (and how to modify them if needed)

By default, whether you are using Linnsoft DTN MA historical data backfill services or you own a full-fledged IQ feed subscription for both historical and live future data, Investor/RT is today set up to use by default DTN back-adjusted contracts, ie for ES, the symbol @ES# will include the rollover premium adjustments.
How to deactivate the rollover back-adjustments for continuous contracts in Investor/RT?
To deactivate this option and have access to “raw” continuous contracts (whenever performing a historical data backfill), you should modify in the File > Preference > Configuration Variable menu the configuration variable DTNAdjustedContinuousFutures and set its value to false.
Once done, your @ES# charts will reflect the continuous front-month raw prices, and you will see price gapping on rollover days when transitioning to a new front-month contract. If you wish to compare side by side, adjusted and raw @ES# quotes on the same charts, this is possible. You can add the symbol @ES#C as a second instrument and chart it along @ES# to observe the difference. (Most traders prefer the adjusted contract in our experience, and as a matter of convenience, we automatically translate requests for @ES# into a request for @ES#C internally unless you turn off this behavior by setting the configuration variable DTNAdjustedContinuousFutures to false)

Part 4 - Some tips and tricks

4.1) When Rithmic is your live datafeed source
By default, the DTN continuous back-adjusted contract symbol will be used as the downloading alias within a Rithmic instrument setup.
In some cases, you don’t want to use any continuous contracts for historical data backfills
Case 1: let’s say you are trading a calendar spread in Oil with a custom instrument monitoring the difference between the December and November contracts. In this case, you want both CLZ4 and CLX4 contracts reflecting their own historical data set as part of that custom instrument definition. So, in both instrument setups, you should replace the DTN continuous contract for Oil (QCL#) by the respective DTN monthly contract symbol (ie QCLZ24 and QCLX24)
Case 2: you want to keep trading ESZ4 past the rollover date (Dec 13th) until the very last day (Dec 20th). In that case, a few days before the rollover date, you should modify the DTN downloading alias (@ES#) to @ESZ24 to make sure that any backfill requests taking place after the rollover date will return Dec. 24 contract quotes. Otherwise, if you keep @ES# as DTN downloading alias, it will start returning March 2025 quotes (@ESH25 one) if you perform a regular automatic backfill after Dec. 16th (and you will see a significant gap on your ESZ4 chart)  

4.2)  From an IQ feed subscriber perspective (executing order on Rithmic)
Let’s consider that, in your typical charts setup, you keep using @ES# as your main chart instrument. In this case, one should use as a broker symbol the Rithmic symbol corresponding to the current front month (as per the DTN rollover calendar). Let’s say we are early Dec 2024, so you have currently ESZ4 as “Broker symbol” in the @ES# instrument setup.

At the market close on the rollover date (Dec 13th), you will 

  • do a full data download 
  • adjust the Rithmic symbol to keep it in sync with the new front month contract feeding @ES#, ie ESH5

But what if you still want to chart and trade the Z4 contract on Dec 16, 2024, and the few days after  ??   
You obviously can‘t use @ES# as your chart main instrument anymore, as @ES# will be reflecting ESH5 quotes from the market open on Sunday Dec. 15 at 6 pm (ET)
First option: you open a chart with @ESZ24, do a full data download,  and use ESZ4 as the broker symbol in the corresponding instrument setup. This solution is good enough if you don’t use any HTF charts with a lookback period longer than 3 months. But if you run longer charts, the only issue is that when you download @ESZ24 data, you do get by default the full sequence of ESZ4 quotes, including for all dates PRIOR to the Sept 15th (ie without any back-adjusted contract data) 
Second (better) option: during the Dec. 13-14 weekend (in fact, even a few days before that date), you may want to rename @ES# into @ESZ24 (right click on a Quotepage instrument name cell and type @ESZ24over @ES# @ESZ24. A menu will pop up and ask if you want to modify (or not) @ES# into @ESZ24. IF you click yes, the @ESZ24 symbol will recover all the @ES # historical data (back-adjusted for past rollover premium) while continuing to receive Dec. 24 quotes until the expiration. Of course, do not perform any “full data download”; otherwise, you will lose the benefit of the renaming operation.
Reminder: if you just stick to trading the front month contract as per the DTN calendar, then the rollover process detailed previously is sufficient (ie a full @ES# data download and updating the Broker alias)