Continuous Contracts and Back-Adjusted Data: Why Your Chart's Historical Prices Might Be Fiction
Overview #
Overview #
Your 200-day moving average just spiked 500 points overnight. Your backtested strategy shows a support level at ES 3200
Welcome to continuous contracts
Futures contracts expire. That's a fundamental reality of the product. And because they expire, traders need a way to stitch multiple contract months together into a single, analyzable time series. The resulting "continuous contract" is a research convenience, not a market truth. [1] Every method of building one preserves something useful and destroys something else. The trader who doesn't understand what's been preserved
The trader who doesn't understand what's been preserved This article explains how continuous futures contracts are built, how roll and back-adjustment methods work, what distortions they introduce, and how to choose the right synthetic series for backtesting, chart analysis, and indicator research.
This article explains how continuous futures contracts are built, how roll and back-adjustment methods work, what distortions they introduce, and how to choose the right synthetic series for backtesting, chart analysis, and indicator research.
Why Futures Need Continuous Data #
A single ES futures contract might have 3 months of liquid trading. A CL contract has roughly 2 months of meaningful volume before the next month takes over. If you want to study price behavior over a year
The problem: when one contract expires and the next takes over, there's almost always a price difference between them. This isn't a data error. It's economics. The gap comes from carry costs, interest rates, storage and convenience yield (for physical commodities), and market expectations about future prices. In a contango market, the next contract trades higher than the expiring one. In backwardation, it trades lower.
That gap
The Three Types of Continuous Series #
As @Fat Tails explains on NexusFi, there are three fundamental types of continuous data, each with different properties: [2]
Unadjusted (merged with gaps)
Back-adjusted (merged, gap removed)
Perpetual (continuous, weighted splice)
Roll Methods: When to Switch Contracts #
Building a continuous series requires two decisions: when to roll, and how to stitch. The "when" comes first.
Calendar Roll
Fixed-date rollover, typically 8-15 days before expiry depending on the product. ES financial futures have well-established roll dates
Volume Roll
Switch when the next contract's volume exceeds the current contract's volume. This is market-driven and follows liquidity in real-time. For CL crude oil, where roll timing can be erratic, volume-based rolls often produce better data than calendar rolls. [5] The downside: different traders see different roll dates depending on when exactly the crossover happened in their data feed, making series harder to reproduce.
Open Interest Roll
Switch when next contract's open interest surpasses the current. OI tracks institutional positioning rather than daily activity, so it often lags the volume crossover by 1-3 days. Some traders prefer it as a more stable, less noisy signal. The practical difference between volume and OI rolls is usually small for financial futures but can be significant for commodities with irregular roll patterns.
In practice, most data vendors use hybrid rules or their own proprietary conventions. Pinnacle Data uses the 11th of the month. NinjaTrader's default merge policy uses preset dates for financial futures. [6] The important point: two continuous charts of the same market can look different because they rolled on different dates.
Back-Adjustment Methods: How to Stitch #
Once you've decided when to roll, you need to decide what to do about the price gap. There are four standard approaches.
No Adjustment (Raw Concatenation)
Leave the gaps. What you see is what actually traded. This is the only series that shows real, tradable price levels. Use it when you need to know where the market actually was
Difference Adjustment (Additive Splice)
At each roll date, calculate the gap between old and new contract, then shift all prior data up or down by that amount. A 5-point contango gap means every historical bar gets shifted down by 5 points. This preserves dollar price changes perfectly
The catch: absolute price levels become fictional. With monthly-rolled commodities, the cumulative adjustment compounds over years. As @Fat Tails documented, back-adjusted CL crude oil showed prices as high as $185+ per barrel for the 2008 peak, when the actual high was $147. [2] For markets like soybeans, back-adjusted prices can even go negative
Ratio Adjustment (Multiplicative Splice)
Instead of adding/subtracting the gap, multiply all prior data by the ratio of new/old contract prices at the roll point. This preserves percentage returns rather than dollar changes. A 2% rally before adjustment remains a 2% rally after.
Ratio adjustment is better for return-based research, volatility estimation, and any analysis that uses percentages. But @kevinkdog raises a critical nuance: typical back-adjusted contracts work well with price differences but give incorrect results for ratio calculations. [8] If you're computing spreads or relative values between instruments, you need to carefully match the adjustment method to what you're calculating.
Panama Canal Method
A variant of difference adjustment that's become the default in many data products. The name comes from the analogy of joining two waterways at different elevations through a series of locks. In practice, it's often implemented identically to additive back-adjustment, but some vendors apply the adjustment gradually over several bars rather than all at once. The terminology is inconsistent across the industry
What Goes Wrong: The Fiction in Your Data #
Every adjustment method introduces artifacts. The question isn't whether your continuous data lies to you
alt="CL crude oil real price versus back-adjusted showing $48 distortion at 2008 peak" loading="lazy" width="800" height="450">
Artificial Price Levels
Back-adjusted historical prices never actually traded. They're mathematical artifacts of the adjustment process. Placing a limit order at a "support level" from 6 months ago on a back-adjusted chart is placing an order at a fictional price. The actual level where the market found support in that contract was different. This matters most for commodities with large monthly rolls (CL, NG) and less for financial futures with quarterly rolls and smaller carry (ES, NQ).
False Indicator Signals
On unadjusted data, a 20-point contango gap at rollover creates a phantom spike in every indicator that processes raw price. Your moving average jumps. Your RSI resets. Your Bollinger Bands explode wider. Back-adjustment fixes this, but introduces a subtler problem: the shifted historical prices change where indicators calculated on older data would have been. [3]
Broken Support and Resistance
Historical support and resistance levels shift with each new adjustment. A level that held three times last quarter is now 15 points lower on the back-adjusted chart. As @Fat Tails notes, the absolute levels of support and resistance over a longer time period are false on back-adjusted data. The only chart showing real traded levels is the unadjusted merged chart. [3]
For short-term traders looking back a few days or weeks, this distortion is minimal. For swing traders looking back months, it becomes significant. For position traders studying multi-year levels, it's large enough to be dangerous.
Hidden Roll Yield
A back-adjusted chart hides the roll cost (or benefit) entirely. @Private Banker makes a compelling analogy from the institutional perspective: tracking your P&L against back-adjusted levels after rolling is like tracking stock performance against pre-split prices. Once you've rolled, your P&L is tied to the new contract's levels. [9]
For long-only commodity funds, the difference between real returns and what a back-adjusted chart shows can be enormous. @Fat Tails demonstrated that the gap between a continuous contract and a back-adjusted contract for CL represents the cumulative rollover losses of a long-only fund. [10]
Which Method for Which Purpose #
The right continuous contract depends entirely on what you're doing with it.
For backtesting trading strategies: Use difference-adjusted (back-adjusted) data. This is the standard and it's what
[7] But avoid strategy rules that depend on absolute price levels, and be cautious with percentage-based calculations.
For visual trend analysis: Difference-adjusted gives you smooth, gap-free charts where trends are visible and swing sizes are accurate. Fibonacci retracements work correctly on back-adjusted data because the relative moves are preserved. [1]
For support and resistance: Use the current individual contract for levels that matter right now. For historical levels, the unadjusted merged chart shows where the market actually traded
For ratio or percentage calculations: Use ratio-adjusted data or compute returns on unadjusted individual contracts. Difference-adjusted data will give you incorrect ratios because the additive offset changes the denominator.
For volatility and risk estimation: Compute returns from back-adjusted data (the differences are correct) rather than computing volatility from absolute price levels. Or use ratio-adjusted data where percentage moves are preserved directly.
For automated trading systems: @FuturesTrader71 draws a clear line: use adjusted data for composites and historical analysis, but test automated systems on unadjusted tick-level bid/ask data. "We need to know where it really traded when it traded and down to the bid/ask level to know if we could have or would have gotten a fill." [11]
For long-term price study: Use individual contracts or a perpetual series. Back-adjusted data over many years produces prices that are absurdly far from what actually traded. The perpetual contract keeps absolute levels closer to reality, though it distorts short-term moves.
Practical Considerations #
Vendor Differences Matter
Two data vendors providing "continuous ES" can give you different charts. One might roll on the Thursday before expiry, another on volume crossover. One uses difference adjustment, another uses ratio. One adjusts using settlement prices, another uses last trade. These differences are usually small for financial futures but can be material for commodities like CL, where @Fat Tails documented that the Cushing contango created massive discrepancies between roll conventions. [2]
If your backtesting results are sensitive to the exact data construction
Intraday Data Amplifies Problems
Everything in this article applies more intensely to intraday data. A daily bar absorbs the roll gap into a single bar. But on a 5-minute chart, the gap appears as an instant jump between two bars, creating maximum distortion in indicators that look at bar-to-bar changes. Back-adjustment is even more important for intraday analysis, and the choice of exact roll time (session close, midnight, specific hour) matters more.
The One Rule That Never Breaks
Continuous contract data is not a market truth. It is a modeling choice. Different choices produce different charts, different indicator readings, different backtesting results. The data construction is part of your methodology
Knowledge Map
Go Deeper
Build on this knowledgeReferences This Article
Articles that build on this topicCitations
- — Back-adjusted, Continuous contracts - best for support and resistance? (2012) 👍 30“The backadjusted contract correctly shows the relative price movement, but the absolute values shown are only correct for the last contract shown on the chart.”
- — continuous contract in NT7 /merge policy / rollover (2011) 👍 31“My preferred way of displaying intraday data is to use MergeBackAdjusted Futures.”
- — continuous contract in NT7 /merge policy / rollover (2011) 👍 6“The continuous contract does not shift the old contract vertically, but builds an artificial data series.”
- — Rollover Days - some Quick Facts about (2012) 👍 6“For currency futures they simply take the 8th day of the delivery month.”
- — Problems with CL back-adjusted data (2013) 👍 5“There are 3 types of contracts: non-backadjusted, backadjusted, and perpetual (continuous) contracts.”
- — Rollover Days - some Quick Facts about (2010) 👍 12“For financial futures, rollover days are fixed by the exchange.”
- — Why Back Adjustments on Prior Contracts? (2021) 👍 5“I would NEVER rely on the actual historical prices produced by continuous back adjusted contracts.”
- — Backadjust futures contracts for spread trading backtesting (2023) 👍 3“Typical backadjusted continuous futures contracts work well with price DIFFERENCES, but will give incorrect results for RATIO calculations.”
- — ES vs S&P Cash with Market Profile (2013) 👍 13“Once you rolled, your PnL is tied to the new contract levels.”
- — continuous contract in NT7 /merge policy / rollover (2011) 👍 31“The difference between the blue and the red curve is the sum of the rollover losses of a long only fund.”
- — Back-adjusted, Continuous contracts - best for support and resistance? (2012) 👍 7“Non-adjusted data is always provided for backtesting purposes.”
