← Torna agli articoli
July 4, 2026
5 min di lettura

Ricerca casuale vs ricerca intelligente: il punto di incrocio è il costo di valutazione, non l'algoritmo

Ricerca casuale vs ricerca intelligente: il punto di incrocio è il costo di valutazione, non l'algoritmo
#algotrading
#backtest
#ottimizzazione degli iperparametri
#ottimizzazione bayesiana
#walk-forward
#overfitting
Part 7 of 10 · Collection
High-Performance Backtest Engines

Parte della serie "Backtest senza illusioni".

Nel campo dell'ottimizzazione degli iperparametri esiste una saggezza consolidata: la ricerca casuale è una baseline che si presume di superare. Il risultato classico di Bergstra e Bengio (2012) ha stabilito che il casuale batte la griglia; poi l'ottimizzazione bayesiana, TPE, CMA-ES e i metodi multi-fedeltà come Hyperband/ASHA avrebbero dovuto a loro volta battere il casuale. Così, quando ci siamo seduti a fare un benchmark dei metodi di ricerca dei parametri per il nostro motore di trading, ci aspettavamo la solita scala gerarchica: il casuale in fondo, un sampler intelligente in cima.

Abbiamo ottenuto l'opposto — e poi abbiamo ottenuto anche la risposta da manuale. Stessa strategia, stesso spazio dei parametri, stesso obiettivo, stessa macchina. L'unica cosa che abbiamo cambiato è quanto costava una singola valutazione backtest, e la classifica dei metodi di ricerca si è invertita. Quando ogni valutazione era economica, una sequenza Sobol scombinata e stupida ha schiacciato ogni sampler "intelligente". Quando abbiamo reso ogni valutazione costosa, i metodi intelligenti hanno preso il sopravvento e trovato l'unica configurazione sopravvissuta fuori campione.

La lezione non è "il casuale è sottovalutato" o "il bayesiano è sopravvalutato". È che il punto di incrocio tra ricerca casuale e intelligente è governato dal costo di valutazione, non dall'intelligenza dell'algoritmo. Scegli il tuo ottimizzatore in base a quanto costa un backtest, non in base alla sua reputazione. Questo articolo misura esattamente dove si trova il punto di incrocio, perché si trova lì, e una precondizione — la fedeltà — che decide se i trucchi del regime costoso (early stopping, pruning multi-fedeltà) sono sicuri da usare.

Tutto quanto segue proviene da due script del nostro backtester: bench_search.py (v4, commit ee092f1) per il regime economico a singolo timeframe, e bench_search_multitf.py (commit 102853c) per il regime costoso multi-timeframe. Entrambi sono privi di leak — decisione alla chiusura della barra i, esecuzione su open[i+1] — ed entrambi valutano ogni metodo su un obiettivo walk-forward rolling multi-fold con una finestra di test held-out che la ricerca non vede mai.

La domanda: throughput o efficienza campionaria?

Il budget di ricerca rappresentato come una frazione — tempo reale trascorso diviso per costo ask/tell più costo di valutazione — con il termine del costo di valutazione al denominatore che decide se vince il throughput grezzo o il posizionamento per punto

Ogni metodo di ricerca spende il proprio budget di tempo reale su due cose: decidere dove campionare successivamente (il calcolo proprio del sampler) e valutare il campione (eseguire il backtest). Chiamiamo il primo costo ask/tell e il secondo costo di valutazione. La potenza di ricerca effettiva di un metodo su un budget di tempo reale fisso è, approssimativamente:

punti esplorati    budget di tempo realecosto ask/tell+costo di valutazione\text{punti esplorati} \;\approx\; \frac{\text{budget di tempo reale}}{\text{costo ask/tell} + \text{costo di valutazione}}

e la sua qualità finale è quel conteggio moltiplicato per quanto bene collocato è ciascun punto. Due manopole, che si tirano a vicenda:

  • Throughput — punti al secondo. I sampler stupidi (casuale, Sobol/QMC scombinato) hanno un costo ask/tell quasi nullo: emettono un punto a bassa discrepanza e vanno avanti. Massimizzano il conteggio.
  • Efficienza campionaria — qualità per punto. I sampler intelligenti (TPE, CMA-ES, ASHA) spendono calcolo reale per modellare l'obiettivo e collocare meglio ogni punto. Massimizzano il posizionamento, a scapito del throughput.

