How to Backtest 6M Futures Without Getting Misled by Volatility

Backtesting 6M (USD/MXN futures) is nothing like backtesting majors or equity futures. The Peso’s volatility, thin liquidity, and irregular price structure destroy most backtests because traders don’t adjust for ATR expansion, slippage simulation, or the intraday volatility windows that 6M is built on. If you don’t test it correctly, your strategy will look perfect on paper and blow up in live trading.

1. Understand Why 6M Backtests Fail

Most backtests fail on 6M for three reasons:

  • Volatility distortion: ATR can double or triple from one period to another.
  • Spread spikes: randomness in the bid-ask flows isn’t modeled.
  • Data gaps: thin liquidity means micro-jumps aren’t shown accurately on candles.

You must fix these flaws or your backtest results are worthless.

2. Use ATR-Normalized Rules Instead of Static Rules

You saw in 6M Volatility Profile that this contract averages 600–1200 ticks daily. A strategy using fixed 20–30 tick stops or fixed-size targets will always fail during ATR expansion.

Backtest with ATR-based components:

  • Stop = 1× Hourly ATR
  • Target = 1.5–2× ATR(5)
  • Breakout filters = ATR rising
  • No-trade filter = ATR collapsing

This keeps your strategy aligned with the contract’s volatility regime.

3. Account for Slippage Properly (Most Don’t)

6M slippage is no joke. You already saw why in 6M Slippage Explained. Backtests that assume “perfect fills” are fantasy. You must simulate slippage properly.

Use this simple rule:

  • Add 2 ticks slippage per entry
  • Add 3–6 ticks slippage per stop-out
  • Double slippage during news or illiquid hours

It’s not perfect, but it makes backtests realistic instead of delusional.

4. Separate Backtests by Market Regime

6M behaves like multiple different markets depending on volatility and macro conditions. You must categorize your test periods.

Break your backtest into regimes:

RegimeCharacteristicsWhy It Matters
Carry-drivenlow VIX, strong MXNsmooth downtrends
Risk-offhigh VIX, USD surgeviolent upward spikes
Compressiontight rangesfalse breakouts
ExpansionATR increasingtrend continuation valid

Testing all regimes together without separating them gives you garbage statistics.

5. Avoid Backtesting Overnight Sessions

6M overnight liquidity is extremely thin. Backtesting overnight entries or signals produces fake edges that don’t work live.

No trading windows for live or backtest:

  • 7 PM – 7 AM ET — too thin
  • 12 PM – 2:30 PM ET — mid-day chop

Test during the same time windows you actually trade.

6. Layer Fundamental Filters Into Your Backtest

6M is fundamentally driven. Technical-only strategies fail because USD/MXN responds to real capital flows.

Use these fundamental filters:

  • DXY direction filter — only long 6M when DXY rising.
  • Rate spread filter — only short 6M when Banxico yield advantage is stable.
  • Risk sentiment filter — avoid longs during risk-on MXN strength windows.

A strategy that ignores macro will have 50% worse performance live.

7. Test Entry Delay and Exit Delay

6M jumps levels constantly. Your backtest needs to simulate that.

Rules:

  • Entry at next tick, not signal tick
  • Stops triggered one tick early
  • Exits delayed one tick

This reduces the “perfect backtest problem” where charts give price levels you would never get filled at.

8. Use Tick Data If You Want Accurate Results

Candle data hides micro-gaps. 6M gaps constantly, but candles smooth them out. If you want clean backtests, use tick or volume-based histories.

Without tick data, tight-stop strategies look profitable — then instantly blow up in live markets.

Definitions for Screen Readers

Backtesting: Testing a strategy on historical data to evaluate performance.

ATR: Average True Range, a volatility measure.

Slippage: Difference between expected fill price and actual fill price.

Regime: A market condition defined by volatility or macro behavior.

Tick data: Every individual trade recorded, used for precision testing.

Bottom Line

Backtesting 6M requires volatility-adjusted stops, tick-level data, regime separation, realistic slippage assumptions, and fundamental filters. If you skip even one of these, your strategy will look incredible in your backtest and fail the moment you trade it live. The next article wraps up the 20-article series by explaining how to avoid common data traps that distort 6M testing.


Internal Links