Procedura Rolling Futures Contracts

Quick Reference

Procedura per passare da contratto futures in scadenza a contratto successivo, minimizzando costi e slippage.

Overview

Problema: Futures hanno scadenza → need to roll position al next contract.

Obiettivo: Smooth transition mantenendo exposure costante.

Timing critico: Roll troppo presto/tardi = higher costs.

Quando Rollare

Roll Window Standard

Tipico timing: 5-10 giorni prima expiration.

Razionale: - Liquidity migra a next contract - Spread tightens su next contract - Time decay accelera su current

Roll Triggers

Trigger 1: Volume Crossover

When Volume(next) > Volume(current):
    Initiate roll

Trigger 2: Open Interest

When OI(next) > OI(current):
    Initiate roll

Trigger 3: Calendar Days

When Days_to_expiry < 10:
    Initiate roll

Best practice: Combina tutti e tre triggers.

Step-by-Step Procedure

Step 1: Monitor Approach to Expiry

15 giorni prima: - Check volume ratio (next/current) - Check open interest ratio - Check spread (next - current)

Example tracking:

Date: Dec 5
Current contract: Dec (expires Dec 15)
Next contract: Mar
Volume ratio: 0.60 (next/current)
OI ratio: 0.45
Status: Wait

Step 2: Identify Roll Window

10 giorni prima:

Date: Dec 10
Volume ratio: 0.85
OI ratio: 0.80
Spread: -$0.25 (backwardation)
Status: Monitor closely, prepare to roll

5 giorni prima:

Date: Dec 12
Volume ratio: 1.20
OI ratio: 1.15
Spread: -$0.30
Status: START ROLLING

Step 3: Decide Roll Strategy

Full Roll (Recommended for Small Positions)

Day 1: Close ALL current, Open ALL next

Pros: Simple, completed fast Cons: All execution risk one day

Gradual Roll (Recommended for Large Positions)

Day 1: Roll 33%
Day 2: Roll 33%
Day 3: Roll 34%

Pros: Spreads execution risk Cons: More complex, longer exposure split

Step 4: Execute Roll

For each contract:

Close current: - Use limit order at bid (if long) / offer (if short) - Wait up to 50% of trading day - Fallback to market if not filled

Open next: - Simultaneously place limit at bid/offer - Maintain same net exposure - Use spread order if available

Step 5: Verify Exposure Maintained

Check:

Old position size × Old contract value =
New position size × New contract value

Example:

Old: 10 contracts × $50 × 2500 = $1,250,000
New: 10 contracts × $50 × 2550 = $1,275,000
Close enough (price change from movement)

Roll Costs

Explicit Costs

Bid-ask spread × 2 (exit + entry):

Cost_explicit = 2 × Spread × Position_size

Example (S&P 500, spread = 0.25):

Cost = 2 × 0.25 × 10 contracts × $5 = $25

Implicit Costs

Calendar spread (contango/backwardation):

Contango (next > current):

Pay: (Price_next - Price_current) × Position

Backwardation (next < current):

Receive: (Price_current - Price_next) × Position

Example (contango +$5):

Cost = $5 × 10 contracts × $5 = $250

Total roll cost: $25 + $250 = $275

Annualized Cost

If roll 4× per year (quarterly contracts):

Annual_cost = Roll_cost × 4
            = $275 × 4 = $1,100

As % of position: $1,100 / $1,250,000 = 0.088%

Spread Orders

What Are They

Spread order: Simultaneous sell current + buy next at specified spread.

Example:

"Sell Dec, Buy Mar at -$5 spread"

Executed when: Mar - Dec = -$5

Advantages

  • Single transaction
  • Locks in spread
  • Less slippage
  • Faster execution

Availability

Common: Liquid futures (S&P, bonds, crude) Rare: Exotic futures Check broker capabilities

Contract Selection

Which Next Contract?

Standard: Next quarterly (Mar, Jun, Sep, Dec) Example: Dec expiring → Roll to Mar

Alternative: Skip to second contract When: First contract illiquid or wide spread Example: Dec → Jun instead of Mar

Verify Liquidity

Before rolling, check next contract: - Volume > 1000/day (minimum) - Spread < 2× current contract - Open interest growing

If insufficient: Consider skipping to later contract.

Special Cases

Physical Delivery Contracts