Quale manopola vince dipende interamente dal denominatore. Quando il costo di valutazione è minimo, il costo ask/tell domina il denominatore, quindi qualsiasi cosa lo gonfi — un modello surrogato, una stima di densità del kernel, un aggiornamento di covarianza — riduce direttamente il numero di punti che esplori. Quando il costo di valutazione è grande, il costo ask/tell è un errore di arrotondamento, quindi l'intelligenza è effettivamente gratuita e dovresti comprarne quanta più possibile.

Questa è l'intera tesi in una frase: la tassa ask/tell è fissa, ma la sua rilevanza è determinata dal costo di valutazione per cui la dividi. Ora vediamolo accadere.

Il regime economico: il Sobol stupido vince sul throughput

Nel regime economico un flusso Sobol scombinato inonda migliaia di valutazioni quasi gratuite nello spazio dei parametri, mentre TPE e ASHA si bloccano dietro il proprio macchinario ask/tell, spendendo la maggior parte del loro budget a pensare invece che a osservare

La nostra strategia a singolo timeframe è una regola di separazione HMA/HMA3 priva di leak su uno spazio a 7 parametri, valutata da un eval_batch numba in-process che esegue prange sulle configurazioni senza overhead inter-processo. Su questo motore, un backtest è quasi gratuito — il kernel grezzo valuta configurazioni a circa 3-4mila cfg/s. Questo è il regime economico, ed è dove il trading differisce nettamente dal contesto del deep learning da cui proviene la maggior parte del folklore HPO: la nostra "funzione obiettivo" non è un training GPU di 6 ore, è un passaggio su array di 0.3 millisecondi.

Abbiamo dato a ogni metodo lo stesso budget — 1.500 valutazioni — e registrato il tempo reale che ciascuno ha impiegato per spendere quelle valutazioni, oltre all'obiettivo di test held-out trovato. Poiché il budget di valutazione è fisso, la colonna del tempo reale trascorso è una lettura diretta dell'overhead di ciascun sampler:

Metodo Valutazioni Tempo reale Throughput TEST held-out
sobol (QMC) 1.500 0,53 s ~2.830 cfg/s −259
random 1.500 0,85 s ~1.770 cfg/s −27
sobol→cmaes 1.500 1,38 s ~1.085 cfg/s −367
cmaes 1.500 1,76 s ~850 cfg/s −85
tpe 1.500 9,76 s ~154 cfg/s −161
tpe-mv+sobol 1.500 12,15 s ~123 cfg/s −151
asha (folds) 1.500 15,79 s ~95 cfg/s −165

TEST è l'obiettivo walk-forward (PnL annualizzato per tempo attivo × confidenza sul numero di trade) su una finestra held-out che la ricerca non ha mai toccato; più alto è meglio.

Saltano all'occhio due fatti. Primo, guarda la colonna del throughput. Il Sobol scombinato gira a circa 2.830 cfg/s — vicino al limite massimo del motore. TPE gira a circa 154 cfg/s e ASHA a 95. Si tratta di un rallentamento di 18-30 volte per fare lo stesso identico numero di valutazioni. I sampler intelligenti non stanno valutando nulla in più; stanno spendendo quel tempo dentro il proprio macchinario ask/tell.

Secondo — ed è questa la parte che tiene onesta la storia — nessun metodo ha trovato un risultato out-of-sample positivo. Ogni valore TEST è negativo. Nel regime a singolo timeframe la nostra strategia semplicemente non ha un edge OOS duraturo, quindi "quale metodo vince" non è una domanda sul profitto finale; è una domanda sull'efficienza di ricerca. E sull'efficienza di ricerca a budget di valutazione fisso, i metodi stupidi vincono nettamente: Sobol e random raggiungono numeri held-out uguali o migliori rispetto ai sampler intelligenti spendendo 1/20 del tempo reale.

