Coverage

What we actually hold, market by market

Nineteen markets are not nineteen equal datasets. This page states the span, the sample size, the result of the data-mining test and — the column that usually goes unpublished — the smallest effect each market's history could ever have detected. Every figure is read from the same files the dashboard and the API serve, and every one of them is aggregated from Dukascopy hourly bars — the source named in every file we publish, so any row here can be checked against the archive it came from.

19markets with usable history
12where hour-of-week structure is demonstrated
7where it is not
1with years whose data we do not trust
MarketSpanBiggest bucketWindows tested Clear our barFlag is noiseSmallest lean we could seeVerdict
EUR/USD
FX Majors
2003..2026
24 years with data
our archive lacks 7 of 281 months
1,189 121 13
noise: 0.32
1 in 41 4.4 pts demonstrated
GBP/USD
FX Majors
2003..2026
24 years with data
our archive lacks 39 of 281 months
1,052 121 10
noise: 0.32
1 in 31 4.6 pts demonstrated
USD/CHF
FX Majors
2003..2026
17 years with data
our archive lacks 130 of 281 months
655 120 16
noise: 0.31
1 in 52 5.9 pts demonstrated
partial years: 2003, 2004, 2008, 2012, 2015
USD/JPY
FX Majors
2003..2026
21 years with data
our archive lacks 68 of 280 months
926 121 11
noise: 0.31
1 in 35 5.0 pts demonstrated
AUD/USD
FX Minors
2003..2026
23 years with data
our archive lacks 11 of 278 months
1,160 121 13
noise: 0.33
1 in 39 4.4 pts demonstrated
USD/CAD
FX Minors
2003..2026
23 years with data
our archive lacks 3 of 278 months
1,194 121 17
noise: 0.32
1 in 53 4.3 pts demonstrated
NZD/USD
FX Minors
2003..2026
19 years with data
our archive lacks 38 of 278 months
1,042 121 13
noise: 0.33
1 in 39 4.7 pts demonstrated
partial years: 2015
EUR/JPY
FX Minors
2003..2026
23 years with data
our archive lacks 34 of 277 months
1,059 121 9
noise: 0.32
1 in 28 4.6 pts demonstrated
GBP/JPY
FX Minors
2003..2026
19 years with data
our archive lacks 83 of 277 months
843 120 8
noise: 0.32
1 in 25 5.2 pts demonstrated
partial years: 2007, 2017
EUR/GBP
FX Minors
2003..2026
13 years with data
our archive lacks 161 of 275 months
497 120 16
noise: 0.33
1 in 48 6.7 pts demonstrated
partial years: 2003, 2018
Gold (XAU/USD)
Metals
2003..2026
24 years with data
1,217 120 20
noise: 0.32
1 in 63 4.3 pts demonstrated
Silver (XAG/USD)
Metals
2003..2026
24 years with data
our archive lacks 38 of 281 months
1,055 120 38
noise: 0.33
1 in 115 4.6 pts demonstrated
suspect data: 2003, 2004, 2005
US30 (Dow)
Indices
2013..2026
13 years with data
our archive lacks 19 of 157 months
593 114 0
noise: 0.3
— 6.3 pts not demonstrated
partial years: 2013
NAS100
Indices
2020..2026
7 years with data
350 110 0
noise: 0.29
— 8.0 pts not demonstrated
SPX500
Indices
2020..2026
7 years with data
350 110 0
noise: 0.31
— 8.0 pts not demonstrated
GER40 (DAX)
Indices
2013..2026
13 years with data
our archive lacks 28 of 157 months
557 109 0
noise: 0.3
— 6.5 pts not demonstrated
partial years: 2013
UK100 (FTSE)
Indices
2011..2026
5 years with data
our archive lacks 133 of 181 months
201 0 — — 11.0 pts unpublishable
partial years: 2011, 2012, 2020
BTC/USD
Crypto
2017..2026
9 years with data
our archive lacks 11 of 113 months
442 163 2
noise: 0.44
1 in 5 7.2 pts not demonstrated
ETH/USD
Crypto
2017..2026
9 years with data
our archive lacks 9 of 106 months
421 168 1
noise: 0.46
1 in 2 7.3 pts not demonstrated
partial years: 2017

How to read the columns

Biggest bucket is the largest number of candles behind any single weekday × hour window in that market. Our published minimum is 300; a market whose biggest bucket is under that cannot produce one publishable number. That is exactly where UK100 (FTSE) stands, with a biggest bucket of 201 — on the history we hold, which is missing 133 of its 181 months. That shortfall is ours, not the market's.

Clear our bar counts the windows reaching n ≥ 300 and |z| ≥ 3 against that market's own average hour, and noise is how many a grid with no hour-of-week structure at all produces at the same settings — measured by permutation, 4,000 draws. Flag is noise is the ratio of those two: in Silver (XAG/USD) about 1 flag in 115 is expected to be chance; in ETH/USD it is about 1 in 2. The dashboard says this on the window you are looking at, not just here.

Smallest lean we could see is the column that decides how to read an empty row. It is the smallest deviation from that market's own average hour its sample size had the power to flag. US30 would need a window leaning about 6.3 points away from its own average before we could call it; EUR/USD needs 4.4. So "we found nothing in the indices" is a statement about our power, not a proof that nothing is there — and this page prints the number rather than letting a blank column imply the stronger claim.

Suspect data and partial years are two different warnings and the table keeps them apart. A suspect year is one whose mean hourly move runs at least three times (or at most a third of) that market's normal size — almost always a feed that changed units, source or contract rather than a market that woke up; one market has such years. A partial year simply holds fewer than 1,500 bars, so the span overstates what is behind it; 8 markets have one. USD/CHF spans 2003–2026 and has five partial years inside it — and, separately, 130 whole months our archive is missing, which a partial-year count cannot see. Both are why the years column and the span column disagree.

What our archive is missing, and whose fault that is

Our archive is missing 812 whole calendar months of the 4,224 inside these markets' spans, in 16 markets. The worst: EUR/GBP (161 of 275), UK100 (FTSE) (133 of 181), USD/CHF (130 of 281). Gold (XAU/USD), NAS100 and SPX500 are whole. Almost all of that is our download, not the feed and not the market. Dukascopy throttles requests, and until 12 September 2026 the tool that built this archive read a refused request as an empty month and carried on. When we asked for a sample of the missing months again, on 12 September 2026, every one came back complete.

So in those markets the years with data column and every sample size on this site are smaller than the feed could support, and the unpublishable verdict on UK100 (FTSE) is a statement about what we hold rather than about the market. Nothing is fetching them at the moment. A repair from the same feed began on 12 September 2026 and stalled on its throttle after a handful of months, and by 26 September the feed was refusing every request we made. Our weekly update has come from Dukascopy's own requester-pays archive since then, and that archive could fill these months too — but doing so rebuilds history rather than extending it, so counts, flags and verdicts in these markets would move, and /changelog will carry it as a Correction when it happens. Until then the months are simply missing. The months are listed per market and per year in quality.json (holes).

Freshness lives on /status, which also reports whether the last refresh worked. The tests behind the verdict column are on /evidence. The files themselves are on /api, open CORS, no key.