← Back to the blog
Notes

Full-tick M1 data vs Dukascopy: what traders actually miss

Dukascopy is the default for retail M1 history. Here's why 'good enough' is still wrong — and how it distorts session-based strategies.

If you've ever backtested a session-based strategy — London Reversal, NY Open, Asian Range breakouts — you've almost certainly used Dukascopy tick data, resampled to M1. It feels like the obvious choice. Free, downloadable, covers 2003 to today.

It is also the most common single source of false backtest confidence in retail trading.

What Dukascopy is — and what it isn't

Dukascopy's public tick archive is a broker-side tape. It contains every trade that crossed Dukascopy's JForex aggregator for the relevant instrument. It does not contain:

  • Interbank quotes that never reached Dukascopy
  • Institutional block prints at ECNs not connected to Dukascopy
  • Crosses that hit other venues first
  • Quiet hours where Dukascopy's liquidity was thin

For a EURUSD backtest that runs to 2003, that's a lot of missing tape. The EUR/USD spot market runs through ~25 primary venues. Dukascopy sees a fraction.

This isn't a criticism of Dukascopy specifically. The same problem applies, to varying degrees, to every retail-accessible tick source. The difference is that Dukascopy is the default — so the gap is also the default.

Why this matters for session strategies

Session strategies care about the book, not the trades that crossed it. A London Reversal entry assumes price is being discovered by real liquidity at 08:00 London. If your tape only captures a slice of that liquidity, the volume profile, the spread behaviour, and the volatility regime are all biased.

Concretely: a backtest of a London Reversal on Dukascopy M1 will systematically under-estimate the wicks at the reversal hour, because some of the real wick prints happened on venues your tape didn't see. You'll conclude the reversal is calmer than it is. You'll size too large. You'll get stopped out by wicks you didn't know existed.

This is not a theoretical problem. It's the single most common failure pattern we see in strategies submitted to the Deepwick author programme.

What full-tick M1 actually buys you

Full-tick M1, properly sourced from a multi-venue aggregator, gives you three things Dukascopy cannot:

  1. Wicks that match reality. When a venue prints 30 pips through your entry at 08:00:47, the full-tick tape captures it. The Dukascopy tape might capture 4 pips of that print and call it M1.
  1. Volume that means something. Aggregate tick volume across all venues is a better proxy for real liquidity than any single broker's tape. Spread is similarly a real number, not a single-broker spread.
  1. Spread regimes that match what you'll face live. Slippage assumptions calibrated to broker-only data under-estimate spread blowouts at session open.

The first matters most for risk models. The second and third matter most for execution assumptions.

The cost question

The natural objection is price. Multi-venue tick aggregators are expensive — Polygon, LSEG, Refinitiv, OPRA all charge by the tick. For a retail trader, the cost of full EURUSD + GBPUSD + XAUUSD + XAGUSD M1 from 2003 across all venues can run into thousands of dollars.

The thing is, that cost is fixed. Once we've paid it, we can serve it at marginal cost to every Deepwick user. That's the entire reason Deepwick exists as a subscription product — the data acquisition cost is a platform-level cost, not a per-user cost.

What Dukascopy is still good for

This isn't an argument against Dukascopy. For exploration, prototyping, and short-window validation, the Dukascopy tape is genuinely useful. Most of the strategies we test at Deepwick go through a Dukascopy prototype before they touch the full-tick tape. The mistake is treating Dukascopy as the production input rather than the prototype.

If you're using Dukascopy M1 as your backtest source today, three quick wins:

  1. Always sanity-check wicks against a second source. Pick a random week from 2019, draw the M1 wicks, and compare against a broker's actual print. If you see systematic gaps, your broker only saw a fraction of the action.
  1. Don't trust your spread assumptions. Backtests that assume a 1-pip spread on EURUSD during the London open are modelling a fantasy. Add 2-3x to your spread assumption at session open and see if your strategy still works.
  1. Validate any strategy on full-tick before you trade it. Even if you only do this once, the difference is large enough that you'll recalibrate your confidence in your backtests permanently.

The next post in this series covers the deflated Sharpe ratio — and why we built an overfitting test that runs on every optimisation by default.

— Enrique

datadukascopym1-historysession-playbook