Ora ribaltiamo il confronto nel modo in cui lo sperimenta davvero un praticante — fissa il tempo reale, non il numero di valutazioni. Se dai a ogni metodo i 15,8 secondi che ASHA ha impiegato per le sue 1.500 valutazioni, Sobol non si ferma a 1.500. Continua, fino a circa 45.000 configurazioni. Nel regime economico la domanda non è mai "quale sampler colloca meglio 1.500 punti" — è "preferiresti 1.500 punti collocati in modo intelligente o 45.000 scombinati, quando ogni punto è quasi gratuito?" Con una valutazione quasi gratuita, vince l'ampiezza. Trenta volte più copertura di uno spazio a 7 dimensioni batte un modello migliore di esso.

La tassa ask/tell

Dove vanno quelle 20 volte in più? Non nel backtest — quello è identico tra i metodi. Va nella contabilità per punto del sampler, eseguita in Python, dentro il ciclo:

  • TPE adatta una coppia di stime di densità del kernel (trial buoni vs cattivi) a ogni ask, e il costo cresce con la storia dei trial. Il TPE multivariato le adatta congiuntamente tra le dimensioni — più modellazione, più Python.
  • CMA-ES aggiorna e campiona da una matrice di covarianza a ogni generazione. Più economico di TPE qui (girava a circa 850 cfg/s), ma comunque un ordine di grandezza di overhead in più rispetto a emettere un punto Sobol.
  • ASHA paga la contabilità di promozione/rung del pruner e, nel nostro design con i fold come fedeltà, paga il precalcolo fisso degli indicatori prima di poter fare pruning di qualsiasi cosa — quindi le valutazioni "risparmiate" risparmiano meno di quanto la contabilità suggerisca.

Nulla di tutto questo è una critica agli algoritmi. È proprio il punto: il costo ask/tell è un numero di millisecondi grosso modo fisso per punto, e quando anche la valutazione che avvolge è di pochi millisecondi, quel costo fisso diventa improvvisamente il 90% del tuo budget. Il sampler intelligente spende nove decimi del proprio tempo reale a pensare dove guardare e un decimo effettivamente a guardare. Una sequenza Sobol scombinata spende tutto il tempo a guardare. Quando guardare è economico, guardare vince.

Abbiamo deliberatamente non fatto il benchmark di un ottimizzatore bayesiano a processo gaussiano completo qui, e per lo stesso motivo: un surrogato GP è O(n3)O(n^3) nel numero di trial. Contro una valutazione che costa millisecondi, adattare il surrogato consumerebbe l'intero budget di ricerca prima di aver valutato una frazione significativa dello spazio. Nel regime economico, il GP-BO è squalificato dall'aritmetica.

Il regime costoso: il punto di incrocio si ribalta

Il punto di incrocio: man mano che una valutazione diventa costosa, le due curve dei metodi si incrociano — il Sobol cieco crolla mentre il sampler intelligente consapevole del costo sale oltre, diventando l'unico metodo a entrare in territorio out-of-sample positivo

Ora rendiamo un backtest costoso. La strategia multi-timeframe sovrappone un timeframe alto, uno medio e uno basso (triplo TF), ciascuno contribuendo con un calcolo di indicatore e le proprie soglie, tutti valutati sullo stesso walk-forward multi-fold. Una singola valutazione ora costa nell'ordine di 0,1-0,5 secondi invece di 0,3 millisecondi — un salto di tre ordini di grandezza. Il costo di valutazione si è spostato dal termine di errore di arrotondamento del nostro denominatore al termine dominante. Secondo la tesi, la tassa ask/tell dovrebbe smettere di contare e l'intelligenza dovrebbe iniziare a ripagare. E infatti è così.

Abbiamo fatto girare ogni metodo con un budget fisso di circa 150 secondi di tempo reale sul problema triplo-TF (uno spazio a 18 parametri), lasciando che ciascuno spendesse quel budget come il proprio sampler dettava, e abbiamo valutato la singola migliore configurazione restituita su una finestra di test held-out:

Metodo (triplo TF, 150 s) Valutazioni TEST held-out Verdetto
sobol (QMC) 349 −673 perde
cascade (sobol²×64) 20.864 −585 perde
asha (folds) 292 eff. −239 perde
tpe-mv+sobol 455 −43 perde
sobol→cmaes 15.239 +226 unico OOS-positivo

