Signal Pilot
🟠 Avanzato • Lezione 64 di 85

Il prezzo di cercare

Tempo di lettura ~13 min • Modulo 8: Costruire un sistema
Signal Pilot
Formazione professionale sul trading
0 %
Stai facendo progressi!
Continua a leggere per completare questa lezione

Una ricerca su 15.000 configurazioni, giudicata su 156 operazioni, fabbrica 0,317 di una R per operazione prima che il mercato abbia fatto alcunché, e quella cifra esce dai due conteggi da soli, senza un solo prezzo dentro. Applica la stessa aritmetica alla ricerca della lezione 63: la statistica t della sua vincitrice, 3,65, deve superare 3,54 e non 1,65, e la supera. Poi fissa un numero che quel backtest non ha mai stampato — quante operazioni una regola doveva chiudere per avere diritto a vincere — e il verdetto sulla stessa vincitrice passa da uno su 147 a un lancio di moneta, senza che cambi un solo prezzo.

Prerequisiti: La lezione 63, per la ricerca su 253 celle la cui vincitrice questa pagina rigiudica, la lezione 19, per ciò che una statistica t su sette operazioni può e non può reggere, e lezione 62, per la frase con cui una regola va scritta prima che tutto questo valga.

Che cosa ti dice già il conteggio da solo

Supponi che ogni regola che stai per testare sia senza valore. Non mal progettata, non sfortunata: senza valore, nel senso esatto che il suo vantaggio vero è zero. Ognuna restituisce comunque un numero, perché un registro finito di operazioni è un campione e i campioni oscillano. Testane una e ottieni un’oscillazione. Testane molte e tieni la maggiore oscillazione che hai trovato, perché tenere la maggiore è proprio ciò che una ricerca fa. Il maggiore di molti zeri rumorosi non è zero, e la sua misura è fissata da quante estrazioni hai fatto, non da ciò da cui le hai estratte.

Quest’ultima proposizione è tutta la lezione e conviene essere netti. Quanto vantaggio una ricerca fabbrica non dipende dallo strumento, né dal timeframe, né dall’anno, né dal fatto che il mercato abbia avuto una tendenza. Dipende da due conteggi: quante configurazioni hai provato e su quante operazioni ciascuna è stata giudicata. Entrambi sono noti prima di eseguire alcunché.

Scrivi la statistica t di una configurazione come al solito: la sua operazione media divisa per l’errore standard di quella media. Sotto l’ipotesi di vantaggio nullo, la t di ogni configurazione è un’estrazione da una normale standard, e una ricerca su N configurazioni tiene la maggiore di N estrazioni simili. Il valore atteso di quella maggiore estrazione ha una forma chiusa accurata meglio dell’uno per cento, che è il risultato esposto nel 2014 da López de Prado insieme a Bailey, Borwein e Zhu:

E[max of N] ≈ (1 − γ) Φ−1(1 − 1/N) + γ Φ−1(1 − 1/(N e)), γ = 0.5772156649

Una sostituzione, svolta per intero, così che qui nulla vada preso sulla fiducia. A 15.000 configurazioni, 1 diviso N fa 0,0000667, e il valore della normale standard che lascia quella massa nella coda superiore è 3,82022. Poi N per e fa 40.774, 1 diviso quello fa 0,0000245, e il suo valore normale è 4,06011. Pesando i due per 0,4228 e 0,5772 si ottiene 3,95869. Questa è una statistica t. Per trasformarla in vantaggio per operazione, dividi per la radice quadrata del numero di operazioni: la radice di 156 è 12,49, e 3,95869 diviso 12,49 fa 0,317. In quel calcolo non è entrato nulla su nessun mercato.

La stessa formula risponde alla domanda che un professionista si pone davvero, che non è quanto ottiene la migliore regola senza valore ma quale risultato avrebbe sorpreso. Chiedere che una ricerca su N configurazioni senza valore produca qualcosa sopra t solo cinque volte su cento mette l’asticella al valore normale di 0,95 elevato a 1/N. Il test è a una coda in tutta questa pagina, perché una regola che perde non è una scoperta, ed è per questo che una singola configurazione sta a 1,645 e non al 1,96 a due code. È la terza colonna qui sotto.

