Modulo 5 — Trading algoritmico · Lezione 19 di 23 · 6 min

Introduzione al trading algoritmico: cos'è, cosa promette e cosa richiede davvero

Che cos'è il trading algoritmico, le famiglie di strategie, la pipeline dal dato all'ordine, gli strumenti, dove trovare dati storici, i limiti, gli aspetti normativi e una mappa del percorso.

Nei moduli precedenti hai imparato a descrivere il mercato con regole precise. Il trading algoritmico fa il passo successivo: scrivere quelle regole in un programma che le applica in modo identico, senza emozioni, su migliaia di casi. Non è un modo per "guadagnare di più senza fatica": è uno strumento per verificare e, se il sistema ha un vantaggio, eseguire con coerenza. Questa lezione ti dà la visione d'insieme, prima del codice.

Cos'è (e cosa non è)

Il trading algoritmico consiste nel definire regole esatte di ingresso, uscita e gestione del rischio e farle eseguire da un software. Ci sono due livelli, spesso confusi:

  • Ricerca algoritmica: usare il codice per testare ipotesi su dati storici (backtest). Molto accessibile, molto istruttivo.
  • Esecuzione algoritmica: far piazzare gli ordini in automatico su un conto (demo o reale). Richiede infrastruttura, monitoraggio e sicurezza.