TEST è lo stesso obiettivo walk-forward di prima. Solo un metodo ha superato lo zero.

La baseline Sobol stupida che dominava il regime economico è ora ultima, a −673. Il campionamento cieco a bassa discrepanza di uno spazio a 18 dimensioni, con solo 349 valutazioni da spendere perché ciascuna è costosa, non localizza mai nulla. Il metodo intelligente, sobol→cmaes — 30% del budget su Sobol per seminare un bacino, poi raffinamento CMA-ES dal seme migliore — è l'unico metodo che ha prodotto in assoluto un risultato out-of-sample positivo. Sull'holdout finale mai toccato, il campione ha restituito +2,62% (19 trade, circa 6,6% di esposizione di capitale) sopra una finestra di test che ha restituito +16,35% (46 trade, circa 15,7% di esposizione). Il campione di ogni concorrente ha perso denaro out-of-sample.

Questo è il punto di incrocio, misurato sulla stessa famiglia di strategie, lo stesso obiettivo, la stessa macchina: non cambiare nulla se non il costo di una valutazione, e la classifica dei metodi di ricerca si inverte. Nel regime economico Sobol vince e i sampler intelligenti sono uno spreco di 20 volte; nel regime costoso il sampler intelligente è l'unica cosa che funziona e Sobol è lo spreco.

Perché "intelligente" vince qui — e non è solo efficienza campionaria

Sfruttamento consapevole del costo di uno spazio dei parametri a due assi: l'asse costoso degli indicatori tenuto fermo mentre il sampler intelligente inonda l'asse economico delle soglie su segnali cachati, convertendo lo stesso tempo reale sia in più valutazioni sia in valutazioni collocate meglio

La versione ordinata di questa storia è "le valutazioni costose premiano l'efficienza campionaria, quindi il metodo che colloca meno punti, ma migliori, vince." Questo è vero a metà, e i dati ci costringono all'altra metà, quella onesta e più interessante.

