Goal: comprare azioni IB quando sottoquotate, con verifica incrociata dei dati. 1) CHECK DATI DALLA RETE (il pezzo richiesto): IB certificato (eq_*, ADJUSTED) vs Yahoo adjclose (sorgente rete indipendente, tokenless). Tutti CONCORDE <=1.2bps sui rendimenti. Teaching: un confronto naif (adjusted vs grezzo) falso-allarmava 4/6 ticker a 30-52bps = TUTTO stacco dividendo -> ogni divergenza va SPIEGATA prima di gridare 'feed sporco' (v2.0.0). Strumento riutilizzabile (validatore feed / pre-trade price-check). 2) Scalping 'sottoquotate': NON testabile (no dati intraday) ne' eseguibile (PDT rule 5k blocca il day-trading; IB instabile). Versione testabile = swing MR (Connors RSI2<10 + MA200, exit MA5): Sharpe modesto (SPY 0.75/0.70) ma NON batte il buy&hold (B&H hold 0.81), expo 13%, CAGR 2-5%, fee-sensitive. Niente edge schierabile. - scripts/research/eq_meanrev_ib.py - tests/test_eq_meanrev.py (incl. network check) - docs/diary/2026-06-26-equity-meanrev-network-check.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.5 KiB
2026-06-26 — Scalping azioni IB "quando sottoquotate" + check dati dalla rete
Goal utente: su IB, comprare azioni quando "sottoquotate" (oversold/sotto fair-value), con
verifica incrociata dei dati dalla rete. Branch research/equity-meanrev-ib,
script scripts/research/eq_meanrev_ib.py. Due pezzi.
1) CHECK DATI DALLA RETE — il pezzo richiesto (e perfettamente in-metodo)
Confronto i dati certificati IB (data/raw/eq_*_1d.parquet, ADJUSTED_LAST) con una sorgente di
rete indipendente (Yahoo Finance chart API, tokenless). È la lezione fondante del progetto: non
fidarti di un feed solo (il disastro v2.0.0 era un feed contaminato).
Risultato (180g, BTC… no: 6 ETF): dopo l'allineamento corretto tutti CONCORDE, deviazione sui rendimenti ≤1.2bps, ultimo close identico (0.0bps). Il feed IB è validato.
La lezione (errore che ho fatto e corretto): un primo confronto naïf (nostro close adjusted
vs close grezzo di Yahoo) ha falso-allarmato 4/6 ticker a 30-52bps (SPY 30, TLT 40, HYG 52).
Le divergenze erano tutte su singoli giorni = stacco dividendo: confrontavo dividend-adjusted vs
non-adjusted. Usando l'adjclose di Yahoo (apples-to-apples) → ~0bps. Regola: ogni divergenza va
SPIEGATA prima di gridare "feed sporco" — e prima di tradarci sopra. Lo strumento resta come
validatore di feed riutilizzabile / template del pre-trade price-check live.
2) "SCALPING quando sottoquotata" — non testabile/eseguibile; testato lo swing MR
Lo scalping intraday non è valutabile: (a) non abbiamo dati intraday (solo eq_*_1d), (b) non
è eseguibile — PDT rule: il day-trading di azioni US sotto $25.000 è limitato a 3
day-trade/5gg → lo scalping è regolatoriamente bloccato al capitale del progetto (l'analogo equity
del muro STAT-MODE a $600 sul crypto), (c) IB Gateway è instabile qui (timeout ordini diagnosticato).
Versione onesta e testabile = swing mean-reversion "compra quando sottoquotata": Connors RSI2<10
- filtro trend MA200, exit a MA5. Causale (segnale ≤ close[i], entry a close[i]), netto fee, hold-out 2015+:
| ETF | FULL Sh | DD | CAGR | expo | HOLD Sh | B&H HOLD Sh |
|---|---|---|---|---|---|---|
| SPY | +0.75 | 15% | +5% | 13% | +0.70 | +0.81 |
| QQQ | +0.50 | 16% | +4% | 14% | +0.56 | +0.92 |
| IWM | +0.32 | 22% | +2% | 13% | +0.15 | +0.53 |
| DIA | +0.38 | 13% | +2% | 14% | +0.55 | +0.74 |
| EEM | +0.41 | 20% | +3% | 13% | +0.36 | +0.46 |
Fee sweep SPY: Sh 0.82 (0bps) → 0.75 (3) → 0.70 (5) → 0.58 (10bps RT).
Lettura onesta: la mean-reversion "buy the dip" sugli indici equity ha un edge reale ma modesto (Sharpe ~0.5-0.75, investito solo ~13% dei giorni) che NON batte il buy&hold risk-adjusted (B&H hold-out 0.81 su SPY vs 0.70 della MR), con CAGR piccolo (2-5%) e sensibile ai costi. È capital-efficient in teoria (cash 87% del tempo) ma il valore aggiunto vs "tieni l'indice" è negativo o nullo, e la frequenza scalping che potrebbe aggiungere valore è bloccata dalla PDT.
Verdetto
- Check dati dalla rete: FATTO e utile — feed IB validato (≤1.2bps vs Yahoo); strumento riutilizzabile. Unico vero keeper della sessione equity.
- Scalping "sottoquotate": NON deployabile — non testabile (no intraday), non eseguibile (PDT $25k, IB instabile). Lo swing MR daily testabile non batte il buy&hold → niente edge schierabile.
Conferma il pattern del progetto: l'idea promettente sopravvive solo finché non incontra eseguibilità + benchmark onesto. Nessun impatto sul book live crypto (branch separato).