Forex research data

Currency-pair history with explicit evidence

The factory supports 32 configured Forex pairs. A collected dataset is not proof of complete coverage, executable quotes or broker readiness.

Inspect the Forex universe
data_checks.py
bars = bars.sort_values("ts_init")
assert bars.ts_init.is_unique
assert (bars.high >= bars.low).all()
assert (news.ts_available <= t).all()
coverage = observed / expected
Illustrative Forex price history and data coverage checks

Illustrative example · not a live result

Source-owned history

Yahoo price history

Hourly and available minute price bars support initial research. Daily bars are aggregated from audited hourly history. This source does not provide historical executable spreads or volume.

Dukascopy history

Pairs move to Dukascopy only through the existing source-admission and coverage checks. Its bid and ask observations support spread calibration and source-owned history.

Official currency observations

Official FX observations retain source receipts and availability timestamps. Conversion evidence and macro signals are separate from tradable pair history.

Costs and session boundaries

Backtests record commission, calibrated spreads and modeled overnight financing. Every run freezes its approved evidence. Missing or stale inputs stop the run rather than silently removing costs.

FX sessions, daylight-saving transitions, pip precision, base-unit quantities and quote currencies matter. Missing tradable bars are not filled with invented prices.

Research and broker evidence are different

The platform research model is not a historical ZFX settlement record. MT4 and MT5 demo acceptance requires observed symbol terms, account mode, server clock, commissions, swaps and reconnect behavior.

Read the Forex data guide