Does the trading day of the month matter?
Open any seasonality screener and the first thing it draws is the calendar walked day by day — the average path of the month, with the turn of month and the option expiry marked. It is the signature chart of this whole business. We tested it on 11 markets and 285 day-of-month slots. 0 of them clear our bar.
Why this one is worth testing at all
We refuse to publish a significance flag on an annual claim, because our sample for “December” is 23 Decembers and detecting a real seasonal effect at that size would take about forty years of history. The day of the month is not that problem. The median slot here rests on 242 months — hundreds of observations, not tens. If there were something in this axis, this archive could see it.
The control is the entire test
Count up-days on the 5th trading day of the month and you will get a number, and it will not be 50%. So will the 6th, and the 19th. The question is only ever whether those numbers are further from the base rate than shuffling would put them.
So the null here shuffles the order of the trading days inside each calendar month. That destroys day-of-month structure and keeps everything else exactly as it was: the same months, each with its own return, its own length, its own volatility, its own place in the trend. Run over 200 draws, it produces 0.6 significant slots by chance. The real grid produces 0.
| Market | Trading days | Complete months | Slots tested | Slots clearing the bar | Expected from noise | Its own up-rate | Strongest slot (z) |
|---|---|---|---|---|---|---|---|
| EUR/USD | 5,924 | 273 | 26 | 0 | 0.03 | 50.3% | -2.69 |
| GBP/USD | 5,230 | 241 | 26 | 0 | 0.04 | 49.7% | 2.98 |
| USD/CHF | 3,245 | 150 | 25 | 0 | 0.06 | 50.9% | -2.35 |
| USD/JPY | 4,584 | 211 | 26 | 0 | 0.06 | 52.0% | 2.25 |
| AUD/USD | 5,763 | 266 | 26 | 0 | 0.05 | 51.4% | 2.85 |
| USD/CAD | 5,943 | 274 | 26 | 0 | 0.05 | 49.9% | -2.15 |
| NZD/USD | 5,182 | 239 | 26 | 0 | 0.08 | 52.0% | 1.92 |
| EUR/JPY | 5,251 | 242 | 26 | 0 | 0.07 | 51.7% | -2.47 |
| GBP/JPY | 4,181 | 193 | 26 | 0 | 0.07 | 51.9% | 2.99 |
| Gold (XAU/USD) | 6,042 | 280 | 26 | 0 | 0.04 | 53.4% | -1.62 |
| Silver (XAG/USD) | 5,222 | 242 | 26 | 0 | 0.07 | 53.2% | -2.15 |
z is measured against each market’s own share of up days, never a flat 50% — gold closes up 53.4% of all days, and scoring it against 50 would invent an effect in every slot.
The two claims that get names
Two day-of-month effects are famous enough to be sold by name, so both get their own test with their own control rather than being read off the table above.
Turn of the month — the first three and the last trading day, where index inflows are supposed to land — leans up in 8 of 11 markets. Not one reaches even |z| = 2; the strongest anywhere is 0.94. The third Friday (option expiry) leans up in 2 of 11, strongest 1.74. ⚠ Expiry is tested against the other Fridays of the same months, not against all days — otherwise the claim would be carrying whatever Friday itself does.
| Market | Turn of month | Other days | Δ | z | Third Friday | Other Fridays | Δ | z |
|---|---|---|---|---|---|---|---|---|
| EUR/USD | 49.4% | 50.5% | -1.1 | -0.65 | 48.9% | 49.5% | -0.6 | -0.18 |
| GBP/USD | 50.2% | 49.6% | +0.6 | 0.33 | 47.1% | 48.8% | -1.7 | -0.46 |
| USD/CHF | 51.8% | 50.7% | +1.1 | 0.5 | 52.4% | 46.2% | +6.2 | 1.32 |
| USD/JPY | 51.3% | 52.1% | -0.8 | -0.42 | 44.3% | 46.8% | -2.5 | -0.63 |
| AUD/USD | 52.6% | 51.2% | +1.5 | 0.87 | 48.3% | 49.9% | -1.6 | -0.47 |
| USD/CAD | 50.5% | 49.8% | +0.8 | 0.46 | 55.0% | 49.0% | +6.0 | 1.74 |
| NZD/USD | 52.5% | 51.8% | +0.7 | 0.38 | 50.4% | 51.9% | -1.4 | -0.39 |
| EUR/JPY | 51.5% | 51.8% | -0.2 | -0.13 | 47.1% | 48.8% | -1.8 | -0.48 |
| GBP/JPY | 52.6% | 51.8% | +0.8 | 0.41 | 46.1% | 48.8% | -2.7 | -0.65 |
| Gold (XAU/USD) | 54.2% | 53.2% | +1.0 | 0.6 | 55.4% | 57.3% | -1.8 | -0.53 |
| Silver (XAG/USD) | 54.5% | 52.9% | +1.7 | 0.94 | 52.2% | 53.0% | -0.8 | -0.22 |
What we are NOT saying
And we exclude what we cannot test honestly rather than reporting it thinly. 8 markets are left out, each for a stated reason:
| Market | Why it is not in this test |
|---|---|
| EURGBP | 2453 trading days, under the 2500 floor |
| USA30IDXUSD | 136 complete months, under the 150 a slot needs |
| USATECHIDXUSD | 1720 trading days, under the 2500 floor |
| USA500IDXUSD | 1720 trading days, under the 2500 floor |
| DEUIDXEUR | 127 complete months, under the 150 a slot needs |
| GBRIDXGBP | 959 trading days, under the 2500 floor |
| BTCUSD | trades weekends — a "trading day of the month" is a different object |
| ETHUSD | trades weekends — a "trading day of the month" is a different object |
⚠ Note the crypto exclusion in particular: BTC and ETH trade every day of the week, so “the fifth trading day of the month” is a different object in those markets and cannot be pooled with the rest.
Why we published a null result about our own competitors’ best chart
Because it is the strongest argument we have for the unit we did choose, and it is only strong because it could have gone the other way. The same code, the same markets, the same bar, the same kind of permutation control, pointed at hour of the week, finds 185 significant buckets against 5.9 expected. Pointed at day of the month it finds 0 against 0.6.
An instrument that finds something everywhere you point it is not an instrument. This is what it looks like when ours is pointed somewhere there is nothing to find — and it is the reason to believe the places where it does find something.
What we would actually say
- Do not build a rule on the calendar day. Across 11 markets and 285 slots, nothing here clears a bar that a structureless grid clears 0.6 times.
- Ask any day-of-month chart what it was compared against. A path drawn through the average month always looks like something; the shuffled version of the same data looks like something too.
- The turn of the month is the best-known of these and it is not there either — 8 of 11 lean the right way, none of them significantly.
- Direction is the weak axis everywhere, including here. When a market moves is a far sturdier question than which way, and it is the one we can show survives a holdout.
Full method in section 10 of the evidence page. Every claim we have tested, including the ones that held, is on the reports index, and the eight questions are what we would ask any product of this kind — including this one.
Other reports this category sells, tested
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 →