ConfigurazioniMiglior t attesoAsticella al cinque per centoR per operazione, 156 operazioni
10,0001,6450,000
101,5752,5680,126
1002,5313,2830,203
2532,8413,5370,228
1.0003,2553,8840,261
15.0003,9594,4990,317
100.0004,3914,8870,352

Leggi la prima colonna contro la terza e la forma è la parte utile. Passare da una configurazione a 253 alza l’asticella da 1,645 a 3,537, ed è lì quasi tutto il danno. Passare da 253 a 100.000 è 395 volte più ricerca e la alza di altri 1,350. La penalità cresce con il logaritmo del conteggio, perciò una ricerca modesta costa cara e una enorme è appena peggio di una grande. Questo taglia in entrambi i sensi, e il senso in cui taglia contro di te nessuno lo nomina: non serve una griglia da diecimila per essere mal esposti. Cento è già a 3,283.

Il foglio che questo modulo ha aperto nella lezione 62 guadagna qui una terza colonna, accanto alla frase e accanto alla coppia di cifre aggiunta dalla lezione 63. L’asticella che questa configurazione doveva superare, e il conteggio da cui è stata calcolata. Una riga la cui t non supera la propria asticella non ha mostrato niente, e una riga che non porta il conteggio non può avere alcuna asticella. Quasi nessuno contro cui operi annota quel conteggio. Costa un solo numero intero, scritto prima della ricerca invece che ricordato dopo, e il motivo per cui di rado è lì è che può soltanto far sembrare un risultato peggiore.

La stessa vincitrice, giudicata in cinque modi

La lezione 63 ha cercato fra 253 configurazioni di medie mobili su sessanta chiusure e ha tenuto quella con il totale netto più alto: una media a 2 barre contro una a 5, sette operazioni, 9,84 per azione al netto dei costi, t di 3,65. Contro la tabella qui sopra, 253 configurazioni mettono l’asticella a 3,537, quindi la vincitrice la supera. Sembra una promozione pulita, e vale la pena vedere perché non lo è.

Conta le operazioni che ciascuna delle 253 configurazioni ha davvero chiuso su quelle chiusure. La più piccola è 1, la mediana è 1, il valore a tre quarti è 2, e la più grande è 16. Più di metà della griglia non ha mai chiuso un secondo giro completo. La ricerca era dunque nominalmente larga 253, e gran parte di quella larghezza erano configurazioni che hanno operato appena, la cui media è una media su uno o due numeri e la cui statistica t è di conseguenza selvaggia. La formula presuppone 253 test comparabili. Le sono stati consegnati 253 test di peso del tutto disuguale.

La riparazione consueta è una soglia: una configurazione può vincere solo se ha chiuso almeno tante operazioni. Nessuno obietta. Ciò che nessuno stampa è il numero. Rimanda quindi in esecuzione l’ipotesi nulla della lezione 63 — i 59 movimenti da barra a barra estratti con reimmissione, 4.000 serie, seme 20260903, la stessa ricerca su 253 celle su ognuna — e registra quanto spesso la migliore configurazione ammissibile raggiunge il 3,65 della vincitrice, a cinque soglie.

Operazioni minimeCelle ammissibiliMiglior t sulle sessanta chiusureRicerche senza struttura che raggiungono 3,65
21156,240,5048
3506,240,2210
5203,790,0385
7113,650,0068
1041,030,0031

A una soglia di sette operazioni, esattamente quante ne ha chiuse la vincitrice, lo 0,68 per cento delle ricerche senza struttura raggiunge 3,65: circa una su 147, e un risultato che chiunque pubblicherebbe. A una soglia di due, lo raggiunge il 50,5 per cento. La vincitrice è invariata, le chiusure sono invariate, le 253 configurazioni sono invariate, e la stessa statistica t è una scoperta da uno su 147 oppure il lancio di una moneta a seconda di un intero che non compare da nessuna parte in un rapporto di backtest.