Extra caution needed: - Roll earlier (10-15 days before) - Never hold into delivery period - Check first notice day

Example (Crude oil): - Expiry: 3rd business day before 25th - First notice: Months before expiry - Roll by: 20 days before expiry minimum

Cash-Settled Contracts

Less urgent: - Can roll closer to expiry - No delivery risk - Still need liquidity

Example (S&P 500): - Expiry: 3rd Friday of month - Cash settled at open - Roll by: Week before ok

Roll Yield

Persistent Backwardation

Example: Crude oil often backwardated - Current: $80 - Next: $78 - Gain $2 per roll

Annual benefit: $2 × 4 rolls = $8 = 10% return! This is carry from futures curve.

Persistent Contango

Example: VIX futures usually contango - Current: $15 - Next: $18 - Pay $3 per roll

Annual cost: $3 × 12 rolls = $36 = -60% drag! Kill returns - avoid unless necessary.

Automation vs Manual

Manual Rolling

Appropriate for: - 1-10 instruments - Quarterly rolls - Part-time trader

Routine: - Set calendar reminder 15 days before - Check volume/OI - Execute roll over 1-3 days

Automated Rolling

Appropriate for: - 10+ instruments - Monthly rolls - Full-time system

Logic:

if volume_next / volume_current > 1.0:
    if days_to_expiry < 10:
        execute_roll()

Tracking

Roll Calendar

Maintain spreadsheet:

Instrument | Current | Next | Expiry | Roll Date | Cost
ES         | Dec23   | Mar24| 12/15  | 12/10     | $275
GC         | Dec23   | Feb24| 12/28  | 12/20     | $150

Update as roll completes.

Roll Costs Log

Per roll, record: - Date - Contracts rolled - Spread paid/received - Bid-ask cost - Total cost - Slippage vs expected

Annual review: Total roll costs vs budget.

Minimizing Roll Costs

Technique 1: Patience

Use limit orders: - Bid for long rolls - Offer for short rolls - Save ~50% of spread

Technique 2: Timing

Roll when: - Spread favorable - High liquidity day - Market calm (not news)

Avoid: - Expiry day rush - FOMC days - Low volume hours

Technique 3: Spread Orders

If available, use spread orders: - Better pricing - Faster execution - Less risk

Technique 4: Contract Choice

Prefer contracts with: - Tighter spreads - Higher volume - Less contango

Example: ES (tight) vs EMD (wide) - roll costs differ 10×.

Risk Management

Don't Get Stuck

Never hold into: - Last trading day - Delivery period - Illiquid phase

Emergency exit: If forget to roll, market order immediately.

Exposure Gap

During roll, temporary split exposure:

Day 1: 7 old contracts + 3 new contracts

Risk: Slight tracking error for 1-3 days. Acceptable: Small cost of gradual roll.

Price Moves During Roll

Market moves during multi-day roll:

Example: - Day 1: Roll 50% at favorable spread - Day 2: Market rallies, spread widens - Decision: Complete roll at worse price or wait?

Rule: Complete roll as planned, don't time spread.

Different Asset Classes

Equity Index Futures

  • Roll: 5-10 days before
  • Volume trigger reliable
  • Usually liquid
  • Spread orders available

Bond Futures

  • Roll: 10 days before
  • Check deliverable basket
  • Front contract switches fast
  • Use spread orders

Commodity Futures

  • Roll: 10-20 days before
  • Physical delivery risk
  • Check first notice day
  • Wide spreads possible

FX Futures

  • Roll: 5-10 days before
  • High liquidity
  • Tight spreads
  • Consider FX spot instead (no rolling)

Errori Comuni

  • Roll too late: Stuck in illiquid contract, wide spreads
  • Roll too early: Pay penalty for early roll, old contract still liquid
  • Ignore volume/OI: Roll to illiquid contract
  • All at once large position: Move market, high slippage
  • Forget to roll: Forced liquidation or unwanted delivery
  • Market orders: Pay full spread both sides
  • Wrong next contract: Roll to wrong month, illiquid
  • No tracking: Don't know roll costs, can't optimize

Concetti Correlati

  • [[Futures vs CFD]] - CFD non hanno rolling
  • [[Bid-Ask Spread]] - component of roll cost
  • [[Carry]] - roll yield from curve shape
  • [[Smart Execution]] - minimize roll costs
  • [[Transaction Costs]] - roll costs part of total