4 agenti (drift/cond/intra/overlay), 375 trial: il drift weekend e' beta B&H, i gate condizionali sono TP01 re-timed, l'intraday weekend e' moneta simmetrica (CME-gap morto anche lordo). Fatto strutturale: TP01-weekend-flat = danno certo (dSh -0.46, P=1.000) -> ogni proposta "risk-off weekend" parte REFUTED salvo null de-levering. Chiusa la famiglia calendario su BTC/ETH (SEA+expiry+event-clock +weekend). Book/pesi INVARIATI. Diario 2026-07-17-weekend-window.md. gitignore: + data/live/ (log esecuzioni book live, stato runtime del conto reale) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7.1 KiB
2026-07-17 — Ondata WEEKEND (ven→lun, timing multipli, 4 agenti): 0 edge, 1 fatto strutturale sul book
Goal: "cerca strategie che con diversi timing lavorino solo tra venerdì e lunedì, usa diversi
agenti." Quattro filoni in parallelo su BTC/ETH 1h/15m certificati, harness altlib condiviso,
metodologia onesta piena (selezione in-sample-only pre-2025, banda di timing mai la best-cell,
deflated-Sharpe sull'intera famiglia, day_boundary_robust, fee nette 0.10% RT + sweep,
causality_ok, realismo small-cap $600). Prior vincolante: day-of-week già morto (SEA 2026-07-02),
anchor timing-luck su 3/3 sleeve ancorati, CRT triplo-refutato.
Esito: SCARTATO 4/4. Nessun LEAD, nessun forward-monitor, book/pesi INVARIATI. Il fatto nuovo utile è difensivo: il weekend è leggermente sovra-denso per TP01 (38% del gross nel 31% del tempo) → togliere esposizione weekend al book è attivamente dannoso.
Filone 1 — WK-DRIFT: drift puro ven→lun (r0717_wk_drift.py)
Griglia 6 H_in (ven) × 6 H_out (lun) × long/short × BTC/ETH = 144 trial.
- Cella scelta in-sample (LONG ETH ven08→lun16): IS +1.07 → FULL +0.84 → HOLD −0.14 (ret hold-out −23%), maxDD 69%. Banda long: FULL med +0.57, HOLD med −0.21.
- DSR 0.001/144 (max atteso sotto il null: 1.97 ≫ 0.84 osservato).
- Null weekday: il venerdì NON è speciale — mediana IS della famiglia long per ancora: Fri +0.74 = 71° percentile, sotto Mon (+0.78) e Sun (+0.78). Qualsiasi finestra ~3g long fa lo stesso = beta di buy&hold a esposizione ridotta (B&H daily Sh FULL: BTC 0.79 / ETH 0.86 ≈ il max della griglia).
- A fee ZERO l'hold-out resta negativo (−0.03) → non è morte-per-fee, l'edge OOS non esiste.
day_boundary_robust: ARTIFACT-RISK (uplift flippa spostando il confine UTC, spread 0.43).
SCARTATO — il "weekend drift" è B&H diluito nel tempo (vive del toro 2019-21, −58% nel 2022, −33% nel 2025).
Filone 2 — WK-COND: weekend condizionato da gate causali (r0717_wk_cond.py)
5 gate causali noti all'ingresso del venerdì × 9 timing × direzioni = 99 combo (198 stream): (a) TSMOM concorde, (b) FOLLOW/FADE del venerdì, (c) follow/fade della settimana, (d) regime vol RV30 (percentile espandente causale), (e) breakout dei livelli del giovedì.
- 5/5 gate: earns_slot=False, DSR ≤0.30,
day_boundary_robust= ARTIFACT-RISK 5/5 (la stessa firma che ucciseopen_drive: l'etichetta "weekend" non è dove vive alcun segnale). - (a) TSMOM-gate = TP01-in-weekend per costruzione (β 0.67, uplift hold −0.015, jackknife −0.18): re-timing del trend, non alpha. Lo short weekend perde perfino col trend a favore (mediana IS −0.15).
- (b) FOLLOW>FADE regge in-sample ma si inverte in hold-out → rumore; il lead prevday-FOLLOW non si trasferisce alla finestra weekend. Unico is_hedge=True dell'ondata, ma con HOLD −0.92.
- (d) l'unica variante con HOLD positivo (HIGH70 +0.19) è non selezionabile in-sample (IS +0.22): crederle sarebbe selection-on-holdout da manuale.
- A fee zero l'hold-out resta negativo per 4/5 gate → non è morte-per-fee.
SCARTATO — e con questo (99 trial qui + SEA + expiry-calendar 2026-07-02) la famiglia calendario su BTC/ETH è satura: riaprirla solo con un meccanismo nuovo non-calendario.
Filone 3 — WK-INTRA: intraday dentro la finestra (r0717_wk_intra.py)
132 celle su 1h+15m, tre sotto-filoni: (A) Donchian weekend-only follow/fade, (B) gap dom 22:00 vs close ven 21:00 (meccanizzazione onesta del claim "CME gap"), (C) livelli H/L/C del venerdì come magnete.
- Quadro: celle IS lorde positive = 64/132 ≈ 50% = moneta simmetrica (rumore prima ancora delle fee); IS nette >0: 18/132. DSR famiglia 0.068 → 0.001 per filone.
- (A) la cella IS (Donchian 48h follow) è trend-2022 su ETH travestito (2022 +96%; BTC per-anno negativo nel toro); su BTC muore di fee E il lordo è sotto soglia.
- (B) il claim "CME gap" è morto: nessuna config ha IS netto >0; la best (revert 2%) fa IS −0.09 lordo +0.03 → l'edge non esiste nemmeno lordo; il suo HOLD +0.5 è la firma esatta del selection-on-holdout. Nessuna centratura reale sulle 22:00 (shift-test).
- (C) il "magnete del venerdì" non esiste in nessuna direzione (L-fade: IS lordo +0.12 → HOLD −0.97/−0.77; DSR 0.001). FOLLOW>FADE riconfermato (le celle fade sono le peggiori ovunque).
- Eseguibilità $600 NON è il vincolo (0% ordini sotto min-order, haircut 0.00): manca l'edge.
SCARTATO 3/3.
Filone 4 — WK-OVERLAY: esposizione weekend di TP01 sul book (r0717_wk_overlay.py)
Il lato eseguibile: conviene uscire/dimezzare/aumentare TP01 nel weekend? Griglia timing + null de-levering (lezione DVOL 2026-06-26) + bootstrap settimanale appaiato + placebo rotazioni + smallcap.
- Fatto strutturale (attribuzione gross): la finestra ven20→lun00 è il 30.9% del tempo e porta il 38% del gross di TP01 (+44.2pp su +117.8pp, positivo ogni anno) — il weekend non è tempo morto per uno slow-trend crypto 24/7, è sovra-denso.
- WK-FLAT: REFUTED, attivamente dannoso — ΔSh FULL −0.46 (banda 6/6 negativa), P(danno)=1.000 al bootstrap; a fee zero resta −0.41; il de-levering k=0.88 compra lo stesso DD a Sharpe pieno (1.29 vs 0.83). Placebo: il weekend è tra i giorni peggiori da flattare (5/7).
- WK-HALF: REFUTED — solo de-levering pagato con fee (k=0.755 a pari DD: +0.20 Sh in più).
- WK-BOOST ×1.5: neutro — coerente col controllo simmetrico ma non significativo (P=0.12) e a pari DD la leva uniforme rende di più sul CAGR → nessuna azione.
- WK-ONLY: Sh 1.04 da solo, ma k=0.54 uniforme lo domina → diagnostica, non strategia.
- Small-cap $600: haircut ≈0 su tutte — l'overlay si eseguirebbe fedelmente; non conviene e basta.
REFUTED/nessuna azione — book e pesi INVARIATI.
Lezioni codificabili
- Famiglia calendario BTC/ETH = SATURA. SEA (day-of-week) + expiry-calendar + event-clock (2026-07-02) + 144+99+132 trial weekend (oggi) convergono: su BTC/ETH non vive alcun edge di calendario/finestra-oraria. Prossimi claim di questa famiglia partono da prior ~0: esigere il pacchetto completo (null weekday-ancora + day_boundary + DSR famiglia) prima ancora di guardare l'hold-out.
- "~50% di celle lorde positive" = rumore simmetrico: diagnostica rapida di famiglia morta prima ancora del netting fee (WK-INTRA).
- Il gate condizionato non salva una finestra morta: un gate causale su una finestra senza edge o replica il trend (TP01 travestito) o seleziona rumore che flippa OOS (5/5 in WK-COND).
- Non de-esporre il weekend del book: il 38%-in-31%-del-tempo di TP01 è la ragione quantificata per cui il libro resta 24/7. Qualsiasi futura proposta "risk-off weekend" parte REFUTED salvo nuovo evidence (null de-levering obbligatorio).
- Riconferme indipendenti: FOLLOW>FADE (3ª volta); "CME gap" e "magnete del venerdì" = folklore che non sopravvive alla meccanizzazione onesta.
Script: scripts/research/r0717_wk_{drift,cond,intra,overlay}.py (standalone, uv run python,
nessun file esistente toccato). Nessun cambiamento a strategie, config, pesi o esecuzione live.