Futures history is a chain of expiring contracts. Join that chain without an explicit rule and a contract switch can masquerade as a market move, contaminating every forecast and risk estimate downstream.
The raw priced series fell $13.08 when the selected contract changed.
Preserve the raw contracts, then remove the roll gap in a separate research series.
The discontinuity is mechanical
On 12 October 2022, the selected WTI history moved from the December 2022 contract to December 2023. The two contracts represented the same commodity at different future dates. They did not have the same price: storage, financing, inventories, and expected scarcity are embedded in the curve between them.
A naïve splice records the $13.08 difference as a one-day loss. No holder of either contract experienced that return. It was created by changing the instrument under observation.

One dataset cannot answer every question
The upper panel keeps the priced and carry contracts in their quoted units. That is the appropriate view for understanding the curve and calculating carry. The lower panel answers a different question: how did the market move after excluding the level difference introduced solely by the roll?
Backward adjustment shifts the older history by the roll gap. Daily movement remains continuous at the join, while the latest contract stays at its observed level. This is useful for directional research, but the resulting historic price level is synthetic. It should not be used as though an investor could have bought it at that level.
| Object | Preserves | Primary use |
|---|---|---|
| Individual contracts | Actual traded quotes | Execution, expiry, liquidity |
| Multiple-price series | Priced, forward, carry identities | Roll and curve research |
| Adjusted series | Price movement across joins | Directional forecasts and volatility |
| Roll calendar | Decision dates and contract lineage | Reproduction and audit |
Three failures this separation prevents
A phantom date becomes a real roll
A last-price date copied forward can create a future row that looks valid to the calendar builder. The fix is not to smooth over the anomaly; it is to validate that every roll-calendar row maps to an observed contract and a permissible transition.
The vendor price and execution price use different units
Agricultural futures may be delivered in dollars by one source and displayed in cents by the broker. Micro and full-size contracts can share an economic history while using different multipliers. Unit conversion belongs in explicit instrument metadata, before costs, risk, or orders are calculated.
A removed market still has an open position
Removing an instrument from the research universe does not close its position. Contract export and reconciliation must continue to include inactive instruments until exposure is flat. Data eligibility and operational responsibility are separate states.
A clean continuous series is not one where the seams are hidden. It is one where the raw contracts, roll decision, and adjustment can be reconstructed.
Publication should fail loudly
A safe daily pipeline builds its proposed contract, multiple-price, and adjusted datasets away from the production copy. It checks coverage, duplicate identities, contract ordering, missing roll configuration, and unexpected changes before publishing atomically. An incomplete update is an error, not permission to silently shrink the universe.
This discipline can look conservative when the input is healthy. It becomes valuable precisely when a vendor snapshot is incomplete, a symbol changes, or an old position survives a configuration edit.
Limits of this note
The WTI transition was selected because its raw gap makes the construction visible. Other markets use different roll conventions, and a single chart does not establish the best convention for every forecast. Backward adjustment can also produce negative historical levels. The correct series is the one whose construction matches the calculation—and whose limitations remain attached to the result.
