
Introduzione al machine learning per i mercati finanziari
Supervised, unsupervised e reinforcement learning per il trading
Il backtest che ha guadagnato $0 nel mondo reale
Nel 2018, un team di quant ha mostrato al proprio fondo un modello che trasformava $100,000 in $4.2 million in un backtest. La curva di equity era una linea quasi perfetta a 45 gradi. Lo Sharpe ratio era 4.0 — migliore di quasi qualsiasi hedge fund nella storia. Lo hanno messo in produzione con soldi reali.
Ha perso soldi nella prima settimana, poi ha continuato a dissanguarsi per tre mesi prima che lo chiudessero. Il modello che «aveva guadagnato» $4.2 million sulla carta non ha guadagnato nulla nella realtà. Non era stato falsificato nulla — nessuna frode, nessun bug. Il modello aveva semplicemente memorizzato il passato invece di imparare qualcosa sul futuro.
Questa storia si ripete così spesso che ha un nome: overfitting del backtest, ed è la singola ragione più grande per cui i fondi basati su machine learning falliscono. Marcos López de Prado — che ha gestito miliardi in strategie guidate da ML — l'ha detto senza mezzi termini: con abbastanza tentativi, chiunque può produrre un bellissimo backtest su puro rumore. Al mercato non importa quanto elegante sia la tua rete neurale.
Il machine learning sta davvero trasformando il modo in cui i mercati vengono scambiati. Ma il divario tra un modello che sembra brillante e uno che sopravvive al contatto con i mercati reali è enorme — e imparare a distinguerli è tutta la partita. Questa lezione ti insegna entrambe le cose: come costruire sistemi ML che trovano vantaggi reali, e come evitare le trappole che distruggono chi salta la seconda metà.
Cos'è il machine learning — e perché i mercati sono il caso più difficile
Il machine learning è la scienza di far imparare ai computer pattern dai dati senza essere programmati esplicitamente per ogni scenario. Invece di scrivere una regola come «compra quando l'RSI scende sotto 30», dai in pasto all'algoritmo migliaia di esempi storici e lo lasci scoprire quali pattern precedono trade profittevoli. La macchina generalizza dall'esperienza — esattamente come un trader esperto sviluppa intuizione, ma su più dati di quanti un umano possa tenere in testa.
I mercati finanziari generano volumi impressionanti di dati: tick di prezzo, snapshot dell'order book, funding rate, flussi on-chain, punteggi di sentiment, pubblicazioni macro. Le strategie tradizionali basate su regole catturano solo le relazioni che il loro creatore ha già immaginato. I modelli ML possono rilevare interazioni non lineari e ad alta dimensionalità tra centinaia di feature contemporaneamente — relazioni che un analista umano non penserebbe mai di testare.
Ma i mercati sono l'ambiente più ostile in tutto il ML applicato, e vale la pena essere onesti sul perché. La maggior parte delle svolte del ML — riconoscimento di immagini, modelli linguistici — funzionano perché le regole sottostanti non cambiano. Un gatto assomiglia a un gatto sia che la foto sia stata scattata nel 2010 sia nel 2026. I mercati sono l'opposto:
- I dati non sono stazionari. Le «regole» statistiche del mercato cambiano continuamente man mano che i regimi cambiano. Un modello addestrato su un bull market tranquillo può diventare attivamente pericoloso in un crash.
- Il rapporto segnale/rumore è brutale. Nel riconoscimento di immagini, quasi ogni pixel porta informazione. Nei rendimenti, la grande maggioranza del movimento di prezzo è rumore. Stai scavando per un segnale debole in un mare rumoroso di casualità.
- Stai competendo contro avversari adattivi. Un gatto non cambia il suo aspetto per ingannare il tuo classificatore. Nel momento in cui un vero vantaggio di mercato diventa popolare, altri trader lo arbitraggiano via. Il successo del tuo modello erode silenziosamente il suo stesso vantaggio.
La buona notizia: la barriera non è più l'accesso ai dati o alla potenza di calcolo. Piattaforme come GaiaEx forniscono accesso API a dati di mercato in tempo reale e storici su Hyperliquid L1, quindi qualsiasi sviluppatore può raccogliere i dataset che il ML richiede. La barriera che resta è la conoscenza — che è esattamente ciò che questa lezione fornisce.
Tre paradigmi: supervised, unsupervised e reinforcement learning
Il machine learning non è una singola tecnica — è una famiglia di approcci, ognuno adatto a problemi diversi. In finanza, tutti e tre i principali paradigmi hanno applicazioni reali.
Il supervised learning è il cavallo di battaglia. Dai al modello esempi etichettati: vettori di feature storici (input) associati a esiti noti (target), e il modello imparerà una mappatura dall'uno all'altro. Due sottotipi dominano l'uso finanziario:
- Classification — predire una categoria. L'asset salirà o scenderà nella prossima ora? Questa transazione è fraudolenta? L'output è un'etichetta discreta, di solito con una probabilità associata.
- Regression — predire un valore continuo. Quale sarà il rendimento a 1 ora? Qual è il funding rate equo? L'output è un numero, e il modello minimizza l'errore di predizione.
L'unsupervised learning trova struttura nei dati senza etichette. Algoritmi di clustering come K-Means possono raggruppare i giorni di trading in regimi di mercato — trend, mean-reverting, alta volatilità — senza che tu definisca quei regimi in anticipo. La riduzione della dimensionalità come la PCA comprime centinaia di feature correlate in una manciata di fattori indipendenti, il che conta quando il tuo insieme di feature è più ampio di quanto sia profondo il tuo campione.
Il reinforcement learning (RL) addestra un agente a prendere una sequenza di decisioni massimizzando la ricompensa cumulata. L'agente interagisce con un ambiente (il mercato), compie azioni (compra, vendi, mantieni) e riceve feedback (profitto o perdita). L'RL è attraente per l'allocazione di portafoglio e l'esecuzione degli ordini, dove la migliore azione dipende dalla tua posizione attuale, dai costi di transazione e dall'impatto sul mercato. Gli agenti di DeepMind capaci di giocare hanno inspirato un'ondata di ricerca RL in finanza — ma i risultati pratici restano contrastanti, precisamente perché i mercati sono non stazionari e il «gioco» continua a cambiare le sue regole a metà partita.
Feature engineering: trasformare dati grezzi in segnali predittivi
Nel machine learning, le feature sono le variabili di input che il modello usa per fare predizioni. I dati OHLCV grezzi sono un punto di partenza, ma dare in pasto prezzi grezzi a un modello è come dare a un chef grano crudo invece della farina — devi prima lavorarlo. Il feature engineering è dove l'esperienza di settore incontra la data science, ed è molto più spesso la differenza tra un modello funzionante e uno inutile di quanto lo sia la scelta dell'algoritmo.
Le categorie di feature comuni per il ML finanziario includono:
- Indicatori tecnici — RSI, MACD, larghezza delle Bande di Bollinger, ATR, ADX. Questi codificano momentum, volatilità e forza del trend come input standardizzati e invarianti di scala.
- Lag feature — rendimenti passati su più orizzonti (1 barra, 5 barre, 20 barre, 60 barre), che catturano momentum e mean reversion su scale temporali diverse.
- Misure di volatilità — deviazione standard mobile, volatilità di Parkinson (da massimo/minimo), lo stimatore di Garman-Klass. Il clustering della volatilità è uno dei fatti stilizzati più affidabili in tutta la finanza.
- Feature di volume — rapporto di volume (attuale vs. medio), on-balance volume, correlazione volume-prezzo. Un volume inusuale precede spesso i movimenti di prezzo.
- Feature cross-asset — il rendimento di BTC come input per predire ETH. Le correlazioni che cambiano tra asset spesso segnalano cambi di regime prima che lo faccia il prezzo.
Ecco un esempio pratico di feature engineering in Python:
import pandas as pd
import numpy as np
def engineer_features(df: pd.DataFrame) -> pd.DataFrame:
df["return_1h"] = df["close"].pct_change(1)
df["return_4h"] = df["close"].pct_change(4)
df["return_24h"] = df["close"].pct_change(24)
df["volatility_24h"] = df["return_1h"].rolling(24).std()
df["rsi_14"] = compute_rsi(df["close"], 14)
df["volume_ratio"] = df["volume"] / df["volume"].rolling(24).mean()
df["atr_14"] = compute_atr(df, 14)
return df.dropna()
Due regole non sono negoziabili. Primo, non usare mai dati futuri — ogni feature deve essere calcolabile dalle informazioni disponibili nel momento della predizione. Il modo più comune di «scoprire» una strategia profittevole è lasciare accidentalmente che il numero di domani filtri nelle feature di oggi. Secondo, normalizza i tuoi input; la maggior parte dei modelli ML si blocca quando le feature abbracciano scale enormemente diverse (un prezzo di 60,000 accanto a un RSI di 30).
La sezione più importante: validare su serie temporali
Se ricordi una sola cosa di questa intera lezione, sia questa: la validazione ML standard è catastroficamente sbagliata per i mercati finanziari.
Nel machine learning normale, mescoli i tuoi dati in modo casuale e li dividi in set di training e test. Fai questo con dati di prezzo di serie temporali e hai appena lasciato che il modello si addestri sul futuro per predire il passato. La tua accuratezza sembrerà spettacolare. Il tuo trading live sarà un massacro. Questo singolo errore — noto come look-ahead bias — è responsabile di più strategie quant esplose che qualsiasi crollo di mercato. L'approccio corretto rispetta sempre la freccia del tempo:
Divisione cronologica train/validation/test. Dividi i dati per data: addestra su 2020–2022, valida su 2023, testa su 2024. Il set di test viene toccato esattamente una volta — è la tua simulazione del trading live. Nel momento in cui regoli gli hyperparameter contro di esso, smette di essere un set di test e hai perso qualsiasi stima onesta della performance out-of-sample.
La validazione walk-forward (finestra espansiva o scorrevole) è più robusta. Addestra sui mesi 1–12, predici il mese 13. Poi addestra sui mesi 1–13 (o 2–13), predici il mese 14. Ripeti. Questo genera molte predizioni out-of-sample, ciascuna su dati che il modello non ha mai visto, adattandosi al contempo a condizioni in evoluzione — riflette come la strategia verrebbe effettivamente messa in produzione e ri-addestrata.
La purged cross-validation (introdotta da Marcos López de Prado) aggiunge un divario (gap) tra i fold di training e test per impedire che l'informazione filtri attraverso etichette sovrapposte. Se il tuo target è il rendimento a termine di 24 ore, le osservazioni vicine a un confine di fold condividono informazione; il gap di purge rimuove quella contaminazione. Un periodo aggiuntivo di «embargo» dopo il fold di test protegge contro la correlazione seriale che rifluisce nel training.
Infine, giudica il modello su metriche che contano per il denaro, non per i libri di testo. La sola accuratezza è ingannevole. Un modello accurato al 51% ma corretto sui grandi movimenti può essere enormemente profittevole; un modello accurato al 70% che colpisce solo i piccoli movimenti può perdere denaro dopo le commissioni. Monitora la precision sulle tue previsioni direzionali, lo Sharpe ratio della strategia risultante e il drawdown massimo — sempre al netto di costi di transazione e slippage realistici.
Random forest, gradient boosting e come scegliere il modello giusto
Per dati finanziari tabulari — il tipo che ottieni da candele OHLCV, indicatori tecnici e feature progettate — i modelli ensemble basati su albero sovraperformano costantemente le reti neurali profonde. Non è un'opinione; è un risultato empirico ben stabilito (vedi Grinsztajn et al., 2022, «Why do tree-based models still outperform deep learning on tabular data?»). Per immagini e linguaggio, il deep learning domina. Per una tabella di feature, gli alberi vincono.
I random forest costruiscono centinaia di alberi decisionali, ciascuno addestrato su un sottoinsieme casuale di righe e feature, poi mediano le loro predizioni. Questa media riduce la varianza e l'overfitting. Sono robusti, richiedono un tuning minimo, e forniscono una classifica integrata dell'importanza delle feature — inestimabile per capire cosa sta effettivamente guidando il tuo modello.
Il gradient boosting (XGBoost, LightGBM, CatBoost) costruisce alberi in sequenza, ciascuno correggendo gli errori dell'ensemble fino a quel punto. Questo di solito batte i random forest in accuratezza ma richiede un tuning più attento. LightGBM è la scelta predefinita per la maggior parte dei praticanti di ML finanziario: training veloce, gestione nativa dei valori mancanti, e scala comodamente a milioni di righe.
import lightgbm as lgb
from sklearn.model_selection import TimeSeriesSplit
model = lgb.LGBMClassifier(
n_estimators=500,
max_depth=6,
learning_rate=0.05,
subsample=0.8,
colsample_bytree=0.8,
min_child_samples=50,
)
tscv = TimeSeriesSplit(n_splits=5)
for train_idx, val_idx in tscv.split(X):
model.fit(X.iloc[train_idx], y.iloc[train_idx],
eval_set=[(X.iloc[val_idx], y.iloc[val_idx])])
Il deep learning ha ancora il suo posto — ma uno stretto. Gli LSTM e i Transformer possono realmente aggiungere valore su dati sequenziali grezzi: order flow tick-by-tick, oppure fondere il prezzo con il testo di notizie e sentiment sui social media, dove l'ordinamento e il contesto portano informazione che le tabelle piatte scartano. Semplicemente non ricorrervi per default. Per dati strutturati con feature progettate, un LightGBM ben tunato addestrato su dati estratti dall'API di GaiaEx batterà quasi sempre una rete neurale — e si addestra in secondi invece che ore.
Dove il ML guadagna davvero il suo mantenimento nel crypto
La predizione del prezzo attira tutta l'attenzione, ma è l'uso più difficile e meno affidabile del ML nei mercati. Alcune delle applicazioni più preziose non hanno nulla a che fare con la previsione della prossima candela:
- Rilevazione del regime di mercato. Il clustering unsupervised ordina le condizioni di mercato in regimi — trending tranquillo, mean-reverting agitato, panico ad alta volatilità. Sapere in quale regime ti trovi ti permette di cambiare strategia o ridurre la dimensione, il che spesso vale più di qualsiasi singola predizione direzionale.
- Analisi del sentiment. I large language model leggono notizie, X/Twitter e Discord a una scala che nessun umano può raggiungere, valutando gli spostamenti nell'umore del mercato. La ricerca mostra costantemente che fondere un segnale di sentiment con i dati di prezzo migliora l'accuratezza della predizione crypto rispetto al solo prezzo — il sentiment muove il crypto in modo insolitamente forte.
- Rilevazione di frodi e manipolazione. Qui il ML brilla silenziosamente. I modelli segnalano wash trading, spoofing e classici schemi di pump-and-dump individuando pattern anomali di volume e order book che precedono un dump coordinato. I modelli di anomaly detection (LSTM, Anomaly Transformer) battono qui in modo affidabile sia il ML classico che le semplici soglie statistiche.
- Modellazione dell'esecuzione e dello slippage. Il ML predice l'impatto di mercato di un ordine grande, aiutando gli algoritmi di esecuzione a suddividerlo per minimizzare il costo. Su una piattaforma 24/7 come il crypto, dove un ordine maldestro può muovere il book contro di te, questo protegge direttamente il tuo risultato netto.
- Gestione del rischio e delle liquidazioni. I modelli stimano la probabilità che una posizione superi una soglia di rischio data la volatilità attuale, aiutando a dimensionare le posizioni e impostare gli stop prima di una cascata piuttosto che dopo.
Perché la maggior parte delle strategie ML fallisce — e cosa ti insegna
Un'educazione onesta significa nominare come tutto questo va storto, perché di solito accade. Queste trappole hanno distrutto più strategie quant di tutti i bear market messi insieme:
- Overfitting. Il modello memorizza i dati di training invece di imparare qualcosa di generalizzabile. La cura è la disciplina, non l'astuzia: modelli più semplici, meno feature, regularization e test out-of-sample spietati. Se il tuo backtest sembra troppo bello per essere vero, lo è.
- Look-ahead bias. Usare informazioni che non erano disponibili al momento della decisione — calcolare feature sull'intero dataset prima di dividerlo, usare prezzi che sono stati rivisti a posteriori, o (più comune di quanto chiunque ammetta) lasciare la variabile target nell'insieme di feature.
- Survivorship bias. Addestrare solo su asset che esistono ancora oggi. I token delistati, i progetti «ruggiti» (rugged) e le coin morte sono silenziosamente assenti dal tuo dataset, il che polarizza ogni risultato verso l'alto. Nel crypto questo è severo — migliaia di token sono andati a zero.
- Non stazionarietà. Le distribuzioni di mercato cambiano. Un modello addestrato su un bull market del 2021 fallisce in un bear market del 2022 perché le regole che ha imparato non valgono più. Devi ri-addestrare regolarmente e monitorare la deriva della distribuzione, non «impostare e dimenticare».
- La trappola dei test multipli. Provi 1,000 varianti di strategia e alcune sembreranno brillanti per puro caso. È così che accade quel backtest da «$4.2 million». Strumenti come il Deflated Sharpe Ratio esistono specificamente per scontare la performance che hai trovato solo cercando abbastanza a fondo.
- Il divario ricerca-produzione. I backtest assumono esecuzioni istantanee e senza attrito. I mercati live impongono slippage, commissioni, latenza e impatto di mercato che regolarmente tagliano il 30–70% dai rendimenti teorici — e possono trasformare una strategia «profittevole» in negativa.
C'è un punto più profondo nascosto in questa lista. I mercati sono un sistema adattivo e avversariale — ogni vero vantaggio attira concorrenti che lo arbitraggiano via. Un modello che vince per un anno può smettere di funzionare nel mese in cui diventa affollato, senza colpa del suo codice. Ecco perché le operazioni quant di successo non cercano un modello perfetto; costruiscono una pipeline per continuare a trovare, validare e ritirare vantaggi mentre il mercato evolve.
Costruire su GaiaEx: il tuo primo progetto end-to-end
Ogni competenza quant di cui hai letto dipende prima di tutto da una cosa: dati puliti e affidabili. Qui è dove GaiaEx si inserisce nel tuo workflow ML. Poiché i trade vengono eseguiti su Hyperliquid L1, ogni esecuzione, funding rate e cambiamento dell'order book viene registrato on-chain ed esposto tramite l'API di GaiaEx — dandoti dati trasparenti, granulari, in tempo reale e storici senza le lacune e le revisioni silenziose che affliggono molti feed di dati centralizzati.
Perché i dati on-chain contano per il ML: un modello è onesto solo quanto i suoi input. Quando i tuoi dati di training provengono da un L1 trasparente piuttosto che da un database interno a scatola nera, puoi fidarti che i prezzi e i volumi da cui stai imparando sono i prezzi e i volumi effettivamente scambiati. Questo rimuove un'intera categoria di bug sottili di integrità dei dati prima che raggiungano le tue feature.
Il tuo primo progetto dovrebbe essere deliberatamente semplice. L'obiettivo non è battere il mercato al primo tentativo — è costruire una pipeline completa e priva di leakage su cui poter iterare. Ecco una roadmap concreta:
- Raccogli dati di candele a 1 ora per BTC/USDC dall'API di GaiaEx — almeno 6 mesi.
- Progetta 10–15 feature: rendimenti ritardati, RSI, ATR, rapporto di volume, larghezza delle Bande di Bollinger.
- Etichetta ogni barra: 1 se il rendimento a 4 ore successivo è positivo, 0 altrimenti.
- Addestra un classificatore LightGBM usando la validazione walk-forward — mai una divisione casuale.
- Valuta precision, recall e lo Sharpe ratio di una semplice strategia che va long quando il modello predice 1, dopo aver sottratto commissioni realistiche.
Poi — e questa è la parte che i principianti saltano — provaci a romperlo. Aggiungi un gap di purge e vedi se il tuo vantaggio sopravvive. Controlla se qualche feature sta segretamente facendo filtrare il futuro. Testalo su una finestra temporale diversa. Se il vantaggio evapora sotto scrutinio, hai imparato qualcosa di genuinamente prezioso: che non era mai stato reale, e l'hai scoperto gratis invece che con il tuo capitale.


