Sei prove superate, e nessuna era quella giusta
Mediana, test del segno, troncamento, leave-one-out: tre prove su sei lo rafforzavano. Poi ha visto undici anni mai visti ed è morto in un colpo.
Idea nostra, misurata e abbandonata
Protocollo pre-registrato, scritto prima di avere i dati: è l'unico modo in cui un fuori campione è un fuori campione e non una rilettura più lunga.
Perché
«All'apertura della settimana lo spread si traveste da fuga verso i rifugi» ha chiuso sei tappe con questo bilancio: il meccanismo («riduzione del rischio prima del fine settimana») è falsificato — l'effetto è uniforme sulla giornata, 21/48/31 — e due delle tre conferme secondarie erano artefatto del bid all'apertura della settimana. Ma il fatto ha retto a mediana, test del segno, troncamento, leave-one-out e alla rimozione simultanea di GBP e JPY.
Solo che tutto questo vive fra il 2010 e il 2026, che è la finestra in cui l'effetto è stato trovato, guardando 56 celle. Sei attacchi superati dentro il campione non fanno un fuori campione, e nessuna statistica in più su quegli stessi giorni può sostituirlo.
hist comincia nel 2010 perché è da lì che è stato esportato, non perché il broker non abbia altro.
L'ipotesi, identica a prima
**Il venerdì le valute di rischio (GBP, AUD, NZD, CAD, EUR) rendono meno delle valute
rifugio (JPY, CHF, USD).**
Una affermazione, una differenza: indice medio dei rifugi meno indice medio delle valute di rischio, giorno per giorno, sulle chiusure giornaliere. K = 1.
La misura, identica a prima — e questo è vincolante
Nessun grado di libertà nuovo. Tutto è già fissato dal protocollo madre:
- indice per valuta, mai per coppia (la base prende
+r, la quotata−r, media sulle coppie in cui la valuta compare); - rendimento logaritmico chiusura-su-chiusura a D1;
- confronto venerdì contro tutti gli altri giorni, t di Welch;
- le stesse quattordici coppie.
Il codice che gira sul fuori campione è lo stesso, cambiato solo il file dei prezzi. Se serve toccarlo per farlo girare, ogni ritocco va scritto qui.
Bid, non medio — dichiarato adesso
I dati giornalieri hanno solo la chiusura, che è il bid. Nel campione dentro, il bid gonfia l'effetto: +0,0628% sul bid contro +0,0463% sul medio, cioè +35%.
Quindi il confronto è bid contro bid, e la previsione si fa contro il numero sul bid. Il valore vero è più piccolo di circa un terzo in entrambe le finestre, e questo non è un problema finché non si confrontano mele con pere.
Il cancello sulla qualità dei dati, dichiarato PRIMA di guardare
In questo laboratorio è già documentato che i dati M5 prima del 1999 sono finti (una barra al giorno, apertura = massimo = minimo = chiusura). Lo stesso può valere a D1, e lo si decide con regole scritte adesso, non guardando quale finestra dà il risultato più comodo:
- un anno entra solo se ha ≥ 200 barre giornaliere;
- un anno entra solo se le barre con apertura = massimo = minimo = chiusura sono < 5%;
- niente prima del 4 gennaio 1999, comunque: l'euro non esisteva, e qualunque EURUSD anteriore è ricostruito dal marco. Sei coppie su quattordici contengono l'euro: ricostruirle significherebbe misurare l'interpolatore del broker;
- se una coppia manca nella finestra fuori campione, viene tolta da entrambe le finestre e tutto viene ricalcolato. Il confronto dev'essere fra le stesse gambe.
La finestra fuori campione è quindi: dal primo anno che passa il cancello, fino al 26 gennaio 2010 (il giorno prima del primo dato di hist).
Emendamento, scritto dopo l'inventario e prima di qualunque rendimento
I dati sono arrivati e il cancello ha funzionato: EURUSD e USDJPY dal 1971 sono 100% di barre piatte, il 1985 è al 94%, dal 1993 si scende a 0%. Storia ricostruita che si autodenuncia, esattamente come previsto.
Ma l'inventario ha mostrato una cosa che il protocollo non aveva anticipato: le coppie non cominciano insieme, e c'è un buco (EURCAD 2007, 167 barre) che fa fallire il cancello. Quindi «tutte e quattordici per tutti gli anni» non esiste in nessuna finestra, e la regola 4 va applicata sul serio.
La applico adesso, guardando solo date e conteggi — nessun rendimento è stato ancora calcolato. La regola, resa deterministica:
per ogni anno d'inizio Y da 1999 in avanti, si tiene l'insieme delle coppie che passano
il cancello in tutti gli anni da Y al 2009. Si sceglie il più piccolo Y per cui
quell'insieme copre tutti e tre i rifugi e almeno tre valute di rischio — cioè per
cui l'ipotesi è ancora esprimibile.
Questo dà due finestre, ed entrambe vengono riportate comunque vadano:
- PRIMARIA — 1999 → 2009, 8 coppie, 6 valute (rifugi JPY·CHF·USD, rischio GBP·AUD·EUR). È la lettura letterale del protocollo («dal primo anno che passa il cancello») ed è anche quella con più potenza, che era il vincolo dichiarato: ~570 venerdì, t atteso 2,67. Perde NZD e CAD.
- SECONDARIA — 2002 → 2009, 12 coppie, 7 valute (rientrano NZD e AUD via NZDUSD e AUDUSD; resta fuori solo il CAD, che esiste unicamente dentro EURCAD). ~415 venerdì, t atteso 2,28.
In entrambi i casi il campione dentro viene ricalcolato sulle stesse identiche gambe, come impone la regola 4: si confrontano le stesse valute, non insiemi diversi.
Dichiaro adesso che la primaria è la 1999-2009 e che riporterò tutte e due qualunque cosa dicano. Scegliere dopo sarebbe pescare.
La potenza, verificata adesso — e stavolta su OGNI soglia
Nel campione dentro: Δ = +0,0628%, t = +3,26 con 854 venerdì e 3.414 altri giorni. Da qui l'errore standard è 0,01927%, e lo scarto giornaliero del divario è 0,503%.
Per una finestra con N venerdì (e circa 4N altri giorni):
errore = 0,503 × √(1/N + 1/4N) = 0,562 / √N t atteso, se l'effetto è vero e della stessa taglia = 0,0628 / (0,562/√N) = 0,112 × √N
| N venerdì | anni | t atteso |
|---|---|---|
| 570 | 1999 → 2009 | 2,67 |
| 400 | ~8 | 2,23 |
| 300 | ~6 | 1,93 |
| 200 | ~4 | 1,58 |
Quindi la finestra 1999-2009 è decidibile e le più corte no. Se il cancello lascia meno di ~300 venerdì, la prova non si fa: si dichiara non decidibile e si chiude, invece di leggere un numero che non poteva parlare. È l'errore del 06/08 e del 07/08, e questa è la terza volta che lo si scrive — stavolta con la tabella davanti.
Le soglie
Promuove (→ L1): Δ > 0 e t ≥ 2,0.
Non promuove ma rafforza: Δ > 0 con t fra 1,0 e 2,0 — segno giusto, forza insufficiente. Resta L0.
Falsifica: Δ ≤ 0.
E una zona che dichiaro adesso per non poterla girare dopo. Con t atteso 2,67 e soglia 2,0, la potenza è circa il 75%: un t di 1,5 sarebbe compatibile sia con l'effetto vero sia con il nulla, e non deciderebbe niente. Perciò, insieme al test, si calcola sempre:
z = (Δ_fuori − Δ_dentro) / √(errore_fuori² + errore_dentro²)
Se |z| < 2 il fuori campione è compatibile con l'effetto dentro; se anche il test su zero fallisce, l'esito onesto è «non distingue», non «falsificato». Le due frasi non sono la stessa e non vanno scambiate a seconda di quale fa comodo.
Cosa NON si può provare fuori campione, e va detto
La forma dentro la giornata. L'export è giornaliero: la prova primaria del protocollo madre — dove sta l'effetto fra Asia, Europa e America — non è ripetibile qui. Il meccanismo resta falsificato in base al campione dentro, e questa prova non lo riabilita comunque vada.
La correzione al medio. Non c'è spread a D1.
Descrittivo, non un secondo test
L'ordine delle otto valute (rifugi positivi, rischio negative) verrà riportato, ma non conta come prova indipendente: le otto sono costruite dalle stesse quattordici coppie e sono fortemente dipendenti fra loro. Contare «7 su 8» come se fossero otto prove è esattamente la trappola che questa pista ha già insegnato una volta (11 coppie che erano 2 valute). Si guarda, non si conta.
Cosa mi aspetto, scritto prima di guardare
Che esca positivo ma più debole di +0,0628% — attorno a +0,03%, con t fra 1,2 e 1,8. Motivo: l'effetto è stato trovato in una scansione da 56 celle, e le taglie trovate per scansione sono sistematicamente gonfiate. Se questa previsione è giusta, l'esito è «non distingue» e la pista resta L0 con un fuori campione a metà — che è meno di quel che vorrei ma è la cosa più probabile.
Che il periodo 1999-2007 sia più mosso del 2010-2026 in generale, quindi con errori più grandi a parità di venerdì.
Che l'ordine delle valute regga in modo sfocato, tipo 6 su 8, perché il 1999-2009 ha dentro il carry trade sullo yen e il suo smontaggio del 2008, che è un regime diverso.
E che il 2008 vada guardato a parte: se l'effetto viene tutto da lì, non è un effetto di calendario, è la crisi.
Strumenti: l'EA (export) e verifiche/strumenti/struttura/venerdi_fuori.py (misura).
Risultati
I cancelli, nell'ordine
Parità: passata. Il codice nuovo, sul CSV appena esportato, dà +0,0636% (t +3,33, 859 venerdì) sulla finestra 2010→2026, contro +0,0628% (t +3,26, 854 venerdì) di hist: 1,4% di scarto, e le cinque giornate di differenza sono festivi che i due archivi trattano diversamente. Non è la storia a essere diversa: è lo stesso mercato letto due volte.
Qualità: il cancello ha fatto esattamente quello per cui era stato scritto. EURUSD e USDJPY partono dal 1971, ma il 1971 è 100% di barre piatte (apertura = massimo = minimo = chiusura, 1 tick) e il 1985 è al 94%. Dal 1993 si scende a 0%. È storia ricostruita che si autodenuncia, e nessuna riga di essa è entrata nel conto.
Potenza: sufficiente, e verificata prima di leggere. 575 venerdì nella finestra primaria: se l'effetto fosse vero e della stessa taglia, il t atteso è 2,69.
Il risultato
| Δ venerdì | t | venerdì | |
|---|---|---|---|
| fuori campione 1999→2009 (primaria) | −0,0100% | −0,37 | 575 |
| dentro campione, stesse gambe | +0,0678% | +3,40 | 859 |
| fuori campione 2002→2009 (secondaria) | −0,0172% | −0,40 | 419 |
| dentro campione, stesse gambe | +0,0781% | +3,25 | 859 |
Il segno si ribalta in tutte e due le finestre. La soglia dichiarata era: Δ ≤ 0 falsifica. Δ è negativo in entrambe.
E non è un fallimento di potenza travestito da falsificazione — la differenza fra le due finestre è z = −2,32 nella primaria: sono statisticamente diverse, non «una debole e una forte».
Nella secondaria z vale −1,92, cioè appena sotto la soglia di 2 che avevo dichiarato, e per quella finestra la lettura letterale del mio stesso protocollo è «compatibili». Lo scrivo perché è il punto in cui sarebbe comodo citare solo la primaria. Ma la soglia che decide non è quella: è Δ ≤ 0 falsifica, e Δ è negativo in tutte e due. La z serviva a impedirmi di chiamare «falsificato» un semplice difetto di potenza — e qui non è quel caso, perché il segno non è debole, è rovesciato, in entrambe.
Nessuna scappatoia regge
Non è il 2008. Anzi: il 2008 — l'anno in cui la fuga verso i rifugi dovrebbe essere più forte che mai — è l'unico anno chiaramente positivo (+0,0902%). Toglierlo rende il fuori campione più negativo: −0,0200% (primaria), −0,0346% (secondaria). Se qualcosa teneva su il poco che c'era, era la crisi, non il calendario.
Non è l'ordine delle valute. Nella primaria è giusto 2 volte su 6, nella secondaria 4 su 7. Cioè il caso. Dentro campione erano 7 su 8.
Non è un anno storto. Anno per anno il segno salta senza schema: +0,027 / −0,047 / −0,119 / +0,021 / −0,006 / −0,103 / +0,032 / +0,043 / −0,092 / +0,090 / +0,031.
La mia previsione era sbagliata, e nel verso più utile
Avevo scritto, prima di guardare: «che esca positivo ma più debole, attorno a +0,03%, con t fra 1,2 e 1,8 … se questa previsione è giusta, l'esito è "non distingue"».
Sbagliata. Non è più debole: è assente e di segno opposto. Avevo previsto il winner's curse — una taglia gonfiata dalla scansione — e invece non c'era nessuna taglia da gonfiare.
Verdetto
Il venerdì risk-off è falsificato. Non esiste prima del 2010. Quello che è stato misurato è una proprietà della finestra 2010-2026 — la stessa in cui era stato trovato, guardando 56 celle.
E questa è la lezione che vale più del risultato
Quel fatto aveva superato sei attacchi di robustezza, uno dopo l'altro, più la correzione della misura dal bid al medio:
| mediana invece della media | reggeva |
| test del segno, immune alle code | si rafforzava (z +2,86) |
| media troncata al 10% | si rafforzava (t +3,98) |
| togliere i 40 venerdì più estremi | si rafforzava (t +3,51) |
| leave-one-out su ogni valuta | reggeva (78-111%) |
| togliere GBP e JPY insieme | reggeva (65%, t +2,06) |
| bid contro medio | reggeva (99% nella sessione di giorno) |
Ed è morto in un colpo solo appena gli è stata mostrata una finestra che non aveva mai visto.
La robustezza dentro campione non è una prova ridotta di validità fuori campione: è una grandezza diversa. Tutti e sei quegli attacchi chiedevano «questo numero è portato da pochi giorni o da pochi simboli?» — domanda legittima, e la risposta era no. Nessuno di loro chiedeva «questo numero esisteva prima?», che è l'unica che conta, e alla quale non si può rispondere con altre statistiche sugli stessi giorni.
Se avessi accumulato un settimo, un ottavo, un decimo attacco dentro campione, avrei solo avuto più fiducia in una cosa falsa.
Cosa non riprovare
Il venerdì come giorno, in nessuna forma: non su valute, non su coppie, non su panieri.
E qualunque cosa trovata scansionando una finestra, senza chiedersi prima quanta storia resta fuori. Qui ne restavano undici anni ed erano a portata di uno script da venti righe: il costo di scoprirlo era un decimo del costo di non scoprirlo.