Skip to content

Continuous futures series

How futures histories are stitched, what additive and ratio adjustments preserve, and why chart levels differ from contract P&L, returns and executable prices.

A continuous futures series is a historical dataset formed by selecting successive dated futures contracts and joining their prices under a stated roll and adjustment rule. It gives a quant a longer history for signals and research than one expiring contract can supply. Its construction can also create a false return or change an old signal: a continuous chart is a data representation, not a perpetual position with automatically defined cash flows.

Two choices before the first calculation

Contract selection and roll timing determine which expiry supplies each observation. “Front month” alone is incomplete. Specify eligible delivery months, how far along the curve to select, and when the series switches: a calendar rule, a number of trading days before a contract event, or a volume/open-interest trigger. Also specify the observation used to measure the gap, the session/time zone and when the new contract first supplies the series. TradeStation and CSI document these as separate configurable choices.

A liquidity trigger needs an information rule. A day's final volume or open interest cannot justify an order earlier that day before the statistic was available. A first-notice or expiry restriction also needs the actual instrument's calendar; a generic monthly date can leave a physical-delivery exposure that the research intended to avoid.

Price adjustment determines how the selected segments meet. An unadjusted splice keeps raw quotes and their discontinuity. Additive adjustment translates segments; ratio adjustment rescales them. Vendors can therefore produce different histories from the same contract prices without either file containing an arithmetic error.

The four-point gap nobody earned

Take these fictional closing prices in points. A long position holds the old contract from the previous close to the roll close, then the new contract to the next close. Assume immediate fills at those closes, the same monetary point value for both contracts, and no costs, financing or collateral income.
ObservationOld contractNew contractAction
Previous close100—Hold old contract
Roll close101105Sell old; buy new
Next close—106Hold new contract
The simultaneous quote difference is 105−101=4105-101=4 points. It compares delivery months, as a futures curve does. It is not a four-point gain on either position.

For one contract and monetary point value mm, cumulative holding P&L is

P&L=m[(101−100)+(106−105)]=2m.\text{P\&L}=m\big[(101-100)+(106-105)\big]=2m.

Daily variation settlements telescope to this holding P&L under the assumptions above. Do not add it again as a second payment on closing. Opening the new future at its prevailing quote does not require paying its full quoted notional like buying physical inventory; margin collateral and the cash needed for losses are separate obligations. A real roll requires two contract trades, often executed together as a calendar spread, with spreads, commissions and possible slippage.

An unadjusted splice selecting the new close on the roll date reads 100, 105, 106. Its six-point endpoint change contains the one-point old holding move, the four-point switch gap and the one-point new holding move. Treating all six as trading profit invents 4m4m.
Fictional raw quotes: old contract 100 to 101, new contract 105 to 106, with a four-point simultaneous roll gap. Adding four to old history gives 104, 105, 106; the two one-point held moves sum to two points.
Fictional raw quotes: old contract 100 to 101, new contract 105 to 106, with a four-point simultaneous roll gap. Adding four to old history gives 104, 105, 106; the two one-point held moves sum to two points.
Original fictional one-roll comparison. Solid lines identify the old contract segment; dashed lines identify the new segment. The vertical dotted gap compares contracts at one instant. All prices are in points; fixed one-contract holding P&L is two times the common monetary point value, before costs and financing.

What each adjustment preserves

Let the old and new quotes at the shared roll instant be OO and NN. Define the signed difference d=N−Od=N-O and, when valid, the ratio r=N/Or=N/O. Here d=4d=4 and r=105/101r=105/101. “Back” means anchoring the latest segment and changing earlier history; “forward” means anchoring the earliest segment and changing later data.

