Changelog

What changed, and what it changed for you

Everything below is on the site now and can be checked there. Entries marked Correction are the ones that moved a number you may already have read — there are 4 of them, and they are the reason this page exists rather than a marketing post.

Bought once, improved anyway. Access here is a single payment with nothing to renew, so this page is the only honest way to show that the thing you bought keeps getting better — and, when we get something wrong, that we say so in public rather than quietly re-rendering it.

15 August 2026

New

Non-farm payrolls, measured

The first Friday of every month at 08:30 New York is the one scheduled event 23 years of hourly bars can locate without an economic calendar. It moves 18 of the 18 markets we can test — a median of 160% of an ordinary Friday's same hour, EUR/USD nearly double — and not one of them shows a direction. The dashboard flags the day; it will never tell you which way to lean, because the data does not.

New

Every page prints properly

The whole site is dark-themed, which used to print as pale grey on white paper. Now it prints black on white with the links spelled out, tables that repeat their headers across pages, and a line at the top of every sheet saying where the numbers came from and what they are not.

Correction

Alerts got much quieter, and much better

A window now has to clear two bars to reach your phone: it survived the backtest out of sample, and its hour genuinely differs from that market's own average hour. That takes the alert list from 126 windows to 22 — about 38 pushes a week instead of 154. The 33 US30 and 21 GER40 windows that used to alert were the index drifting upward, not a schedule.

New

The strategy board says why each rule works

Every row is now marked SCHEDULE or DRIFT ONLY. Both are real backtest results; only the first means the hour itself behaves differently. 39 of 150 rows qualify — and 0 of 28 US30 rules, 0 of 21 GER40. There is a filter for the ones that do.

New

Compare two markets on one chart

Pick a second market on the up-rate chart and it draws alongside, with the correlation of their daily shapes. EUR/USD and GBP/USD come back at +0.85 — holding both is close to one position at twice the size, which is the thing the number is there to tell you.

Correction

The data was eleven days stale, and now says so

The weekly download had been half-failing for a fortnight while its log recorded success — 15 of 19 markets were 11 days behind. Fixed, and made visible: every market's history end date is on the dashboard, and anything more than nine days old announces itself at the top of the page.

Improved

Loads about twenty times lighter

The dashboard used to download all nineteen markets before drawing anything — 384KB before the first number. It now paints on the one market you are looking at and fetches the rest behind that. It also works offline, and tells you when it is reading from your device's copy.

Improved

Every chart has a table behind it

A Table button on both heatmaps gives the same numbers as text — up-rate, range, sample, z, and a plain yes or no on significance. Heatmap cells now take keyboard focus and announce themselves to a screen reader, which they did not before.

Improved

Links you can send

Every view now has an address: symbol, timezone and the exact window live in the URL, so a link reopens what you were looking at. Copy summary puts the numbers on your clipboard with the sample size, the range and the caveat attached — because a screenshot of "60.7%" travels without any of them.

14 August 2026

Correction

Measured against each market, not a coin flip

Significance used to be measured against a flat 50%. NAS100 and SPX500 close higher in 52.3% of every hour they trade, so their windows all looked bullish for a reason that had nothing to do with the clock. Every figure is now scored against that market's own average hour. Nothing moved in FX; in the equity indices six windows that were marked significant no longer are, which is the correct answer.

Correction

Ask the data was answering for the wrong day

Asking about "Tuesday at 06:00" from UTC+8 was returning Tuesday 22:00 UTC when the right answer is Monday 22:00. Anyone outside UTC was getting a neighbouring window. Fixed, and the answers now carry their range, their baseline and the year-by-year spread.

New

A screener that prices its own false positives

/scan searches every weekday × hour window and prints, beside the result, how many hits a market with no schedule at all would have produced at your settings. Take the bar off entirely and it returns 2,221 windows against 2,221 expected from noise — which is what a screener with no discipline is.

New

Every number now carries its range

A percentage from a finite sample is an estimate, so it is quoted with a 95% interval. UK100 Wednesday 10:00 reads 56.4% and its range is 49.2–63.3% against a 51.0% baseline: it looks like an edge and is not one. The main chart's shaded band is that interval.

New

Year by year, for any window

Pick a weekday and hour and the filter shows one bar per calendar year, so you can see whether a 60% window was built evenly or by a handful of years. EUR/USD Sunday 21:00 holds in 22 of 24 years; EUR/USD Friday 15:00 splits 12–12, and says so.

New

The evidence, and the free data

/evidence publishes the three tests that could have sunk this product — including the seven markets our own grid fails and the Dow at p = 1.00. /api documents the aggregates behind every figure: static JSON, no key, no quota, free to download whether you buy or not.

Under the hood

Not everything belongs on this page. The same weeks added a set of assertions that run before anything is published — one definition of significance across every surface, the two data cubes reconciling on all 3,192 windows, the spread tables agreeing, freshness, and a check that the numbers quoted in our own sales copy still match the strategy board. A second harness boots the dashboard against the shipped data so a broken page cannot deploy itself on a Saturday morning. None of that is visible, and all of it is why the entries above can be specific.

The complete record — every angle examined, including the ones we rejected and why — lives in research/market-watch/COMPONENTS.md in the repository.

Open the dashboard →