MarketData Hub All markets · Guides

Data Methodology

Trustworthy research needs a clear data lineage. This page documents exactly where our historical data comes from, how it's processed into the candles you download, and the limitations you should know about.

Source

All historical price data is sourced from Dukascopy Bank SA, a Swiss bank and ECN broker that publishes a long, public archive of historical quotes. The data is retrieved via the open-source dukascopy-node library. We do not alter the underlying prices — we package them for download.

From ticks to candles

The raw feed is tick data: individual bid/ask quotes time-stamped to the millisecond. OHLC candles (1-second through monthly) are built by resampling those ticks into fixed time intervals — the open is the first price in the interval, high and low the extremes, and close the last price. You choose the bid or ask side at download time; forex candles also carry volume where available.

History depth

Available history varies by instrument and by timeframe. Aggregated daily candles reach back furthest — EUR/USD daily, for example, goes to 1973 — while full tick and intraday history for major forex pairs generally begins around 2003, and newer instruments start later. Every instrument page lists the exact start date for each granularity, so you always know the real coverage before you download.

Update cadence

Series are kept current through the last completed trading day. Markets are closed on weekends and holidays, so those gaps are expected and reflect genuine non-trading periods rather than missing data.

Timestamps & timezone

All timestamps are in UTC, so data lines up consistently across instruments and sessions regardless of your local timezone. CSV and JSON exports share the same column layout, documented in the CSV & JSON format guide.

Known limitations

Using the data

See backtesting with historical data for how to avoid look-ahead and survivorship bias, and the terms & license for permitted use and attribution.