ConstructionThis example's three observationsPreservesGives up
Unadjusted splice100, 105, 106Selected contracts' actual quoted levelsContinuity; its splice return mixes contracts
Additive back-adjustment104, 105, 106Point changes within each segment and, with this close-aligned roll, the summed held point P&LEarlier raw levels and percentage changes
Additive forward-adjustment100, 101, 102The same point-change propertyLater raw levels, including the latest quote
Ratio back-adjustmentApproximately 103.960396, 105, 106Within-segment price ratios for positive pricesEarlier raw levels and point changes
Additive back-adjustment applies Padj=P+dP^{\mathrm{adj}}=P+d to the old segment. Forward adjustment instead applies Padj=P−dP^{\mathrm{adj}}=P-d to the new segment. Repeated rolls accumulate offsets. Ratio back-adjustment multiplies the old segment by rr; the forward counterpart divides the new segment by rr. Repeated valid ratio adjustments accumulate multiplicatively. These are specified constructions, not a guarantee that every vendor uses the same boundary prices or timing. For example, TradingView documents a difference measured from nearby daily closes around its switch.
The preservation distinction is testable. The old contract rose 1%, from 100 to 101. Additive adjustment reports 105/104−1≈0.961538%105/104-1\approx0.961538\% for that segment. Ratio adjustment keeps the 1%, because multiplying numerator and denominator by the same positive factor cancels. But its total endpoint change is approximately 2.039604 points, which cannot be multiplied by the original point value and called the fixed one-contract P&L of two points.
A preserved price ratio is still not a return on invested capital or on margin. Commodity roll yield and investment returns need a stated strategy, capital base and attribution method.

Position sizing belongs in a second ledger

Fixed contract count and fixed notional exposure are different strategies. In an idealised positive-price linear future, maintaining quoted notional AA at a sizing instant implies

nt=AmFt,n_t=\frac{A}{mF_t},
where ntn_t is contract count, mm the monetary point value and FtF_t the raw selected contract quote. Real positions require permitted contract increments; the formula alone does not solve rounding, leverage or funding.
In the example, choose A=USD 10,500A=\text{USD }10{,}500 and m=USD 1m=\text{USD }1 per point per contract. Reset notional only at the two holding-period entries. The old entry at 100 uses 105 contracts; the new entry at 105 uses 100 contracts. P&L is 105(101−100)+100(106−105)=USD 205105(101-100)+100(106-105)=\text{USD }205. Holding 100 contracts throughout instead earns USD 200. Daily notional rebalancing would be another strategy again. No chart-adjustment choice specifies these trades for you.

For execution and economic backtesting, retain the dated contract identifier, raw quotes, multipliers, holdings, fills, roll transactions, fees and settlement cash flows. Calculate capital returns from that ledger and the stated collateral/funding policy. A broker may offer a convenient mapped symbol, but the orders must resolve to actual contracts. QuantConnect explicitly distinguishes its research series from the mapped tradable contract.

Today's history can change yesterday's signal

A new roll can shift or rescale the entire earlier back-adjusted history. In the example, an old observation of 100 becomes 104. A rule “buy if the level exceeds 102” can change retrospectively even though the old contract's original quote did not. The shifted level was unavailable at that earlier decision.

This is a point-in-time data and look-ahead bias problem when future adjustment information changes the historical decision. It is not automatic proof that every use of back-adjusted data leaks. Adding one constant throughout a historical feature window leaves its point differences unchanged; multiplying throughout by a positive constant leaves its ratios unchanged. Absolute thresholds, levels used for sizing, windows crossing adjustment boundaries and fitted transformations need their own audit. QuantConnect documents using the entire available futures history for normalization, so a backtest end date alone does not establish an as-of data vintage.
Preserve roll maps, adjustment factors and data vintages, and replay the actual feature and sizing calculations using information available at each decision. The Corporate Actions and Survivorship lesson, whose full teaching requires membership, develops the distinction between adjusted research coordinates and executable prices.

Zero and negative prices expose the construction

Additive adjustments can create zero or negative historical levels even when all input quotes were positive. That is an arithmetic consequence of accumulated offsets, not evidence that the old contract traded there. Separately, some actual futures permit negative prices: CME's instrument attributes distinguish positive-only, zero-permitted and negative-permitted products.

Ordinary real-valued log prices require a strictly positive level. A zero roll denominator makes ratio adjustment undefined; opposite-signed roll quotes create a negative factor that reverses the direction of historical point moves. Near-zero quotes can create extreme scale factors. Ratio adjustment therefore does not provide a universal cure for negative prices, and a signed price change is not safely interpreted as an ordinary percentage investment return. Use an explicitly documented price-domain policy and contract-level P&L rather than silently dropping observations or adding an arbitrary constant to make logs work.

Sources

Last updated
  • futures
  • financial data
  • continuous contracts
  • backtesting
  • roll adjustment
← Back to the glossaryBack to top ↑