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.
Forex research data
The factory supports 32 configured Forex pairs. A collected dataset is not proof of complete coverage, executable quotes or broker readiness.
Inspect the Forex universedata_checks.pybars = 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 example · not a live result
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.
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 FX observations retain source receipts and availability timestamps. Conversion evidence and macro signals are separate from tradable pair history.
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.
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.