La correzione per aver cercato ha una manopola tutta sua.

Da quella tabella cadono altre due cose, entrambe peggiori del titolo. La soglia non si limita a filtrare la vincitrice, cambia quale configurazione vince: a soglie di due e di tre il miglior t nella griglia è 6,24, ottenuto da una coppia 3 e 11 su quattro operazioni, e la vincitrice 2 e 5 non è affatto la cella migliore. E a una soglia di dieci operazioni il miglior t ovunque nelle 253 è 1,03. Ogni briciola del vantaggio apparente su questa serie vive in configurazioni che operano meno di dieci volte, cioè proprio il regime in cui una statistica t ha meno titolo per essere creduta.

La forma chiusa è dunque una stima da tasca e non un verdetto. Ha dato 3,537 per questa griglia; la simulazione dà un punto al cinque per cento di 3,397 a una soglia di cinque, che è vicino, e di 9,57 a una soglia di tre, che non è affatto vicino. Usa la formula per sapere all’incirca contro che cosa ti trovi prima di iniziare, e simula alla soglia che hai davvero usato prima di credere a qualsiasi cosa.

Fai questo stasera: scrivi il tuo conteggio di configurazioni e la tua soglia minima di operazioni prima di guardare un risultato, e calcola l’asticella dal primo dei due.

Ciò che questo non risolve

Che le configurazioni siano indipendenti. Non lo sono affatto: un incrocio 2 e 5 e un incrocio 2 e 6 operano quasi le stesse barre, quindi le 253 estrazioni si sovrappongono pesantemente e l’asticella vera per test indipendenti starebbe sotto 3,537. La formula sovracorregge su una griglia correlata, ed è la direzione che serve alla prudenza e non al lettore. Resta un limite che vale la pena conoscere, ma una pagina che lo cita come risposta sta citando un limite superiore al posto di una misura.

Che sessanta chiusure possano reggere tutto questo. Cinquantanove movimenti, una vincitrice con sette operazioni e soglie che svuotano la griglia a dieci: ogni cifra della seconda tabella è calcolata su una serie abbastanza corta perché le soglie e la lunghezza del campione restino aggrovigliate. Su duemila barre una soglia di dieci lascerebbe in piedi gran parte della griglia, e il ribaltamento fra uno su 147 e un lancio di moneta avverrebbe, se avvenisse, a soglie diverse. Il meccanismo non dipende dalla lunghezza. Le cifre precise ne dipendono per intero.

Che la statistica t sia la statistica giusta. Presuppone che le operazioni di una configurazione siano estrazioni indipendenti di uguale varianza, e operazioni consecutive di una regola su una serie non sono né l’una né l’altra cosa: si sovrappongono nel regime, condividono la volatilità delle stesse settimane, e una regola che tiene più a lungo ne prende di più grandi e di meno numerose. È esattamente per questo che il numero di operazioni varia tanto lungo la griglia, sicché il difetto che la soglia rattoppa e l’ipotesi su cui la statistica poggia sono lo stesso difetto visto due volte.

Che l’ipotesi nulla ricampionata sia quella giusta. Estrarre i movimenti con reimmissione distrugge il raggruppamento della volatilità insieme a tutto il resto, e quel raggruppamento è proprio ciò che decide quante operazioni una configurazione a incrocio chiude. L’ipotesi nulla genera così numeri di operazioni che una serie vera non darebbe, e i conteggi di celle ammissibili nella seconda tabella sono, per questo motivo, un po’ sfalsati. Un bootstrap a blocchi manterrebbe il raggruppamento ed è il passo onesto successivo; questa pagina non lo esegue, per la stessa ragione della lezione 63.

