Skip to content
GetProfitable
Search

Adjusted prices and continuous futures

Lesson 6 · about 11 min

Raw price histories have jumps in them that have nothing to do with the market moving. A stock splits 4-for-1 and the chart drops 75% overnight. A futures contract expires and the next month trades at a different price. Data vendors smooth these jumps by adjusting the history, and the adjustment changes what your rules see. You need to know which version you have and which one each rule needs.

Stock adjustments

Split adjustment rescales every earlier price by the split ratio so the series is continuous. Almost everyone wants this. Without it, a 4-for-1 split looks like a 75% crash and triggers every stop and every short signal you have.

Dividend adjustment subtracts (or proportionally scales) each historical price by the dividend paid, so that total return is represented. This is useful for measuring performance and harmful for anything that references actual price levels.

Rule type Split-adjusted Split and dividend adjusted
Percent returns, moving averages, momentum Fine Fine
"Buy above $50", round-number levels, historical highs Fine Wrong: levels are shifted
Long-only holding results Understates return (misses dividends) Correct total return
Short-side holding results Ignores the dividend the short pays Correct if the model charges dividends
Option strikes, gap sizes in dollars Fine Wrong

The classic mistake is a long-term stock series where prices from 20 years ago are dividend-adjusted below zero or into odd fractions, then a "price under $5" filter is applied. The filter selects on a number that never existed.

The safe habit is to keep two series: an unadjusted one for anything that references levels, and a total-return one for measuring outcomes, and to be explicit about which rule uses which.

Continuous futures

A futures contract has a life of a few months. To test a five-year strategy you need to join contracts end to end, and there are two decisions: when to roll, and how to handle the price gap between the old contract and the new one.

When to roll

Method Rule Notes
Fixed calendar Roll N days before expiry Simple; may roll before liquidity moves
Volume Roll when the next month's volume exceeds the front month's Tracks where traders actually are; standard for index futures
Open interest Roll when open interest crosses Similar; sometimes a day or two later than volume
First notice Roll before first notice day Required for physically delivered contracts like crude and grains

The roll date matters because your live trading will roll on some rule too, and the backtest should use the same one.

How to handle the gap

Suppose the March contract closes at 4,500 on roll day and June is trading at 4,520. The 20-point difference is the basis (carry, dividends, rates), not a market move. If you just splice the series, every roll creates a fake 20-point bar.

  • Unadjusted (spliced). Real prices, fake gaps at each roll. Levels are correct; returns across rolls are wrong.
  • Back-adjusted. Subtract 20 from every earlier price so the join is smooth. Returns across rolls are correct; historical levels are shifted and can go negative in long histories of contracts with large carry.
  • Ratio-adjusted. Multiply earlier prices by 4520 ÷ 4500. Percent returns are correct; useful when the contract has changed scale over time.

A worked example of the effect. Say your rule is "buy if today's close is above yesterday's close by 15 points or more".

Date March June Spliced series Back-adjusted Fires?
Roll day 4,500 (last) 4,520 4,500 4,500
Next day 4,522 4,522 4,502 Spliced: yes (+22). Back-adjusted: no (+2)

The spliced series generates a trade on a 2-point move disguised as a 22-point move. Over ten years of quarterly rolls, that is forty fake signals, all in the same direction for a contract in contango or backwardation.

Key idea: Adjusted data gives correct returns and wrong levels; unadjusted data gives correct levels and wrong returns. Know which one each rule needs, and never mix them inside the same calculation.

Practical guidance

  • For return-based rules (moving averages, breakouts measured in percent, momentum), use back- or ratio-adjusted continuous series and dividend-adjusted stocks.
  • For level-based rules (round numbers, prior contract highs, dollar stops), use unadjusted data and handle rolls as explicit position transfers with a cost.
  • Record the roll rule and adjustment method in your data record.
  • If your platform provides only one continuous series, find out which method it uses. Many charting platforms default to back-adjusted with a volume roll, and some silently re-adjust the whole history every time a roll happens, which changes past bars under your feet.

Try it: Load a futures contract as both a spliced and a back-adjusted continuous series. Find the last three roll dates. Note the size of the gap on each and the direction. Then check whether any of your strategy's rules would have fired on the fake move.

Recap

  • Split adjustment is almost always wanted; dividend adjustment is wanted for returns and harmful for levels.
  • Continuous futures need a roll rule (calendar, volume, open interest, first notice) matching your live practice.
  • Spliced series have fake bars at every roll; back-adjusted series have correct returns and shifted levels.
  • Return rules use adjusted data; level rules use unadjusted data. Never mix them.
  • Write the adjustment method and roll rule into your data record.

See it drawn

Original diagrams for the ideas on this page. Illustrative, not real market data.

Contango and backwardationTwo futures curves against contract expiry: one rising above spot, one falling below it.The same commodity, priced for delivery at different dates.78.0076.0074.0072.0070.00Futures pricespot+1m+2m+3m+4m+5m+6mMonths until the contract expiresspot price74.00CONTANGOlater contracts cost more than spotBACKWARDATIONlater contracts cost less than spot
Contango and backwardation. A futures curve shows what buyers will pay for delivery in one month, two months and so on. When later contracts cost more than the spot price the curve is in contango; when they cost less it is in backwardation.
Rolling a futures position forwardThe March contract is sold and the June contract bought on the roll date, before March expires.5.004.754.504.254.00Contract price1 Feb15 Feb1 Mar15 Mar1 AprCalendar dateROLL DATEsell March, buy June the same dayMarch expiresMARCH CONTRACT (front month)JUNE CONTRACT (next up)Solid = the contract you hold. Dashed = the contract you do not.
Rolling a futures position forward. Every futures contract has an expiry date, so a trader who wants to stay in the market closes the front-month contract and opens the next one. That swap is the roll, and the two contracts rarely trade at the same price.