Seasonality Considerations in Futures Markets
Seasonality Considerations in Futures Markets
Many commodity futures exhibit predictable seasonal patterns driven by production cycles, weather, and consumption trends. Understanding seasonality helps hedgers time their positions and enables traders to identify recurring opportunities while avoiding seasonal pitfalls.
Definition and Key Concepts
What Is Seasonality?
Seasonality refers to predictable, recurring patterns in prices that occur at specific times of year. These patterns emerge from:
- Production cycles (harvests, breeding seasons)
- Consumption patterns (heating demand, driving season)
- Storage economics (inventory builds and draws)
- Weather impacts (planting, hurricanes)
Seasonal vs. Cyclical
| Pattern Type | Duration | Driver |
|---|---|---|
| Seasonal | Annual, repeating | Calendar-based events |
| Cyclical | Multi-year | Economic cycles |
| Trend | Long-term | Structural changes |
Seasonality repeats each year; cyclical patterns span multiple years.
Seasonal Spread Trading
Seasonal spreads involve buying one contract month and selling another to capture seasonal price differentials:
- Bull spread: Long nearby, short deferred (expects nearby to strengthen)
- Bear spread: Short nearby, long deferred (expects nearby to weaken)
These spreads often reflect seasonal supply/demand patterns more reliably than outright prices.
How It Works in Practice
Agricultural Seasonality
Corn (ZC):
| Period | Pattern | Driver |
|---|---|---|
| March-June | Prices often rise | Planting uncertainty |
| July-August | Volatility peak | Weather during pollination |
| October-November | Harvest pressure | New crop supply arrives |
| December-February | Consolidation | Post-harvest storage |
Seasonal spread: Sell December corn, buy July corn (old crop vs. new crop)
Rationale: New crop (December) supply pressures price lower relative to old crop (July) as harvest approaches.
Energy Seasonality
Natural Gas (NG):
| Period | Pattern | Driver |
|---|---|---|
| November-February | Winter premium | Heating demand peak |
| March-April | Prices decline | Shoulder season, mild weather |
| June-August | Summer builds | Injection season, storage |
| September-October | Pre-winter positioning | Uncertainty about winter |
Seasonal spread: Long January, short October (winter vs. fall)
Rationale: January gas commands premium for heating demand; October is shoulder season.
Heating Oil (HO):
- Winter premium for heating demand (October-February)
- Summer discount during refinery maintenance and lower demand
Gasoline (RB):
- Spring rally into driving season (February-May)
- Summer peak for vacation driving
- Fall decline post-Labor Day
Financial Futures Seasonality
Even financial futures show some seasonal effects:
Equity indices:
- "Sell in May" effect (summer underperformance)
- Year-end rally tendency
- January effect (small caps outperform early year)
Treasury futures:
- Quarter-end rebalancing flows
- Year-end tax-loss selling impacts
- Fed meeting cycles affect volatility
These patterns are less consistent than commodity seasonality.
Worked Example
Seasonal Natural Gas Trade
A trader observes that natural gas typically rallies from October to January as heating demand increases.
Historical pattern (10-year average):
| Month | Average Price Change | Win Rate |
|---|---|---|
| October | +5% | 70% |
| November | +8% | 75% |
| December | +6% | 65% |
| January | +3% | 60% |
Trade construction:
Entry: October 1 Exit: January 31 Position: Long 10 NG futures
Risk management:
- Stop loss: -15% from entry
- Position sizing: Max 2% portfolio risk
2024-2025 scenario:
| Date | NG Price | Position Value | Cumulative P/L |
|---|---|---|---|
| Oct 1 | $3.00 | $300,000 | $0 |
| Nov 1 | $3.25 | $325,000 | +$25,000 |
| Dec 1 | $3.60 | $360,000 | +$60,000 |
| Jan 1 | $4.00 | $400,000 | +$100,000 |
| Jan 31 | $3.80 | $380,000 | +$80,000 |
Return: +26.7% over 4 months
However, seasonal patterns can fail:
2023-2024 scenario (mild winter):
| Date | NG Price | Position Value | Cumulative P/L |
|---|---|---|---|
| Oct 1 | $3.00 | $300,000 | $0 |
| Nov 1 | $3.10 | $310,000 | +$10,000 |
| Dec 1 | $2.80 | $280,000 | -$20,000 |
| Jan 1 | $2.50 | $250,000 | -$50,000 (stop triggered) |
Loss: -16.7% (stopped out)
Seasonality provides edge but not certainty.
Spread Trade Example
Corn calendar spread: July/December
Objective: Capture old crop premium over new crop.
Historical pattern: July (old crop) typically trades at premium to December (new crop) from April to June as old crop supplies tighten before harvest.
Trade:
- Buy 10 July corn (ZCN25)
- Sell 10 December corn (ZCZ25)
- Entry spread: July 15¢ premium to December
Spread dynamics:
| Date | July | December | Spread | Spread P/L |
|---|---|---|---|---|
| April 1 | $4.50 | $4.35 | +15¢ | $0 |
| May 1 | $4.70 | $4.40 | +30¢ | +$7,500 |
| June 1 | $4.90 | $4.50 | +40¢ | +$12,500 |
| July 1 | $4.80 | $4.55 | +25¢ | +$5,000 |
Calculation: Each cent = $50 per contract × 10 contracts = $500
The spread widened from 15¢ to 40¢ peak (+25¢ = $12,500 gain) before narrowing into July expiration.
Risks, Limitations, and Tradeoffs
Seasonal Pattern Failure
Past patterns don't guarantee future results:
- Weather anomalies (mild winters, drought)
- Supply shocks (pipeline outages, export changes)
- Demand shifts (economic recession, efficiency gains)
- Policy changes (ethanol mandates, export restrictions)
Crowded Trades
Well-known seasonal patterns attract many traders:
- Entry prices may already reflect expected move
- Crowded exits create slippage
- Pattern may front-run or fade earlier than historically
Storage and Inventory Variations
Seasonal patterns depend on typical inventory cycles. Unusual starting inventories change the equation:
- High gas storage entering winter → muted winter rally
- Low corn stocks → extended old crop premium
Basis Seasonality
The relationship between futures and local cash prices also has seasonal patterns. Hedgers must consider both:
- Futures seasonality
- Basis seasonality at their delivery point
Common Pitfalls
-
Assuming patterns repeat exactly: Historical averages mask year-to-year variation.
-
Ignoring current fundamentals: Strong contrary fundamentals override typical seasonality.
-
Position sizing based on pattern confidence: Even 70% win rates have 30% losers requiring appropriate sizing.
-
Holding too long: Seasonal windows have optimal entry and exit timing.
-
Trading illiquid contract months: Some seasonal patterns involve less liquid expirations.
Checklist for Seasonal Trading
- Identify seasonal pattern for the commodity
- Verify pattern with 10+ years of data
- Calculate historical win rate and average return
- Assess current year fundamentals (inventory, weather, demand)
- Determine entry and exit timing windows
- Size position for acceptable risk given pattern reliability
- Set stop-loss for pattern failure scenario
- Monitor fundamentals during holding period
- Consider spread trades vs. outright positions
- Document trade rationale and outcome for future reference
Next Steps
To understand price differences between futures and spot, see Basis Risk Between Futures and Spot.
For contract identification and timing, review Understanding Delivery Months and Symbols.