Guarda di nuovo i conteggi delle valutazioni. sobol→cmaes non ha vinto valutando meno punti del Sobol cieco — ne ha valutati 15.239 contro i 349 di Sobol, quaranta volte di più, negli stessi 150 secondi. Come? Perché il nostro costo di valutazione multi-TF è strutturato, non uniforme. Ci sono due assi: un asse indicatore costoso (i periodi dei timeframe e le lunghezze HMA, 30-500 ms ciascuno da calcolare, perché forzano un ricalcolo dell'indicatore) e un asse soglia economico (i livelli di separazione entrata/uscita, circa 1-2 ms ciascuno su segnali cachati). Il divario tra loro è di 30-100 volte.

Il Sobol cieco ignora questa struttura. Ogni punto che estrae perturba l'asse indicatore costoso, forzando un ricalcolo fresco — quindi paga il prezzo pieno su tutte le 349 valutazioni. sobol→cmaes, una volta che CMA-ES ha localizzato una regione promettente, tende a mantenere la struttura grossolana dell'indicatore approssimativamente fissa e a perturbare le soglie continue, che atterrano su segnali cachati e costano quasi nulla. Il metodo intelligente converte lo stesso tempo reale in entrambi: punti collocati meglio e molti di più, perché essere adattivi qui significa essere consapevoli del costo: rimanere sull'asse economico dopo che quello costoso è stato fissato. Il nostro esploit esplicito cascade(sobol²×64) fa questo nel modo più aggressivo — 20.864 valutazioni raggruppando le soglie economiche su segnali cachati — e sebbene abbia perso il test triplo-TF, nella variante a due timeframe ha vinto la finestra di test in modo netto con +20,2% (prima di fallire il proprio holdout — ne parliamo più avanti).

Quindi l'affermazione più precisa del punto di incrocio è: nel regime costoso, la tassa ask/tell diventa trascurabile, il che ti libera per essere intelligente — e "intelligente" significa adattarsi alla struttura di costo dell'obiettivo, non solo alla sua forma. Il campionamento cieco non può fare né l'una né l'altra cosa. Questa è esattamente la struttura a due assi che il nostro motore di drill-down a risoluzione adattiva è costruito per sfruttare, ed è per questo che i metodi multi-fedeltà appartengono al regime costoso — a condizione che valga una condizione.

Fedeltà: la precondizione nascosta per il pruning

I metodi multi-fedeltà — Hyperband, ASHA, qualsiasi pruner a early stopping — poggiano su un'unica assunzione: che una valutazione economica e parziale classifichi le configurazioni allo stesso modo in cui lo farebbe la valutazione costosa e completa. Se una configurazione che sembra buona su un fold walk-forward tende a sembrare buona su tutti, puoi eliminare i perdenti in anticipo e spendere il budget dei sopravvissuti sui vincitori. Se la fedeltà economica classifica in modo casuale, l'early stopping non fa altro che buttare via buone configurazioni a testa o croce.

Quindi, prima di fidarci di qualsiasi pruner, misuriamo direttamente l'assunzione. La nostra fedeltà è il numero di fold walk-forward (valutare su r fold in modo economico, oppure tutti i K fold a costo pieno), e il gate di fedeltà calcola la correlazione di rango di Spearman ρ tra l'obiettivo economico a r fold e l'obiettivo completo su un campione di configurazioni casuali. ρ@1 è la correlazione quando giudichi su un singolo fold — la fedeltà più aggressiva ed economica. Ecco cosa ha riportato questo gate nei due regimi:

Fedeltà (fold usati) ρ singolo TF ρ multi-TF
ρ@1 (1 fold) ~0,03 0,43
ρ@2 0,67
ρ@3 0,78
ρ@4 0,82
ρ@5 0,91

Nel regime a singolo timeframe, un fold classifica le configurazioni con una correlazione di ~0,03 rispetto alla verità — statisticamente indistinguibile dal caso. Non è una coincidenza; è lo stesso fatto per cui "nessun metodo ha trovato un edge OOS". Quando una strategia non ha un segnale duraturo, la sua performance per fold è per lo più fortuna, quindi qualsiasi singolo fold è un'estrazione quasi casuale e il pruning a bassa fedeltà ucciderebbe buone configurazioni e promuoverebbe quelle fortunate. Il multi-fedeltà è insicuro nel regime economico qui — non perché il metodo sia cattivo, ma perché il segnale economico è rumore. (Il nostro gate lo segnala e rifiuta di fare pruning aggressivo.)

Nel regime multi-timeframe, esiste un edge reale, e il quadro della fedeltà si trasforma: ρ@1 sale a 0,43, e a cinque fold ρ arriva a 0,91. Ora un singolo fold porta informazioni di rango reali e cinque fold ne portano quasi la totalità. L'early stopping diventa sicuro — una configurazione che perde nei primi due fold è genuinamente probabile che sia una perdente. Questa è la seconda ragione per cui i metodi multi-fedeltà appartengono al regime costoso: non solo perché le valutazioni costose rendono il pruning conveniente, ma perché il regime costoso è dove la fedeltà economica finalmente classifica come quella costosa.

La regola che questo ci consegna è secca ed economica da eseguire: misura ρ prima di fare pruning. La correlazione di fedeltà è un calcolo di due righe su qualche centinaio di configurazioni casuali, ed è la differenza tra una ricerca multi-fedeltà che ti accelera e una che ti sabota silenziosamente.

Vincere la ricerca non è sopravviverle

Un'altra nota di onestà, perché questa serie parla di backtest che mentono. Il nostro campione triplo-TF, sobol→cmaes, è stato l'unico metodo a registrare un holdout positivo — +2,62%, sopra il +16,35% nella finestra di test. Questa è la buona notizia. Ecco l'avvertenza: non è sopravvissuto alla deflazione statistica.

Il campione è il migliore tra decine di migliaia di configurazioni provate su tutti i metodi. Sotto una tale quantità di test multipli, un holdout del +2,62% non è automaticamente reale. Abbiamo eseguito i gate anti-overfitting su cui si basa l'intera serie — il Deflated Sharpe Ratio con N effettivo corretto per la correlazione tra i trial, e il PBO tramite cross-validation combinatorialmente simmetrica. Il campione ha superato il PBO (0,12, comodamente sotto la soglia di 0,2 — il suo rango è stabile tra gli split CSCV) ma il suo Sharpe deflazionato è crollato a zero (il gate richiede ≥ 0,95). Verdetto: non sopravvive.

Leggi bene questo passaggio, perché è il punto di tutto l'esercizio. Il risultato del punto di incrocio è reale: la ricerca intelligente ha vinto la ricerca nel regime costoso, in modo decisivo, e Sobol l'ha persa. Ma vincere la ricerca è un'affermazione sull'ottimizzatore, non sulla strategia. La migliore configurazione che un buon ottimizzatore può trovare in uno spazio privo di edge è comunque priva di edge — la deflazione è ciò che ti dice quale delle due stai tenendo in mano. Scegliere il metodo di ricerca giusto ti procura in modo efficiente la migliore risposta disponibile; non fabbrica un edge che non è mai esistito. L'ottimizzatore e i gate anti-overfitting sono strumenti diversi che misurano cose diverse, e ne servono entrambi.

Una regola decisionale che puoi davvero applicare

Non devi rieseguire il nostro benchmark per scegliere un ottimizzatore. Ti serve un solo numero: quanto tempo richiede un backtest? Cronometra una singola valutazione del tuo obiettivo — un passaggio walk-forward completo, tutti i fold — e leggi il regime.

  • Valutazione economica (≲ ~10 ms/backtest): compra throughput. Usa Sobol/QMC scombinato o casuale. La tassa ask/tell su TPE/CMA-ES/ASHA ti costerà 10-30 volte il tuo conteggio di punti per un posizionamento che una valutazione quasi gratuita non premia. Non preoccuparti del pruning multi-fedeltà — e se sei tentato, controlla prima ρ@1; in un regime economico a basso edge è probabilmente vicino a zero, il che significa che il pruning equivale a lanciare una moneta. Spendi il tempo ingegneristico risparmiato ad ampliare la ricerca, non a restringerla.
  • Valutazione costosa (≳ ~100 ms-secondi/backtest): compra efficienza campionaria. Usa CMA-ES, TPE, o un ibrido CMA-ES seminato con Sobol; l'overhead del sampler ora è un errore di arrotondamento rispetto alla valutazione. Se il tuo costo di valutazione è strutturato (un asse indicatore lento e un asse soglia veloce, come nel multi-TF), preferisci metodi che sfruttano quella struttura — cascade, drill-down, qualsiasi cosa consapevole del costo — rispetto a metodi che trattano ogni dimensione come ugualmente costosa.
  • Nel mezzo, o in dubbio: un ibrido seminato con Sobol (sobol→cmaes) è la scelta predefinita robusta. Si comporta come un Sobol breadth-first all'inizio (economico, nessun modello da adattare) e come un raffinatore intelligente più avanti, quindi degrada in modo elegante in qualunque regime tu ti trovi — ed è esattamente per questo che è stato il campione del nostro regime costoso.
  • Prima di qualsiasi pruner, misura la fedeltà. Calcola lo Spearman ρ tra la fedeltà economica e l'obiettivo completo su qualche centinaio di configurazioni casuali. Se ρ@1 è basso, non fare pruning su un solo fold; alza la risorsa minima finché ρ non supera circa 0,5. Costa due righe di codice ed evita che il tuo acceleratore scarti silenziosamente le tue migliori configurazioni.
  • Qualunque metodo vinca la ricerca, esegui i gate di deflazione. Il vincitore dell'ottimizzatore è l'oggetto più incline all'overfitting che produrrai in tutta la settimana. DSR e PBO, non il punteggio dell'ottimizzatore, decidono se è negoziabile.

Dove questo si collega

Questo risultato si trova al centro di alcuni fili conduttori che questa serie ha continuato a tirare:

  • Presuppone che il motore sottostante sia onesto. L'intero vantaggio del regime economico esiste perché il nostro motore numba in-process raggiunge migliaia di configurazioni al secondo senza IPC — la scala di velocità è ciò che ti mette nel regime in cui vince il throughput, in primo luogo. Un motore lento, tassato dal framework, metterebbe ogni problema nel regime costoso per default, e non vedresti mai il punto di incrocio.
  • L'esploit del regime costoso è la struttura a due assi attorno a cui è progettato il nostro motore di drill-down a risoluzione adattiva: localizzare sull'asse grossolano e costoso, poi sfruttare quello fine ed economico.
  • Ogni metodo qui è affidabile solo perché il motore è privo di leak. Una ricerca su decine di migliaia di trial è la macchina più efficiente possibile per trovare e sfruttare un bug di look-ahead — il "vincitore" sarebbe quale che sia la configurazione che si è appoggiata più pesantemente sul leak. Prima aggiusta l'orologio, poi cerca.
  • E il destino del campione — vincere la ricerca, fallire la deflazione — è l'intero argomento per trattare la ricerca dei parametri e il controllo dell'overfitting come fasi separate con strumenti separati.

Lo sfondo accademico è lo stesso a cui il campo continua a tornare: Bergstra e Bengio (2012) sul perché il casuale batte la griglia; l'Hyperband di Li et al. (2018) e il seguito ASHA (2020) sul multi-fedeltà; e Bailey e López de Prado (2014) sul perché il vincitore di qualsiasi grande ricerca debba essere deflazionato prima di essere creduto. Nessuno di loro prescrive un unico ottimizzatore migliore, perché non ne esiste uno — esiste un regime, e un costo che lo seleziona.

Conclusioni

  1. Il punto di incrocio tra ricerca casuale e intelligente è determinato dal costo di valutazione, non dall'algoritmo. Abbiamo invertito la classifica di ogni metodo cambiando solo quanto costava un backtest.
  2. Valutazione economica → il Sobol stupido vince sul throughput. Sul nostro motore a singolo TF (~3-4mila cfg/s), TPE e ASHA girano 18-30 volte più lenti per lo stesso numero di valutazioni — circa 95-154 cfg/s contro circa 2.830 per Sobol. A parità di tempo reale, l'ampiezza batte un modello migliore dello spazio quando ogni punto è quasi gratuito.
  3. Valutazione costosa → i metodi intelligenti vincono sull'efficienza. Sul problema triplo-TF, sobol→cmaes è stato l'unico metodo a trovare un risultato out-of-sample positivo (+16,35% test, +2,62% holdout); il Sobol cieco è arrivato ultimo.
  4. Nel regime costoso, "intelligente" significa consapevole del costo. Il vincitore ha sfruttato il divario di 30-100 volte tra l'asse costoso degli indicatori e l'asse economico delle soglie — ha fatto più valutazioni e le ha collocate meglio, rimanendo sull'asse economico una volta fissato quello costoso.
  5. La fedeltà è la precondizione per il pruning. La correlazione di rango a fold singolo è salita da ρ@1 ≈ 0,03 (singolo TF, essenzialmente casuale) a 0,43 (multi-TF), raggiungendo 0,91 a cinque fold. Il multi-fedeltà/ASHA ripaga solo una volta che la fedeltà economica classifica come quella costosa — quindi misura ρ prima di fare pruning.
  6. Vincere la ricerca non è sopravviverle. Il campione ha superato il PBO ma ha fallito il gate del Deflated Sharpe. Scegli l'ottimizzatore in base al costo di valutazione; decidi la negoziabilità con i gate di deflazione. Sono strumenti diversi, e servono entrambi.

Scegli il tuo ottimizzatore in base a quanto costa un backtest. Poi ricorda che la migliore risposta che un ottimizzatore può trovare in uno spazio privo di edge resta comunque priva di edge — e lascia che siano i gate, non la ricerca, a dirti quale delle due stai tenendo in mano.

Disclaimer: le informazioni fornite in questo articolo hanno solo scopo didattico e informativo e non costituiscono consulenza finanziaria, di investimento o di trading. Il trading di criptovalute comporta un rischio significativo di perdita.

Autori

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Resta un Passo Avanti al Mercato

Iscriviti alla nostra newsletter per approfondimenti esclusivi sul trading con IA, analisi di mercato e aggiornamenti sulla piattaforma.

Rispettiamo la tua privacy. Annulla l'iscrizione in qualsiasi momento.