La direzione si predice in diretta? — protocollo pre-registrato
Protocole pré-enregistré : on déclare ce qu'on mesure AVANT de regarder. La direction, en direct, ne se prédit pas — et la seule entrevue est de dix à quarante fois sous le spread.
Notre idée, mesurée et abandonnée
Ce document de recherche est rédigé en italien. Le résumé ci-dessus est en français ; le corps ci-dessous — méthode, tableaux et verdict — n'est pas traduit.
Domanda. Al di là dell'Orologio: le feature che raccogliamo in diretta (il nostro archivio intraday, una riga ogni 5 minuti dal 2010, broker IC Markets) predicono il segno del movimento futuro del prezzo?
Perché il protocollo viene scritto PRIMA di eseguire. Oggi stesso abbiamo falsificato un "6,1 volte l'errore" che era circolarità (barra di chiusura), e un "REALE" sulla direzione che era il massimo di 31 tentativi giudicato con la soglia di 1. Il modo per non rifarlo è fissare le regole prima di vedere i numeri. Questo file è la fotografia delle regole; i risultati vengono appesi sotto, qualunque siano.
Le regole, fissate prima di guardare
| scelta | valore | perché |
|---|---|---|
| dati | il nostro archivio intraday, tf M5, 14 cambi FX con ~1,22 M righe l'uno | copertura piena 2010→oggi; XAU/BTC/ETH esclusi (copertura parziale o classe diversa) — dichiarato, non nascosto |
| feature (8) | distMA30, l'oscillatore live, cluster, velocita, accelerazione, volatilita, volume, amihud | tutte calcolate dall'indicatore su dati ≤ t: causali per costruzione |
| orizzonti (4) | 1 barra (5 min) · 12 (1 h) · 72 (6 h) · 288 (~24 h) | dal "diretta" vero al giorno |
| bersaglio | segno e ampiezza di price(t+k) − price(t) | differenza semplice, niente log a questi orizzonti |
| finestre | non sovrapposte (passo = k) e scartate se attraversano un buco (durata > 1,5× nominale) | le finestre sovrapposte gonfiano n e l'errore mente |
| misura primaria | Spearman fra feature(t) e ritorno t→t+k | monotona, robusta agli estremi; stessa misura della Mappa |
| misura secondaria | movimento medio FIRMATO nei decili estremi della feature (soglie sul train) | cattura ciò che una monotona globale non vede |
| split | train < 2019-01-01, test ≥ 2019 | il confine di casa (CONFINE della Mappa) |
| molteplicità | 14 × 8 × 4 = 448 confronti → nel train serve z ≥ 4,06 (Bonferroni 5%) | il massimo di 448 tentativi di rumore vale ~3,3: giudicare a 2 promuoverebbe rumore quasi certo |
| promozione | sopra soglia nel train E replica nel test (z ≥ 2, stesso segno) | la replica è la guardia vera; un segno che si gira è un artefatto |
| stabilità | quota di anni col segno dell'intero periodo (diagnostica, non gate) | la lezione di casa: sempre scomporre per sotto-periodo |
| costo | un segnale è operabile solo se il movimento medio condizionato supera lo spread mediano del simbolo (riportato anche il p90) | senza costo è accademia; lo spread è nella stessa tabella, riga per riga |
| controllo negativo | stesse feature ritardate di 30 giorni → la pipeline deve trovare ~0 promozioni | testa il test: se trova qualcosa, il difetto è nostro |
| controllo positivo | i tre cross del triangolo (EURGBP/EURCHF/GBPCHF) a 24 h su l'oscillatore live/distMA30 | l'unico edge direzionale validato è la reversione sui cross; se non lascia nemmeno un'ombra, la macchina è cieca alle monotone deboli — da interpretare, non da gate |
| regola di stop | se nessuna cella passa train+test, la risposta è NO e questo file lo dice; niente secondo giro con soglie ritoccate | la regola di casa: niente nuovi giri sulla stessa storia |
Avvertenza dichiarata. L'edge validato sui cross vive nell'uscita adattiva (osc=50, SL sulle medie), non nel segno della barra successiva: un "NO" qui non falsifica la Reversione — dice che non c'è predizione puntuale del segno, che è un'affermazione diversa e più stretta.
Strumento: strumenti/direzione/scandaglio.py. Eseguire: python3 scandaglio.py.
Risultati (stesso giorno, giro unico)
3 promozioni su 448. E sono tutte e tre la stessa cosa:
| cella | rho train | rho test | anni stabili | movimento vs spread |
|---|---|---|---|---|
| EURGBP · l'oscillatore live · 5min | −0,0053 (z −4,3) | −0,0078 (z −5,8) | 100% | 0,4 pt vs 4,0 pt |
| EURCHF · l'oscillatore live · 5min | −0,0053 (z −4,3) | −0,0051 (z −3,8) | 100% | 0,4 pt vs 6,0 pt |
| GBPCHF · l'oscillatore live · 5min | −0,0050 (z −4,1) | −0,0059 (z −4,4) | 100% | 0,3 pt vs 12,0 pt |
Il triangolo dei cross, l'oscillatore di reversione, segno negativo (osc alto → prezzo scende): è la Reversione, riscoperta alla cieca dai dati grezzi. Anche le "quasi promosse" sono la stessa famiglia: distMA30 sugli stessi tre cross, EURCAD, e EURGBP a 1 h. Le majors, il momentum, volume, amihud, volatilità come predittori di direzione: niente, da nessuna parte.
Controllo negativo: 0 promozioni col ritardo assurdo — la pipeline non allucina. Controllo positivo: i cross a 24 h mostrano l'ombra giusta (rho −0,03 → −0,06, sempre negativo, più forte nel test), sotto soglia solo perché a 24 h le finestre non sovrapposte sono poche.
L'obiezione microstruttura, e perché non regge. Un rho negativo a 1 barra potrebbe essere rimbalzo denaro-lettera (e i cross hanno lo spread più largo, dove il rimbalzo è massimo). Ma il rimbalzo vive UNA barra e si diluisce; qui |rho| cresce con l'orizzonte (5 min −0,008 → 1 h −0,019 → 24 h −0,058 su EURGBP): è la firma della reversione lenta, non del rimbalzo. La promozione scatta a 5 min solo perché lì n è enorme.
Verdetto
- Sì, statisticamente — nei nostri dati in diretta esiste UNA sola verità direzionale: la reversione sul triangolo EUR/GBP/CHF, stabile 16 anni su 16, replicata nel test.
- No, operativamente come segnale d'ingresso puntuale — il movimento predetto è 10–40 volte sotto lo spread. L'unico modo di monetizzarlo è accumulare barre con uscite economiche: cioè quello che la Reversione fa già (stacking H6 + uscita adattiva).
- Nessun edge direzionale nuovo. Tutto il resto — majors comprese — è piatto, con la potenza di 17 milioni di righe a cercarlo.
Chiuso per regola di stop: giro unico, niente ritocchi.
Schede: direzione-in-diretta · relval-edge · orologio-vol-costo-non-direzione
Nota di redazione (2026-08-04)
La soglia dichiarata «z ≥ 4,06 (Bonferroni 5%)» è in realtà più severa del Bonferroni 5% per 448 confronti: la formula è z* = Φ-1(1-α/2K), che con α=0,05 e K=448 dà 3,86; il 4,06 fisso nello strumento corrisponde a K≈ 1000. Il giudizio resta quindi conservativo (le tre promosse stanno a |z| 4,1–4,3, sopra entrambe le soglie), ma con la soglia giusta qualche «quasi promossa» della stessa famiglia sarebbe probabilmente entrata. Per la stessa via: il massimo di 448 estrazioni di rumore vale in media ~3,2 (il «~3,3» era arrotondato in eccesso).