Module 2 / 2
Futures roll: how to move a position
Futures roll protocol: how to determine the roll window from volume, calculate roll cost in R, and record the plan alongside execution in your journal.
- Author
- Zordon Intelligence Sp. z o.o.
- Updated
- 8 min read
- Structure sources
- 2
The thesis of this lesson: a roll is a close and an open, not an extension
You cannot “extend” a futures contract — each has an expiry date. When you want to hold the exposure further, you execute a roll: you close the position in the old month and open it in the new one. The price difference (spread between months) decides the roll cost — and that depends on the forward curve.
When and how to execute a roll
| Moment | What you do |
|---|---|
| Front month + a few weeks to expiry | check liquidity of both months (volume, spread) |
| Roll window (liquidity window) | when the new month takes over volume — usually 1–2 weeks before expiry |
| Execution | close old + open new (or spread order, if available) |
| Journal entry | date, prices of both months, roll cost / spread |
You do not wait until the last day: then the old month’s liquidity drops, and spread and slippage rise. “A few weeks before” is a hint, not a rule. You determine the rule from the data you see on your own account.
Roll protocol — six steps
Order is part of the procedure. Steps 1–3 determine when, steps 4–6 — how much it costs and what to record after the fact.
- Record the old series’ expiry date. You take it from the instrument calendar at the exchange or broker and record it in advance, not on the expiry day.
- Scan both series’ volume once per session. After close, record two numbers: old series volume and new series volume, at the same moment. Without this step, you have no basis for a decision, only a calendar.
- Acknowledge that the new series has taken over when its volume exceeds the old series’ volume in two consecutive reads. Two reads, not one — a single day can be noise caused by one large transaction. This rule is reproducible: the same condition in the same data layout gives the same decision. This is a practical application of turnover measurement relative to the typical level; the protocol itself, together with converting slippage to R, is described in the lesson Volume and liquidity.
- Read the calendar spread at the roll moment. For a long position
spread = F_new − F_old; for short the sign reverses. Record the sign explicitly, so you do not compare numbers with different signs in one worksheet. - Calculate roll cost in PLN (Polish złoty) and in R:
spread_pts = F_new − F_old (for long; short = reverse)
roll_cost_PLN = spread_pts × point_value × number_of_contracts + commissions (close + open)
roll_cost_R = roll_cost_PLN / 1R
Point value, contract size, and commissions are broker-specific — check with your broker before entering them into the formula. Calculate 1R from the stop on this position, in line with the lesson on r-multiple.
- Execute and compare. Close the old series + open the new one (or spread order, if the broker offers it). After execution, enter the actual fill prices of both legs and recalculate the cost — using the same formula. The difference between plan and execution is a measure of your execution, not “bad luck.”
How much roll costs
Roll cost = price difference between months (calendar spread) + closing and opening commissions. In contango you pay a premium for the transfer; in backwardation you usually recover. On top of that:
- broker commissions (close + open),
- spread of both months at roll time,
- possible margin change between months.
Decision threshold: before rolling, calculate the cost as a fraction of 1R and compare it with the carry budget recorded in your plan. If roll eats 0.5R per month, the holding horizon or instrument needs rethinking — that is a number you see in the worksheet, not a feeling after the session.
Example of the calculation alone (all values are illustrative numbers, not quotes): spread_pts = 3, point_value = 10 PLN, number_of_contracts = 1, total commissions = 8 PLN, your 1R = 300 PLN.
roll_cost_PLN = 3 × 10 × 1 + 8 = 38 PLN
roll_cost_R = 38 / 300 ≈ 0.13R
This example shows only the sequence of actions. Point value, contract size, and commissions must be checked with your broker — in the worksheet you enter your own numbers, not those from the lesson. If you record an approximate value in the journal, mark it as illustrative, so you do not confuse it with your own measurement after a month.
Roll window journal — fill it in yourself
This worksheet answers step 3: it shows when the new series actually took over volume.
| Date (session) | Instrument | Volume old | Volume new | New above old? (Y/N) | Consecutive reads | Spread (pts) |
|---|---|---|---|---|---|---|
Roll journal — fill it in yourself
| Date | Instrument | Old series | New series | F_old | F_new | spread (pts) | Planned cost (R) | Actual cost (R) | Difference (R) |
|---|---|---|---|---|---|---|---|---|---|
After three rolls, calculate the average of the “Difference (R)” column and the median of actual cost. The first number tells you whether the plan is realistic, the second — what the typical carry cost is on this instrument. Both are yours; neither comes from a publication.
When roll says “do not trade”
- The new series has not taken over volume. Lack of two consecutive reads where the new series’ volume exceeds the old means rolling in a thin month — i.e. paying an extended spread for haste.
- Roll cost in R exceeds the carry budget from the plan. Exceeding the threshold is not a signal to negotiate with the threshold; it is a signal to change the horizon or the instrument.
- You do not know the required deposit for the new series. Margin changes between months — confirm it with your broker. A roll executed “in the dark” can leave the account without a buffer for daily fluctuation.
- Roll on the expiry day or after it. There is no time to correct fills or react when the spread widens. If you allowed this situation, the problem is not roll, but lack of procedure from steps 1–3.
Roll and strategy
- Day trader usually does not roll — closes before session end.
- Swing / swing futures rolls by calendar, with recorded cost.
- Hedging (if you use futures for hedging) roll is often planned for a fixed window.
- If you roll often, consider a CFD on indices — cost comparison: CFD or futures.
Common mistakes
- Roll “at the last moment” — low liquidity in the old month = worse price.
- No roll cost record — without it, you do not know how much carry eats from profit.
- Comparing a continuous chart without roll adjustment — the continuous chart is often “pasted together”; roll changes real PnL.
- Switching to another month without checking the curve — that is a cost decision, not a “technical detail.”
- Deciding the roll window from the calendar without volume — the expiry date tells you how much time you have, not when to move the position.
- Plan and execution in separate places — if planned cost does not sit next to actual cost, you do not measure execution, you assess it from memory.
Measurable exercise
Choose a contract you hold (or simulate). Perform steps 1–5: record the expiry date, keep a roll window worksheet for at least five sessions, determine the volume takeover moment using the two-read rule, calculate planned cost in R, and record it in the roll journal. After execution, enter the actual cost next to the plan. The difference tells you how well you execute the procedure — and that is the only number in this exercise that cannot be replaced by opinion.
A futures contract roll is:
Roll is close + open. Cost depends on the calendar spread (contango / backwardation) and commission.
Common questions
When is the best time to roll?
In the liquidity window — when the new month takes over volume, usually 1–2 weeks before expiry. The takeover moment you determine by the rule of two consecutive volume reads, not by the calendar date alone.
Does roll always cost?
No — in backwardation, the calendar spread is often in your favor. But cost (or benefit) you always calculate as a fraction of R, you do not guess. Commissions and point value, which you need for the calculation, check with your broker.
Does the continuous chart account for roll?
Continuous chart is a construct pasted between months; curve differences can distort PnL. Therefore, with longer holding, you keep your own record.
Why calculate roll cost in R, not only in PLN?
Because PLN does not tell you whether the cost is large — it is large only when it eats a significant part of the position risk. R normalizes this cost to your risk rule, so the same spread on two instruments with different point value becomes comparable, and carry cost can be matched with system expectancy. Without this comparison, you cannot distinguish a strategy that works from a strategy that the term structure silently finances from your capital. Confirm worksheet entries (spread, commissions, margin) with your broker before treating them as fixed.
Advertisement
Key takeaways
- A futures contract has an expiry date, so a position longer than a month requires a roll: closing the old series and opening a new one. This lesson gives an execution protocol: a rule for determining the roll window from two consecutive volume reads, a formula for roll cost in points, PLN, and R, a journal to fill out, and rules for when roll says do not trade. Plan and execution in one worksheet — the difference between them is a measure of your execution.
Structure sources
The material is based on source documents. Variable values — fees, limits, regulatory figures — are worth checking at the source before making a decision.
- CME Group — rolling futures positions — cmegroup.com
- Investopedia — futures roll — investopedia.com
Disclaimer
- Educational material. Not investment advice or a recommendation. Trading involves the risk of losing capital.
- The materials are educational. They are not investment advice or a recommendation within the meaning of financial instruments trading regulations. Numbers in examples are illustrative unless a measurement date and source are given.
Who writes this and how we check it
The materials are written and verified by Redakcja Kurs Tradera — the rules are described on about the site: every number has a source, and we show gaps openly. Report a factual error via contact — corrections are described in the content.
Progress is stored only in this browser (localStorage) — there is no account and no copy on the server. Clearing site data will remove it. Manage your data