Il vantaggio principale non è "guadagnare di più": è (1) la coerenza (l'algoritmo non ha paura né avidità), (2) la possibilità di testare su anni di dati in pochi minuti e (3) il controllo dei costi e del rischio. Ma l'algoritmo non crea un vantaggio dal nulla: se le regole non hanno edge, perderà in modo perfettamente coerente.

Le famiglie di strategie

FamigliaIdeaNote
Trend followingSeguire il movimento (medie mobili, breakout, momentum)Molti piccoli stop, poche grandi vincite
Mean reversionScommettere sul ritorno alla media dopo un eccessoAlta frequenza, rischio nei trend forti
Breakout di volatilitàIngressi alla rottura di un rangeFalsi breakout frequenti
Basate su struttura (SMC/ICT)Sweep, MSS, FVG, order block codificatiRichiedono definizioni oggettive (il tema di questo modulo)
Arbitraggio / market makingSfruttare inefficienze di prezzoRichiedono infrastrutture e costi che il retail non ha

La pipeline: dal dato all'ordine

  1. Dati: candele storiche pulite, con fuso orario coerente e senza buchi.
  2. Feature: indicatori e strutture (ATR, swing, FVG, sweep, sessioni).
  3. Segnali: regole che dicono "entra long/short".
  4. Backtest: simulazione con costi, gestione, stop e target.
  5. Validazione: statistiche, out-of-sample, walk-forward, Monte Carlo.
  6. Paper trading: stessa logica, dati in tempo reale, denaro virtuale.
  7. Esecuzione live con limiti di sicurezza e monitoraggio.

Ogni passo può introdurre errori. Ecco perché il modulo 4 (validazione) viene prima: senza test onesti, un algoritmo è solo un modo veloce di sbagliare.

Strumenti per iniziare

  • Python con pandas e numpy: lo standard per analisi e backtest. Puoi installarlo gratis e usare Jupyter o VS Code.
  • MetaTrader 5: piattaforma retail che permette gli Expert Advisor in MQL5 e ha una libreria Python ufficiale per leggere dati e piazzare ordini (funziona su Windows).
  • TradingView con Pine Script: ottimo per prototipare indicatori e strategie e per visualizzare i risultati.
  • Un notebook per ricerca (Jupyter) e Git per versionare il codice: le versioni contano quando cambi le regole.

Dove trovare i dati storici

  • Dati del tuo broker (esportazione da MT5): coerenti con ciò che eseguirai, ma spesso limitati nel tempo.
  • Fornitori gratuiti di candele storiche del forex (per esempio archivi pubblici di dati a livello di tick o di minuto): verifica sempre fuso orario, sessioni e buchi.
  • API con piani gratuiti per dati intraday recenti.

Qualunque sia la fonte, controlla: fuso orario, gap del weekend, candele mancanti, duplicati, qualità dei prezzi (i dati bid vs. ask cambiano lo spread implicito). Un errore nei dati genera risultati inutili.

Un primo esempio: la pipeline in miniatura

Un esempio minimo con pandas, giusto per vedere il flusso (una semplice media mobile, non una strategia consigliata):

import pandas as pd

df = pd.read_csv("eurusd_h1.csv", parse_dates=["time"]).set_index("time")
df["ema_fast"] = df["close"].ewm(span=20, adjust=False).mean()
df["ema_slow"] = df["close"].ewm(span=50, adjust=False).mean()

# Segnale: 1 se la media veloce è sopra la lenta, 0 altrimenti.
# Si usa il valore della candela PRECEDENTE (shift) per non guardare il futuro.
df["signal"] = (df["ema_fast"] > df["ema_slow"]).astype(int).shift(1)

# Rendimento della candela se si è in posizione (prima dei costi)
df["ret"] = df["close"].pct_change() * df["signal"]
print(df["ret"].sum())

Nota il dettaglio shift(1): il segnale calcolato alla chiusura della candela t può essere usato solo dalla candela t+1. Dimenticarlo è l'errore più frequente e produce backtest "fantastici" e falsi.

I limiti e i rischi

  • Un algoritmo scritto male perde in modo coerente. Un bug che apre posizioni ripetute può distruggere un conto in pochi minuti.
  • Il backtest illude: overfitting, look-ahead e costi sottostimati sono i rischi principali.
  • I mercati cambiano: regole che funzionavano possono smettere.
  • Serve manutenzione: dati, connessioni, aggiornamenti del broker.
  • Il vantaggio retail è piccolo: non aspettarti rendimenti spettacolari.

Aspetti normativi (in breve)

Automatizzare il proprio conto è libero. Se in futuro volessi vendere un algoritmo, offrire segnali a pagamento, gestire denaro altrui o fornire consulenza, possono valere obblighi di autorizzazione (per esempio in UE e Regno Unito): informati con un professionista prima. Verifica anche le condizioni del tuo broker sul trading automatico e le regole fiscali del tuo paese.

Una mappa del percorso

  1. Impara le basi di Python e pandas (una settimana di pratica).
  2. Codifica le feature (ATR, swing, FVG, sweep): lezione 3 di questo modulo.
  3. Costruisci il backtest con costi e statistiche: lezione 4.
  4. Valida (out-of-sample, walk-forward, Monte Carlo).
  5. Paper trading per settimane.
  6. Live con size minima e limiti di sicurezza: lezione 5.

In sintesi

  • Il trading algoritmico serve a testare e a eseguire regole con coerenza, non a creare un vantaggio dal nulla.
  • Pipeline: dati → feature → segnali → backtest → validazione → paper → live.
  • Python (pandas/numpy) per la ricerca; MT5/MQL5 per l'esecuzione; TradingView/Pine per prototipi.
  • Cura i dati (fuso orario, buchi) e usa sempre lo shift per evitare il look-ahead.
  • I rischi principali: bug, overfitting, costi sottostimati, cambi di regime; verifica gli aspetti normativi.

Esercizio pratico

  1. Installa Python e pandas e carica un file di candele in un notebook.
  2. Calcola l'ATR a 14 periodi e traccia un grafico.
  3. Riproduci l'esempio della media mobile con e senza shift(1): confronta i risultati e spiega la differenza.

Metti alla prova quello che hai imparato

1. Qual è il vantaggio principale di un algoritmo?

2. Perché si usa shift(1) nei segnali?

3. Cosa controlli nei dati storici?

4. Quando possono servire autorizzazioni?

Hai una domanda o vuoi condividere il tuo esercizio?

Scrivi nella community, oppure entra nella sala segnali gratuita su Telegram.

Contenuto educativo, non è consulenza finanziaria. Il trading comporta rischi. ICT è un termine riferito ai materiali di Michael Huddleston: questo corso è indipendente e non affiliato.