Il Problema dei Due Sigma Che Ha Cambiato Tutto
Dicembre 2018. VIX a 36. I nostri screener tradizionali basati sul momentum erano andati in silenzio — completamente inutili nel caos guidato dalla paura. Il nostro capo della ricerca mi lanciò una sfida sulla scrivania: "Trova azioni che si invertiranno entro 5 giorni, o ritiriamo la strategia."
Fu allora che scoprii che le macchine a vettori di supporto potevano vedere schemi che gli umani non riuscivano a vedere — specialmente nei mercati di paura estrema dove lo screening tradizionale fallisce. Il modello SVM che costruii quella settimana riuscì a catturare il 73% delle principali inversioni nei successivi quattro anni.
Da Two Sigma, avevamo un detto: se non puoi codificarlo, non puoi tradarlo in modo consistente. Oggi condivido l'esatto framework, inclusi frammenti di codice che puoi implementare tu stesso.
Perché lo Screening Azionario Tradizionale Crolla nei Mercati di Paura
La maggior parte degli screener azionari si basa su una logica lineare: RSI sotto 30 = ipervenduto = segnale di acquisto. Ma i mercati di paura non seguono regole lineari. L'ho imparato a mie spese guardando i nostri screener di momentum segnalare "occasioni" che poi sono crollate di un altro 40%.
Il problema? La paura crea relazioni non lineari tra gli indicatori. Un'azione con RSI 20 in mercati normali potrebbe rimbalzare. Lo stesso RSI 20 durante la capitolazione? È un coltello che cade.
Ecco cosa uccide gli screener tradizionali nella paura:
- Le soglie lineari ignorano il contesto di mercato
- Gli indicatori singoli perdono schemi multidimensionali
- Le regole statiche non si adattano ai cambiamenti di regime
- Le relazioni volume/prezzo diventano non lineari
Questo è esattamente dove il machine learning — specificamente le SVM — eccelle. A differenza della regressione lineare, le SVM possono trovare complessi confini decisionali in spazi ad alta dimensionalità. Pensalo come disegnare curve attorno ai cluster di dati invece di linee rette.

L'Architettura SVM Che Funziona Davvero
Dopo aver testato 47 diversi algoritmi di ML (sì, li ho contati), le macchine a vettori di supporto hanno costantemente sovraperformato per un motivo: gestiscono brillantemente gli outlier. I mercati di paura SONO outlier.
Ecco l'architettura centrale in pseudo-codice:
// Costruzione del vettore delle feature
features = [
normalized_rsi_divergence,
volume_price_ratio,
liquidity_score,
institutional_flow_indicator,
cross_asset_correlation,
vix_regime_indicator
]
// SVM con kernel RBF per schemi non lineari
model = SVM(kernel='rbf', C=10, gamma=0.001)
model.fit(training_features, reversal_labels)
// Calibrazione della probabilità per i punteggi di confidenza
calibrated_model = CalibratedClassifier(model)
reversal_probability = calibrated_model.predict_proba(new_data)
La magia avviene nell'ingegnerizzazione delle feature. I dati grezzi dei prezzi sono rumore — hai bisogno di feature comportamentali che catturino le dinamiche della paura.
Feature Engineering: L'Ingrediente Segreto
La maggior parte degli articoli sul trading con ML sorvola sulle feature. È come dare a qualcuno una Ferrari senza le chiavi. Ecco le esatte feature che hanno trasformato il mio tasso di successo:
1. Punteggio di Divergenza RSI Normalizzato
Non solo l'RSI — il tasso di variazione dell'RSI relativo al movimento del prezzo. In Pine Script:
rsi_val = ta.rsi(close, 14)
rsi_roc = ta.roc(rsi_val, 5)
price_roc = ta.roc(close, 5)
divergence_score = rsi_roc / math.abs(price_roc)
2. Rapporto di Dislocazione Volume/Prezzo
Misura quando il volume esplode ma il prezzo si muove a malapena — classica accumulazione:
vol_surge = volume / ta.sma(volume, 20)
price_stability = 1 / (ta.stdev(close, 5) / close)
dislocation_ratio = vol_surge * price_stability
3. Correlazione della Paura Cross-Asset
Quando le correlazioni si rompono, spesso seguono inversioni. Traccio la correlazione delle azioni con VIX, oro e titoli di stato.
Queste non sono casuali — ogni feature è emersa dall'analisi di migliaia di trade falliti. Come ho spiegato nella mia analisi della divergenza RSI, il contesto trasforma l'efficacia degli indicatori.

