L’orizzonte che fissi per primo
Un registro dal vivo è l’unico test che non puoi setacciare, perciò la sua asticella scende dal 4,499 della lezione 64 a 1,645 e gli servono 7,48 volte meno operazioni di un backtest da 15.000 celle per sostenere la stessa affermazione. È tutto qui l’argomento a favore del test in avanti, e regge solo se fissi il numero di operazioni prima di cominciare. Giudica un registro di 156 operazioni una volta sola, all’operazione 156, e un sistema senza alcun vantaggio passa nel 5,05 per cento dei casi. Giudica lo stesso registro dopo ogni operazione a partire dalla ventesima, fermandoti la prima volta che supera 1,645, e lo stesso sistema morto passa nel 24,25 per cento dei casi.
Prerequisiti: Lezione 64, per l’asticella e il conteggio da cui si calcola, la lezione 19, per il modo in cui un registro accumula prove, e lezione 62, per la frase con cui la regola è stata scritta prima che tutto questo girasse.
A che cosa serve davvero un test in avanti
L’argomento consueto a favore del test in avanti è il realismo: eseguiti veri, latenza vera, costi veri, nessuna delle comodità che un backtest si concede in silenzio. Quell’argomento è vero e non è quello importante. La lezione 63 ha mostrato che un backtest accurato può modellare costi e slippage con onestà e restare comunque privo di valore, e la lezione 64 ha mostrato perché: il numero che lo scredita non è nessuna delle ipotesi sul mercato ma il conteggio delle configurazioni che si sono presentate al provino per produrlo.
Un test in avanti fissa quel conteggio a uno. Gira esattamente una regola, e nessuna sua versione che avresti preferito gira accanto per essere scartata in silenzio. È questa, e non il realismo, la proprietà per cui vale la pena pagare, e la lezione 64 le ha dato un prezzo: una singola configurazione supera a 1,645 dove una griglia da 15.000 celle deve superare 4,499, e poiché le operazioni necessarie crescono con il quadrato dell’asticella, il registro dal vivo ne chiede 7,48 volte meno per dire la stessa cosa.
Un test in avanti non è dunque un backtest più economico né uno più onesto. È la stessa prova comprata in un’altra valuta. Un backtest spende configurazioni e ottiene la risposta all’istante; un test in avanti spende una configurazione e paga in tempo. Che cosa costi il tempo è aritmetica, ed eccola per intero. Un vantaggio di d in R per operazione produce una statistica t pari a d per la radice quadrata del numero di operazioni, quindi superare l’asticella costa 1,645 diviso d, il tutto al quadrato. Per convertirlo in mesi serve un ritmo operativo, e questa pagina usa ovunque quaranta operazioni al mese: un ritmo che non deriva da nulla, solo dichiarato, così che chi opera a un altro ritmo divida il numero di operazioni per il proprio.
| Vantaggio, R per operazione | Operazioni per superare 1,645 | Mesi a quaranta al mese |
|---|---|---|
| 0,05 | 1.083 | 27,1 |
| 0,10 | 271 | 6,8 |
| 0,15 | 121 | 3,0 |
| 0,20 | 68 | 1,7 |
| 0,30 | 31 | 0,8 |
| 0,50 | 11 | 0,3 |
Leggi le prime due righe e la forma del problema si vede. I vantaggi che le persone trovano davvero, una volta sottratti i costi e il parametro di riferimento, abitano la metà superiore di quella tabella, e la metà superiore si misura in anni. Dimezzare il vantaggio che sei disposto ad accettare quadruplica l’attesa, perché l’asticella è fissa e solo la radice quadrata del conteggio le cresce incontro. Ecco perché il test in avanti viene abbandonato: non perché qualcuno lo contesti, ma perché l’orizzonte onesto per un decimo di R è di sei mesi e otto decimi, e quasi nessuno avvia un test che deve lasciare in pace così a lungo.
Il foglio che questo modulo ha aperto nella lezione 62 guadagna qui una quarta colonna, ed è la più corta della pagina: il numero di operazioni per cui il test durerà, scritto prima della prima operazione. Quasi nessuno contro cui operi lo scrive. Costa un numero intero e un atto di autocontrollo, e manca per la stessa ragione per cui nella lezione 64 mancava il conteggio delle configurazioni: impegnarsi in anticipo è l’unica versione che possa costarti qualcosa.
Lo stesso registro, giudicato in cinque modi
Prendi un sistema privo di qualsiasi vantaggio: 156 operazioni i cui esiti sono estratti da una distribuzione centrata esattamente su zero. Fallo ventimila volte dal seme 20260903, e ogni volta calcola la statistica t corrente nel modo consueto, l’operazione media divisa per l’errore standard di quella media. Ora fai variare una cosa soltanto, cioè quando ti è permesso guardare.
Giudicato una volta, all’operazione 156 e solo lì: il 5,05 per cento di questi sistemi morti supera 1,645. Il test è tarato, ed è proprio a questo che serve la verifica: un’asticella pensata per lasciar passare cinque su cento ne lascia passare 5,05 su cento, e tutto il resto si misura su quello.
| Quando puoi guardare | Sguardi | Sistemi morti che passano | Operazione mediana in cui passano |
|---|---|---|---|
| Una volta, all’operazione 156 | 1 | 0,0505 | 156 |
| A metà e alla fine | 2 | 0,0795 | 78 |
| Quattro cancelli equidistanti | 4 | 0,1187 | 78 |
| Ogni mese, a tredici operazioni di distanza | 12 | 0,1992 | 39 |
| Dopo ogni operazione dalla ventesima | 137 | 0,2425 | 32 |
Nulla in quella tabella cambia il sistema, l’asticella, il numero di operazioni o la distribuzione da cui provengono. L’unica cosa che cambia è quante volte al registro è concesso di essere dichiarato un successo. Quattro cancelli — carta, poi un quarto della dimensione, poi metà, poi piena, cioè il piano di messa in opera che ogni guida al trading sistematico raccomanda, inclusa quella che questa pagina sostituisce — lascia passare un sistema morto nell’11,87 per cento dei casi. È più del doppio del tasso che l’asticella doveva permettere, ed è comprato interamente guardando.
Un registro che ti è permesso fermare è una ricerca fra istanti di arresto.
Il che significa che gli si può dare un prezzo esattamente come la lezione 64 lo ha dato a una griglia. Risolvi per la soglia che ripristina il cinque per cento guardando dopo ogni operazione ed è 2,569. Non è un numero di specie nuova: è l’asticella che la lezione 64 dà per undici configurazioni. Sorvegliare un solo registro dal vivo mentre si accumula vale quanto setacciarne undici, e costa 2,44 volte più operazioni per arrivare alla stessa conclusione, il che trasforma l’orizzonte di 6,8 mesi per un decimo di R in 660 operazioni e 16,5 mesi.
La versione che dovrebbe preoccupare chi tiene tre sistemi candidati in parallelo, che è il modo consueto di testare in avanti, è peggiore della somma delle sue parti. Tre registri, ciascuno sorvegliato dopo ogni operazione dalla ventesima, ciascuno con la stessa asticella di 1,645: nel 55,65 per cento dei casi almeno uno dei tre si dichiara vivo mentre nessuno lo è. Una maggioranza. Il piano ha l’aria della diligenza ed è una moneta truccata a favore dell’adozione.
Fissa dunque l’orizzonte prima della prima operazione, e leggi il registro una volta, alla fine.
Ciò che questo non risolve
Che le operazioni siano indipendenti e identicamente distribuite. Non sono né l’una né l’altra cosa, e qui l’ipotesi fa lavoro vero: operazioni consecutive di uno stesso sistema condividono le stesse settimane, lo stesso regime e spesso lo stesso rischio di posizione aperta, quindi il numero effettivo di osservazioni indipendenti in un registro di 156 operazioni è minore di 156. Questo spinge ogni orizzonte della prima tabella verso l’alto anziché verso il basso, la pagina è dunque ottimista nella direzione che conta di più, e non dice di quanto perché dipende dal sistema.
Che la distribuzione delle operazioni sia normale. Non lo è, e un sistema con vincite rare e grandi ha una statistica t che converge lentamente alla normalità, il che rende l’asticella di 1,645 sbagliata proprio ai conteggi che la prima tabella definisce brevi. A trentuno operazioni e tre decimi di R l’approssimazione normale lavora più di quanto lavori la prova.
Che fermarsi presto sia l’unico danno del guardare. La simulazione modella una regola — fermarsi la prima volta che il registro supera l’asticella — e i trader veri si fermano anche quando un registro si presenta male, che è la regola speculare e non è modellata da nessuna parte in questa pagina. Toglie di mezzo sistemi che si sarebbero ripresi invece di adottarne che non hanno mai funzionato, il suo costo è dunque invisibile e non numerabile, e qui nulla gli dà un prezzo.
Che un orizzonte fisso sia compatibile con la gestione di un conto. Spesso non lo è. Un sistema che perde denaro per quattro mesi di fila andrebbe spento, e spegnerlo è corretta gestione del rischio anche se distrugge la proprietà statistica su cui questa intera pagina poggia. La posizione onesta è che i due obiettivi sono davvero in conflitto, che vince la gestione del rischio, e che un test abbandonato per ragioni di rischio va riferito come abbandonato invece di essere registrato in silenzio come un fallimento dell’idea.
Che il vantaggio abbia la stessa misura alla fine e all’inizio. Tutto quanto sopra tratta d come costante lungo l’orizzonte, e l’intera ragione per cui un test in avanti può valere la pena è che le condizioni dal vivo differiscono da quelle storiche. Se il vantaggio decade mentre il test gira, il registro sta misurando una media di qualcosa che non esiste più quando quella media diventa significativa, e più l’orizzonte è onesto, peggio va.
E la concessione che costa di più: l’orizzonte va calcolato dalla dimensione dell’effetto, e la dimensione dell’effetto è proprio ciò a cui serve il test. La prima tabella chiede d prima di dirti quanto a lungo, il che è circolare, e non c’è modo di aggirarlo. Il rimedio meno disonesto è fissare l’orizzonte dal più piccolo vantaggio che varrebbe la pena operare al netto dei costi, e non da quello riferito dal backtest, perché il secondo è il numero che la lezione 63 ha impiegato una pagina a mostrare che non puoi usare. La lezione 66 prende il registro che passa e chiede che cosa lo abbia prodotto, e trova che sulle sessanta chiusure di questo corso il 57,7 per cento del rendimento della regola vincente era il mercato e non la regola.
Esercizi
- Dai un prezzo al tuo orizzonte. Prendi il più piccolo vantaggio in R per operazione che varrebbe la pena operare sul tuo strumento dopo il costo di andata e ritorno che hai calcolato nella lezione 63, e leggi il numero di operazioni nella prima tabella, oppure calcola 1,645 diviso quel vantaggio, al quadrato. Dieci minuti, e resti con un numero in mano, le operazioni per cui il tuo test in avanti deve durare, che è il numero a cui devi impegnarti prima di piazzare la prima.
- Conta i tuoi sguardi. Scrivi il tuo piano di messa in opera reale — carta, piccolo, più grande, pieno, più ogni revisione che hai in calendario — e conta i punti in cui potresti decidere che il sistema funziona. Mezz’ora, e resti con un numero in mano, il conteggio dei cancelli, che la seconda tabella converte nel tasso al quale il tuo piano adotta un sistema che non ha nulla dentro.
- Fai girare l’ipotesi nulla sul tuo piano. Simula un sistema senza vantaggio lungo il tuo orizzonte, mille volte da un seme che scrivi, e applica a ciascun registro simulato i tuoi cancelli e la tua asticella. Conta quante volte sarebbe stato adottato. Una serata, e resti con un numero in mano, quella frazione, che è il tasso di adozione errata del procedimento a cui stavi per affidare del denaro.
Fonti. Peter Armitage, C. K. McPherson e B. C. Rowe, «Repeated Significance Tests on Accumulating Data» (Journal of the Royal Statistical Society, Series A, 1969), per il risultato che la seconda tabella riproduce: esaminare ripetutamente lo stesso registro in accumulo gonfia il tasso di falsi positivi ben oltre il suo livello nominale. Stuart J. Pocock, «Group Sequential Methods in the Design and Analysis of Clinical Trials» (Biometrika, 1977), per la pratica di fissare in anticipo il numero di sguardi intermedi e alzare la soglia di conseguenza, che è esattamente ciò che è il 2,569 di questa pagina. Peter C. O’Brien e Thomas R. Fleming, «A Multiple Testing Procedure for Clinical Trials» (Biometrics, 1979), per l’alternativa di distribuire il tasso di errore in modo disuguale fra gli sguardi, che è il disegno migliore che questa pagina non usa. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado e Qiji Jim Zhu, «Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance» (Notices of the American Mathematical Society, 2014), per l’asticella che questa lezione riprende dalla lezione 64 e converte in undici configurazioni.
Il prezzo di cercare
L’asticella che una ricerca deve superare, e il conteggio da cui si calcola.
Leggi la lezione →Quanto tempo prima di saperlo
Come un registro accumula prove, e con quanta lentezza.
Leggi la lezione →Il backtesting come prova
Perché il vantaggio riferito da un backtest non può essere quello da cui fissi un orizzonte.
Leggi la lezione →Solo a scopo educativo. Il trading comporta un rischio sostanziale di perdita. Non è una consulenza finanziaria. I risultati passati non garantiscono risultati futuri.
💬 Discussione (0 commenti)
Caricamento dei commenti…
Pronto a operare con Signal Pilot?
Metti in pratica la tua formazione con indicatori professionali e strumenti di analisi di mercato in tempo reale.
Torna a Signal Pilot →