# 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 uccise `open_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 1. **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. 2. **"~50% di celle lorde positive" = rumore simmetrico**: diagnostica rapida di famiglia morta prima ancora del netting fee (WK-INTRA). 3. **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). 4. **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). 5. 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.**