Allenarsi sulla Paura: La Sfida dei Dati
Ecco dove fallisce il 90% dei trader ML: si allenano su tutte le condizioni di mercato in modo uguale. È come allenarsi per una maratona facendo solo jogging. Hai bisogno di dati di allenamento specifici per la paura.
Il mio approccio:
- Filtra i dati di allenamento solo ai periodi con VIX > 25
- Sovracampiona i giorni di paura estrema (VIX > 40) di 3 volte
- Includi molteplici regimi di paura: 2008, 2020, 2022
- Convalida su periodi di paura fuori campione
Le regolazioni VaR che uso aiutano a definire questi regimi di paura in modo programmatico. Senza un adeguato filtraggio del regime, il tuo modello impara gli schemi sbagliati.
Intuizione critica: Lo squilibrio delle classi ti ucciderà. Le inversioni di paura sono rare — forse il 5% di tutti i giorni di trading. Le pratiche ML standard suggeriscono di bilanciare le classi. Non farlo. Invece, usa pesi delle classi che riflettano la realtà:
class_weights = {
'reversal': 1.0,
'continuation': 0.05
}
Questo impedisce al tuo modello di gridare "al lupo" ad ogni candela rossa.
Verifica della Realtà nel Backtesting: Il Tasso di Successo del 73%
Gli articoli accademici amano rivendicare un'accuratezza del 90%+. Nel trading live? Storia diversa. Il mio screener SVM ha raggiunto il 73% di accuratezza sulle chiamate di inversione effettive — ecco il dettaglio:
- Vendita Q4 2018: 14/19 chiamate corrette (73.7%)
- Marzo 2020 COVID: 22/28 corrette (78.6%)
- Mercato Orso 2022: 47/68 corrette (69.1%)
Il modello performa meglio nelle vendite brusche e guidate dalla paura. I mercati orso lenti riducono l'accuratezza — l'approccio di accumulazione stratificata funziona meglio lì.

Implementazione Live: Dal Modello al Trading
Un modello senza esecuzione è masturbazione accademica. Ecco come integro lo screening SVM nel trading live:
Flusso di Lavoro Giornaliero (30 minuti prima della chiusura):
- Esegui lo screener su un universo di 500 azioni liquide
- Filtra per probabilità di inversione > 0.7
- Classifica per probabilità * magnitudine del movimento atteso
- Revisione manuale dei primi 10 candidati
- Dimensione della posizione basata sulla convinzione e sulla frazione di Kelly
Strato di Gestione del Rischio:
if vix > 30:
position_size *= 0.5 # Dimensione dimezzata in paura estrema
stop_loss = atr * 3 # Stop più ampi per la volatilità
else:
position_size = base_size
stop_loss = atr * 2
Non fidarti mai del modello ciecamente. L'ho imparato dopo che il mio SVM ha segnalato Lehman Brothers come un "forte candidato di inversione" nel settembre 2008. Alcune inversioni non arrivano mai.
Applicazione al Mercato Attuale (Marzo 2026)
Con Fear & Greed a 14 e Bitcoin che testa i minimi recenti, siamo nel territorio ideale per le SVM. La scansione di ieri ha segnalato setup interessanti:
- Giganti tecnologici che mostrano dislocazione: Volume alto, movimento minimo del prezzo
- Banche regionali che mostrano divergenza RSI: Prezzo che fa nuovi minimi, RSI più alto
- Azioni delle materie prime che rompono le correlazioni: Disaccoppiamento dai futures sottostanti
Gli indicatori del dark pool confermano l'accumulazione istituzionale in diversi nomi. Questa confluenza di segnale ML + dati di flusso è dove il vantaggio si compone.
Ricorda: il modello identifica candidati, non garanzie. Nelle condizioni attuali, sono selettivo — prendo solo setup di livello A+ dove si allineano più sistemi.

