Research · a claim, tested

What spread kills a seasonal edge?

Every backtest in this business subtracts a trading cost, and every one of them picks a number and moves on. Ours does too: one typical round trip per market, applied to every hour of 23 years. What almost nobody publishes is the sensitivity — how wrong that assumption has to be before the result disappears. For the windows we actually push as alerts, the answer is: barely wrong at all.

1.29×the median alerted rule clears its assumed spread by
9/12stop paying at 1.5× the assumption
11/12stop paying at double it
1.01×the thinnest margin on the list

The one comparison that explains this whole site

Before the rules, the population they come from. Take every liquid weekday × hour window in the FX majors and ask two questions of each.

How far does the hour move, against one round trip? It wins in 471 of 471 windows — 100%.

How far does the directional edge move it, against the same round trip? It wins in 4 of them — 0.8%.

Same windows, same cost, same archive. The market moves far enough to be worth trading essentially always; the lean is worth trading essentially never. That is not a detail about spreads, it is the reason this site leads with when a market moves and treats which way it closes as the weaker half.

What break-even means here

A rule's break-even spread is its gross edge per trade: the cost at which its net is exactly zero. The cushion is how many times the assumed spread that represents. A cushion of 1.00× means the rule is already at the line; 2.00× means the cost could double before it stops paying.

This is a sensitivity, not a correction. Our feed is bid-only, so the real spread at 20:00 UTC in 2011 cannot be recovered from it. We are not claiming to know what you would have paid — we are showing how much the answer depends on a number we had to assume, so you can apply your own broker's.

Every rule we push, thinnest first

MarketWindowSideAssumed spreadBreak-evenCushionHour
AUD/USDFri 09:00SHORT1.21.211.01×ordinary
EUR/GBP20:00 · Mon–FriSHORT1.21.271.06×thin band
EUR/GBPMon 20:00SHORT1.21.311.09×thin band
EUR/USDMon 20:00SHORT11.151.15×thin band
USD/CHFThu 20:00SHORT1.21.451.21×thin band
AUD/USDWed 00:00SHORT1.21.51.25×ordinary
EUR/USDTue 02:00LONG11.291.29×ordinary
EUR/USDWed 11:00SHORT11.391.39×ordinary
EUR/GBPWed 20:00SHORT1.21.751.46×thin band
GBP/USDFri 19:00LONG1.21.81.50×ordinary
USD/CADFri 20:00SHORT1.52.321.55×thin band
USD/CHFFri 20:00SHORT1.22.72.25×thin band

Break-even and spread are in that market’s own units. A cushion under 1.25× is marked: those rules stop paying if your broker charges a quarter more than we assumed.

It is not a thin-band story

The obvious explanation would be that the thin margins live in the hours this site already warns about — the Sunday reopen and 20:00 UTC onward, where the spread is widest. They do not. The thin band runs a median cushion of 1.21× and ordinary hours 1.29×. The whole board runs on the same narrow margin.

GroupRulesMedian cushionThinnestWidestSurvive 1.25×Survive 1.5×Survive 2×
windows we push as alerts121.29×1.01×2.25×631
every net-positive rule on the board1501.29×1.01×5.57×874723
alertable, thin band71.21×1.06×2.25×321
alertable, ordinary hours51.29×1.01×1.50×310

Across all 150 net-positive rules on the board the median is 1.29×, and only 23 survive a doubled spread. The widest margin anywhere is 5.57×.

What we would actually say

Full method in section 12 of the evidence page, the data behind it at /api, and every claim we have tested on the reports index.

More on how we decide what counts

Should you only trade when the market is busy?The most repeated filter in this business, and it points the wrong way: 14 of 14 markets are LESS reliable after a big hour.Does a hot streak mean anything?A streak is as predictive at four weeks' lag as at one. Memory decays; drift does not — which is why there is no streak feature on this site.Do weekend gaps fill?"Gaps fill 90% of the time" is true and empty — a matched midweek move fills just as often. The indices do the opposite.Does yesterday's high or low matter?68,688 breaks across 19 markets. The level holds 50.4% of the time — slightly less than an arbitrary level the same distance away.

Every claim we have tested, including the ones that held, is on the reports index.

We publish the tests that failed as loudly as the ones that held. Every number on this site carries its sample size, and every claim carries what it was measured against.

Read the whole evidence page →