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.
| Market | Span | Biggest bucket | Windows tested | Clear our bar | Flag is noise | Smallest lean we could see | Verdict |
|---|---|---|---|---|---|---|---|
| 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.
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).