Roll week and continuous contracts
Lesson 16 · about 11 min
Four times a year for the index contracts and every month for crude, the market moves from one contract to the next. During roll week the price and volume you see depend on which contract you are looking at, and every chart that stitches contracts together has made a choice about how to hide the seam. If you do not know the choice, the levels on your chart may be prices that never traded.
What happens in roll week
For ES, the roll date is the Thursday eight days before the third-Friday expiration. Before that day nearly all volume is in the expiring contract; after it, nearly all volume is in the next one. The migration is not instant. In the days before the roll, the next contract's volume grows from a few percent to a majority.
| Day relative to roll | Volume in expiring contract | Volume in next contract | Spread (next − expiring), illustrative |
|---|---|---|---|
| Roll − 5 | 95% | 5% | +38.00 |
| Roll − 2 | 80% | 20% | +38.25 |
| Roll day | 40% | 60% | +38.50 |
| Roll + 1 | 15% | 85% | +38.50 |
| Expiration | residual | 100% | converges at final settlement |
Three things follow. First, on roll day the "front month" on a data feed switches, and a chart of the front month shows a jump equal to the spread. Second, in the two days either side of the roll both contracts are somewhat thinner than one contract normally is, and slippage rises. Third, if you have an open position in the expiring month, you must roll it (Module 1, Lesson 3) or exit.
Why the next contract trades at a different price
The next contract is priced at the current index level plus the cost of carry to its expiry: the interest you would earn on the cash you did not have to spend, minus the dividends you do not receive by holding futures instead of stocks.
next contract ≈ index × (1 + (rate − dividend yield) × days ÷ 365)
With the index at 5,000, short rates at 5% and a dividend yield of 1.4%, a contract three months out is priced around 5,000 × (1 + 0.036 × 90 ÷ 365) ≈ 5,044. When rates are below the dividend yield, the next contract is below the current one. For commodities the equivalent is storage and financing cost minus any convenience yield, and the spread can go either way: crude in contango (later months higher) or backwardation (later months lower), with much larger spreads than the index contracts.
This spread is not profit or loss for you. When you roll, you sell the old at one price and buy the new at another, and your P&L from that day forward is measured from the new entry. What the spread does is corrupt any chart that pretends the two contracts are one.
Three kinds of continuous chart
A continuous contract is a synthetic series that chains individual contracts together. Platforms build them three ways:
Unadjusted. Just switch from one contract's prices to the next on the roll date. Every price on the chart actually traded, but there is a jump at each roll equal to the spread. Indicators that span the roll (moving averages, ATR, anything measuring change) are wrong for as long as their lookback includes the seam.
Back-adjusted (difference). On each roll, add the spread to every earlier price so the seam disappears. Recent prices are real; older prices are shifted by the sum of every spread since. After years of rolls the historical levels can differ from what traded by hundreds of points on ES and, in steep contango markets like crude or natural gas, the distant past can even show negative prices.
Ratio-adjusted. Multiply earlier prices by the ratio of new to old at each roll. Percentage returns are preserved; absolute levels are not. Used for backtesting returns, rarely for charting.
| Chart type | Recent prices real? | Old prices real? | Seam at roll? | Good for |
|---|---|---|---|---|
| Unadjusted | Yes | Yes | Yes, a jump | Reading levels that traded |
| Back-adjusted | Yes | No | No | Indicators across rolls |
| Ratio-adjusted | Yes | No | No | Return-based backtests |
Worked example: a level that never existed
An ES back-adjusted chart shows strong support at 4,880 from six months ago, two rolls back. The spreads at those two rolls were +38 and +41. The actual price that traded six months ago was 4,880 − 38 − 41 = 4,801. Anyone who bought at "4,880 support" then was trading a level that exists only on their chart. The traders whose orders sit at old levels were using the prices that traded, not the adjusted ones.
The reverse problem hits unadjusted charts: a 20-day moving average that spans the roll includes a 38-point jump that no one experienced, and the average is wrong by roughly 38 × (days since roll ÷ 20) points for the next four weeks.
Key idea: Continuous charts hide the roll seam by moving prices. Use unadjusted or individual-contract charts for levels and back-adjusted charts for indicators, and know which one you are looking at before you trust a number on it.
A practical routine for roll week
- The week before roll, note the roll date and the spread between the contracts.
- On roll day, switch your trading to the new contract and your charts to it or to a continuous series you understand.
- Roll any open positions with a spread order, or exit.
- Mark any levels you carry across the roll on the new contract at their actual traded prices, adjusted by the spread if they came from the old one.
- Expect worse fills for two days either side.
For crude this happens every month with larger, more variable spreads, and for gold the active month skips around the calendar; check volume by contract month weekly in those products.
Try it: On your platform, open the same contract as an unadjusted continuous chart and as a back-adjusted one, and go back past the last two rolls. Measure the difference in price at a bar six months ago. Then find the platform setting that controls which adjustment is applied and write down what it is currently set to.
Recap
- Volume migrates from the expiring to the next contract over several days around the roll; both are thinner during that window.
- The next contract trades at index plus carry (rate minus dividend yield); commodities carry storage and can be in contango or backwardation.
- Unadjusted charts show real prices with a jump; back-adjusted charts remove the jump by shifting all older prices.
- A "support level" on a back-adjusted chart may be a price that never traded; check the sum of spreads since.
- Roll positions with a spread order on roll day, switch charts, and expect worse fills for two days either side.
See it drawn
Original diagrams for the ideas on this page. Illustrative, not real market data.