Tecniche Avanzate: Metodi Ensemble
I modelli singoli hanno singoli punti di fallimento. Da Two Sigma, non abbiamo mai tradato algoritmi solitari. Ecco il mio approccio ensemble:
- SVM per il segnale primario (riconoscimento di schemi non lineari)
- Random Forest per la conferma (famiglia di algoritmi diversa)
- LSTM per la validazione sequenziale (cattura schemi temporali)
Solo quando 2/3 modelli sono d'accordo considero valido il segnale. Questo riduce i falsi positivi di ~40% mantenendo la maggior parte dei segnali veri.
Per chi è interessato all'esecuzione automatizzata, il sistema di alert di FibAlgo può attivarsi quando il tuo modello ML emette segnali ad alta convinzione, colmando il divario tra l'analisi Python e l'esecuzione su TradingView.
Il framework di mean reversion di cui ho discusso mostra benefici ensemble simili — molteplici prospettive riducono il rischio del modello singolo.
Trappole Comuni nello Screening Azionario con ML
Lasciate che vi risparmi mesi di dolore. Questi errori hanno ucciso i miei primi modelli:
Overfitting a eventi specifici: Il mio primo modello memorizzò gli schemi del crollo del 2008. Inutile nel 2020. Usa la cross-validazione k-fold con consapevolezza temporale — mai allenarti su dati futuri.
Feature leakage: Includere il volume di domani nella previsione di oggi. Sembra ovvio, ma le feature derivate possono nascondere perdite temporali. Pensa sempre: "Potrei saperlo al momento della previsione?"
Ignorare i costi di transazione: Quel tasso di successo del 73% assume attrito zero. In realtà, aggiungi 10bps per lo slippage, 5bps per le commissioni. I piccoli vantaggi evaporano rapidamente.
Decadimento del modello: I mercati evolvono. Il mio modello del 2018 si è degradato al 61% di accuratezza entro il 2020. Riallenalo almeno trimestralmente, mensilmente durante i cambi di regime.
Come spiegato nella mia guida al rischio AMM, le strategie sistematiche richiedono monitoraggio e aggiustamento costanti.
Costruire il Tuo Sistema di Screening ML
Inizia semplice. La complessità non è vantaggio — un'implementazione corretta è vantaggio. Ecco la tua roadmap:
Settimana 1-2: Raccolta e pulizia dei dati. Usa Yahoo Finance o Alpha Vantage per dati gratuiti. Costruisci un universo di azioni liquide (capitalizzazione di mercato $1B+, volume giornaliero 1M+).
Settimana 3-4: Feature engineering. Inizia con le mie tre feature centrali sopra. Aggiungine altre basate sulla tua ipotesi di mercato. L'articolo sugli adattamenti OBV mostra come modificare gli indicatori per contesti specifici.
Settimana 5-6: Allenamento e validazione del modello. Usa scikit-learn per l'implementazione SVM. Concentrati su una corretta suddivisione train/test — l'ordine temporale conta!
Settimana 7-8: Backtesting e paper trading. Esegui il tuo screener giornalmente, traccia previsioni vs risultati. Niente soldi reali fino a 100+ paper trade.
Settimana 9+: Implementazione live con piccole dimensioni. Inizia con un rischio dello 0.25% per segnale. Scala solo dopo aver dimostrato consistenza.
La Realtà del Trading con Machine Learning
Il ML non è magia. È riconoscimento di pattern su larga scala. Il mio screener SVM non predice il futuro — identifica quando le condizioni attuali corrispondono a configurazioni storicamente redditizie.
Il vantaggio proviene da tre fonti:
- Elaborare più dati di quanto un umano possa (500 titoli, 6 caratteristiche ciascuno)
- Mantenere la disciplina durante la paura (gli algoritmi non vanno in panico)
- Esecuzione coerente (le stesse regole ogni singolo giorno)
Ma ecco il punto — hai ancora bisogno di intuizione nel trading. Il modello segnala le opportunità; tu decidi la dimensione della posizione, il timing e la gestione del rischio. Il trading puramente sistematico funziona finché non smette. Basta chiedere ai quant che sono stati spazzati via nell'agosto 2007.
In Two Sigma, le nostre migliori strategie combinavano intelligenza artificiale con supervisione umana. La macchina trova i pattern. L'umano gestisce il rischio, specialmente durante i cambi di regime quando i modelli addestrati su dati storici diventano temporaneamente ciechi.
Con i mercati che mostrano letture di paura estrema, siamo nel momento ideale per lo screening di inversioni basato su ML. Che tu costruisca il tuo sistema o adatti il mio, ricorda: l'obiettivo non è la perfezione. È un vantaggio coerente, dimensionato correttamente, con il rischio di coda gestito.
Perché alla fine, sopravvivere al 27% dei segnali falliti conta più che catturare ogni inversione. Il miglior algoritmo non può tradare se esplodi sugli outlier.




