A time-of-day (hour) filter looked great in-sample — the algo appeared to “print overnight” and bleed at US-open — but the OOS check on 21 days reversed the sign. Hour-of-day P&L is noise, not structure. Do not arm a time filter. This is the 4th in-sample-great / OOS-fail overlay this session.
For Agents — binding rules
- Do NOT arm a time-of-day / hour-of-day filter. The hour-of-day P&L flips sign between periods = noise, not a structural effect.
- The edge is the [60,150)s pocket (frozen rule). The market efficiently prices every overlay we test — selection, execution timing, and now time-of-day. Stop looking for a profitable overlay on top of the frozen rule.
In-sample looked like a strong effect (July live, ~5 days)
- Overnight “prints”: 01–05 CEST = +$367.
- US-open bleed: 14–15 CEST = −165.
Tempting story: arm only overnight, mute the US-open hour.
OOS check REVERSED it (21 days BTC, refit parquet, actual CLOB labels, at-ask EV)
Ran hour-of-day EV over a 21-day BTC refit parquet using ACTUAL CLOB resolution labels (not resolved_up) at at-ask EV:
| Window | In-sample (July live) | OOS (21-day, actual labels, at-ask) |
|---|---|---|
| US-open 14–16 CEST | bleed (−165) | +0.016/fire (+$5) |
| Overnight 01–05 CEST | print (+$367) | −0.018/fire (−$10) |
The sign flips between the two periods → the hour-of-day effect is noise, not structure. Corroborating:
- BNB May showed no US-open dip at all.
- The July −124) — broad across lanes that day but not persistent.
Verdict
Do not arm a time-of-day filter. It is the 4th in-sample-great / OOS-fail overlay this session, after:
- raise
EMIT_MIN_EDGE(floor) — rejected (crypto-shortterm-algo-accuracy-audit-2026-07-02); - disagreement ceiling — OOS-rejected (crypto-shortterm-disagreement-ceiling-nogo-2026-07-03);
- don’t-chase / execution overlay — unvalidatable at-ask (crypto-shortterm-lane-state-adverse-fill-2026-07-05);
- time-of-day (this note).
Durable lesson
The algo’s edge is the [60,150)s oracle-lag pocket and nothing else. Every overlay we bolt on (edge-band selection, fill timing, time-of-day) is efficiently priced by the market — it looks like alpha in-sample and vanishes (or reverses) OOS. Selection on anything but the frozen regime is a dead end.
Related
- crypto-shortterm-disagreement-ceiling-nogo-2026-07-03 — the sibling overlay NO-GO (edge-band ceiling); same “efficiently-priced overlay” durable lesson.
- crypto-shortterm-algo-accuracy-audit-2026-07-02 — the
EMIT_MIN_EDGEfloor rejection (overlay #1) and the net-edge-vs-ask gate that IS the validated rule. - crypto-shortterm-lane-state-adverse-fill-2026-07-05 — the execution/don’t-chase overlay that the at-ask harness cannot validate (overlay #3).
- crypto-shortterm-backtesting — the purged/embargoed OOS walk-forward rig this reuses (actual-resolution labels, at-ask EV).
- Crypto 5m Up-Down — Oracle-Lag Strategy (Canonical Spec) — the frozen [60,150)s rule whose EV is thin-but-positive and non-decomposable by any overlay.
- crypto-shortterm — project index.