plaintape

Automated futures rolls: verify states against positions and prices

Plaintape LLC is registered with the CFTC as a Commodity Trading Advisor and is an NFA Member (NFA ID 0580378). The firm is not accepting client accounts. Registration and NFA membership do not imply that the CFTC or NFA has approved or endorsed the firm, its trading program, or the material on this site.

Editorial responsibility: Jesus Garcia. AI-assisted writing. AI source review 2026-10-11. NFA BASIC: PLAINTAPE LLC (0580378). Corrections and conflicts.

Originally published as On a Roll (State) on May 9, 2026. This is a materially revised explanation of the evidence boundary. The Substack original remains unchanged and contains historical registration wording. The current registration and account-availability statement appears above.

A roll-status decision describes intended behavior for an expiring futures contract and its successor. Determining whether the transition completed also requires positions, broker records and the associated price state. A status label supplies only part of that evidence.

What automation does well

A scheduled decision process can apply the same conditions across markets and leave a consistent record of its choices. It can also make unusual cases easier to find than an informal manual review. That is a substantial reason to automate a repetitive lifecycle task.

The scope of that benefit depends on the inputs and the actions behind the decision. A repeatable decision based on incomplete positions is still incomplete. A request that fails at its consumer cannot be counted as completed just because its producer chose an appropriate label.

The historical failure cases

The original article described three boundaries that failed: priced-contract metadata moved ahead of a held position; the priced contract was flat while another contract leg remained; and a previously urgent roll reverted to a less urgent state. These are historical reports. This revision does not assert that every current deployment has the described remedies or that those remedies guarantee successful execution.

The lesson is to name the complete object being inspected. For a futures lifecycle, the current priced contract is not necessarily the only contract that matters. A record of the desired roll state and a record of held positions answer different questions.

Trace producer, consumer and completion

First identify the decision producer: which contract observations, expiry evidence, position records and liquidity observations entered its choice? Retain their dates so that a later reader can distinguish a fresh observation from a value carried forward.

Then identify the consumer. A choice to migrate exposure needs order execution. A choice to advance the price representation needs the corresponding price update. Those actions have their own validation, failure and recovery paths. Reviewing the chooser alone leaves that boundary untested.

Finally identify the completion evidence. Compare the resulting positions with the broker, inspect whether the intended price transition was committed, and retain unresolved discrepancies. A fresh decision timestamp cannot stand in for those observations.

Treat intermediate states as intermediate

The retained pysystemtrade runner source distinguishes a transient price-roll state from ordinary decision states. An intermediate state left behind by an interrupted operation needs investigation of that operation's result. Resetting a label before checking the result can erase the very evidence needed for recovery.

The same principle applies to orders. If observation of a submission times out, determine what the broker accepted before deciding whether another submission is appropriate. This is a conceptual recovery question, rather than a claim about a particular account or an instruction to send an order.

Check the control as well as the condition

For each guard used in an operating procedure, identify what sets it, what clears it and who owns that decision. A control derived from a discrepancy may disappear when the discrepancy is corrected. A manual hold may persist until its owner releases it. A procedure should establish which behavior it relies on.

Check the recovery path against the same contracts and observations as the original decision. A test can verify a branch under its supplied inputs. It cannot establish that the inputs stayed current or that every production consumer completed an action.

A practical review of roll evidence

This checklist describes questions to answer from existing records. It supplies no new thresholds, unattended recovery instruction or guarantee of operational readiness. Futures trading involves substantial risk, including risk from execution and system failures.

For the surrounding system, read the methodology. For the distinction between a tested decision and an executed observation, read live record versus backtest. Use the track-record evaluation checklist for reconciliation questions, and the SMA guide for account ownership and authority. PAST PERFORMANCE IS NOT NECESSARILY INDICATIVE OF FUTURE RESULTS.

Simulation limitations

No hypothetical performance figures are presented here.

HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS IN GENERAL ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.