Che scegliere la soglia sia innocente. Non lo è, e questa pagina ha appena messo in atto la tecnica contro cui mette in guardia: cinque soglie sono state eseguite e tutte e cinque sono stampate, il che è onesto, ma chi ne esegue cinque e riporta quella in cui la propria regola supera l’asticella ha spostato la ricerca di un livello e ora sta cercando fra le soglie. Il conteggio che va sul foglio deve includere ogni dimensione che hai fatto variare, e la soglia è una di quelle nel momento in cui ne provi più di una.

E la concessione che costa di più. La lezione 63 si è chiusa senza poter contare le configurazioni mai messe per iscritto, e questa pagina non lo risolve; lo rende più tagliente e più scomodo. L’asticella è funzione del conteggio, il conteggio è noto solo per la griglia scritta in codice, e il grafico che hai guardato, il parametro che hai spostato e rimesso a posto, lo strumento che hai abbandonato perché brutto sono tutte configurazioni che alzano l’asticella e non lasciano traccia. La formula converte un problema non numerabile in uno numerabile solo per la parte della ricerca abbastanza onesta da essere stata digitata. La lezione 65 è dove il conteggio viene ridotto a uno per forza e il prezzo si paga invece in tempo: a configurazione singola l’asticella scende da 4,499 a 1,645, e un backtest da 15.000 celle ha quindi bisogno di 7,48 volte più operazioni di un registro dal vivo per sostenere la stessa affermazione.

Esercizi

  1. Conta la tua griglia. Prendi l’ultima strategia che hai ottimizzato e conta le configurazioni che hai scritto in codice: ogni valore di ogni parametro, moltiplicato, comprese quelle che hai eseguito e scartato. Metti quel conteggio nella formula dell’asticella, oppure leggilo nella prima tabella. Dieci minuti, e resti con un numero in mano, la t che la tua vincitrice doveva battere, che quasi sicuramente non è 1,65.
  2. Trova dove il tuo verdetto si ribalta. Prendi la stessa ricerca ed eseguila di nuovo a soglie di 2, 5 e 10 operazioni, annotando ogni volta la configurazione vincente e la sua t. Mezz’ora, e resti con un numero in mano, la soglia alla quale la tua vincitrice smette di vincere, che ti dice quanta parte del tuo risultato era retta da configurazioni che hanno operato appena.
  3. Simula l’asticella che hai davvero davanti. Ricampiona con reimmissione le variazioni da barra a barra del tuo strumento, riesegui tutta la tua ricerca su ogni serie sintetica alla soglia che hai scelto, e fallo mille volte da un seme che scrivi. Conta quanto spesso la migliore configurazione ammissibile raggiunge la t della tua vincitrice reale. Una serata, e resti con un numero in mano, quella frazione, che è l’unica versione dell’asticella che sappia che cosa hanno in comune le tue configurazioni.

Fonti. 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 la formula del massimo atteso in cui questa pagina sostituisce e per la lunghezza minima di un backtest che ne discende. David H. Bailey e Marcos López de Prado, «The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality» (The Journal of Portfolio Management, 2014), per la stessa correzione espressa come sconto su una cifra pubblicata invece che come asticella da superare. Campbell R. Harvey e Yan Liu, «Backtesting» (The Journal of Portfolio Management, 2015), per l’argomento che il numero di tentativi è la prima cosa che chi legge un backtest dovrebbe chiedere, ossia la colonna del foglio che questa lezione aggiunge. Halbert White, «A Reality Check for Data Snooping» (Econometrica, 2000), per la procedura di ricampionamento su cui la seconda tabella è costruita, ripresa dalla lezione 63.

Lezioni correlate
La lezione 63

Il backtesting come prova

La ricerca su 253 celle la cui vincitrice questa lezione rigiudica contro la sua stessa asticella.

Leggi la lezione →
Lezione 19

Quanto tempo prima di saperlo

Ciò che una statistica t su sette operazioni può e non può reggere.

Leggi la lezione →
Lezione 62

Che cosa dovrebbe succedere

La frase con cui una regola va scritta prima che valga qualunque correzione.

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)

0/1000

Caricamento dei commenti…

← Lezione precedente Lezione successiva →

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 →