4 Maggio 2021 2:50

Utilizzo di algoritmi genetici per prevedere i mercati finanziari

In “A Random Walk Down Wall Street” (1973), Burton Malkiel suggerì: “Una scimmia bendata che lancia freccette alle pagine finanziarie di un giornale potrebbe selezionare un portafoglio che andrebbe bene come quello accuratamente selezionato dagli esperti”. Sebbene l’evoluzione possa aver reso l’uomo non più intelligente nel raccogliere azioni, la teoria di Charles Darwin si è dimostrata efficace se applicata in modo più diretto.

Gli algoritmi genetici sono modi unici per risolvere problemi complessi sfruttando il potere della natura. Applicando questi metodi alla previsione dei prezzi dei titoli, i trader possono ottimizzare le regole di trading identificando i valori migliori da utilizzare per ogni parametro per un dato titolo.

Punti chiave

  • Complessi algoritmi informatici basati su regole di genetica e teoria evolutiva hanno visto alcuni recenti successi nel commercio di titoli.
  • Applicando questi metodi alla previsione dei prezzi dei titoli, i trader possono ottimizzare le regole di trading e creare nuove strategie.
  • I singoli trader possono sfruttare la potenza degli algoritmi genetici utilizzando diversi pacchetti software sul mercato.

Cosa sono gli algoritmi genetici?

Gli algoritmi genetici (GA) sono metodi di risoluzione dei problemi (o euristica) che imitano il processo di evoluzione naturale. A differenza delle reti neurali artificiali (ANN), progettate per funzionare come neuroni nel cervello, questi algoritmi utilizzano i concetti di selezione naturale per determinare la migliore soluzione per un problema.

Di conseguenza, le GA sono comunemente utilizzate come ottimizzatori che regolano i parametri per ridurre al minimo o massimizzare alcune misure di feedback, che possono quindi essere utilizzate indipendentemente o nella costruzione di una ANN. (Per ulteriori informazioni sulle ANN, vedere: Reti neurali: previsione dei profitti.)

Nei mercati finanziari, gli algoritmi genetici sono più comunemente utilizzati per trovare i migliori valori di combinazione dei parametri in una regola di trading e possono essere incorporati in modelli ANN progettati per selezionare azioni e identificare operazioni.

Diversi studi hanno dimostrato l’efficacia di questi metodi, tra cui ” Genetic Algorithms: Genesis of Stock Evaluation ” (2004) e ” The Applications of Genetic Algorithms in Stock Market Data Mining Optimization ” (2004). (Per ulteriori informazioni, vedere:  Come vengono creati gli algoritmi di trading.)

Come funzionano gli algoritmi genetici

Gli algoritmi genetici vengono creati matematicamente utilizzando i vettori, che sono quantità che hanno direzione e grandezza. I parametri per ogni regola di scambio sono rappresentati con un vettore unidimensionale che può essere pensato come un cromosoma in termini genetici. Nel frattempo, i valori utilizzati in ciascun parametro possono essere pensati come geni, che vengono poi modificati utilizzando la selezione naturale.

Ad esempio, una regola di trading può comportare l’uso di parametri come la  divergenza di convergenza della media mobile  (MACD), una  media mobile esponenziale  (EMA) e gli stocastici. Un algoritmo genetico inserirà quindi valori in questi parametri con l’obiettivo di massimizzare l’utile netto. Nel tempo, vengono introdotte piccole modifiche e quelle che hanno un impatto desiderabile vengono mantenute per la generazione successiva.

(Vedi anche:  Nozioni di base sul trading algoritmico.)

Esistono tre tipi di operazioni genetiche che possono quindi essere eseguite:

  • I crossover rappresentano la riproduzione e il crossover visti in biologia, in base al quale un bambino assume determinate caratteristiche dei suoi genitori.
  • Le mutazioni rappresentano la mutazione biologica e vengono utilizzate per mantenere la diversità genetica da una generazione di una popolazione all’altra introducendo piccoli cambiamenti casuali.
  • Le selezioni sono la fase in cui i singoli genomi vengono scelti da una popolazione per la successiva riproduzione (ricombinazione o crossover).

Queste tre operazioni vengono quindi utilizzate in un processo in cinque fasi:

  1. Inizializza una popolazione casuale, in cui ogni cromosoma è di lunghezza n, dove n è il numero di parametri. Cioè, viene stabilito un numero casuale di parametri con n elementi ciascuno.
  2. Seleziona i cromosomi, o parametri, che aumentano i risultati desiderabili (presumibilmente l’utile netto).
  3. Applica operatori di mutazione o crossover ai genitori selezionati e genera una prole.
  4. Ricombina la prole e la popolazione attuale per formare una nuova popolazione con l’operatore di selezione.
  5. Ripeti i passaggi da due a quattro.

Nel tempo, questo processo si tradurrà in cromosomi (o parametri) sempre più favorevoli per l’uso in una regola di trading. Il processo viene quindi terminato quando vengono soddisfatti i criteri di arresto, che possono includere il tempo di esecuzione, l’idoneità, il numero di generazioni o altri criteri.

Utilizzo di algoritmi genetici nel trading

Mentre gli algoritmi genetici sono utilizzati principalmente dai trader quantitativi istituzionali, i singoli trader possono sfruttare la potenza degli algoritmi genetici, senza una laurea in matematica avanzata, utilizzando diversi pacchetti software sul mercato.

Queste soluzioni vanno da pacchetti software standalone orientati ai mercati finanziari a componenti aggiuntivi di Microsoft Excel che possono facilitare più analisi pratiche.

Quando si utilizzano queste applicazioni, i trader possono definire una serie di parametri che vengono poi ottimizzati utilizzando un algoritmo genetico e una serie di dati storici. Alcune applicazioni possono ottimizzare i parametri utilizzati e i relativi valori, mentre altre si concentrano principalmente sulla semplice ottimizzazione dei valori per un dato insieme di parametri.

L’adattamento della curva (ovvero l’ overfitting ), o la progettazione di un sistema di negoziazione attorno a dati storici piuttosto che identificare un comportamento ripetibile, rappresenta un potenziale rischio per i trader che utilizzano algoritmi genetici. Qualsiasi sistema di trading che utilizza GA dovrebbe essere sottoposto a test previsionali su carta prima dell’uso dal vivo.

La scelta dei parametri è una parte importante del processo e i trader dovrebbero cercare parametri correlati alle variazioni del prezzo di un dato titolo. Ad esempio, prova diversi indicatori per vedere se qualcuno sembra essere correlato alle principali svolte del mercato.

La linea di fondo

Questi algoritmi non sono il Sacro Graal e i trader dovrebbero fare attenzione a scegliere i parametri giusti e non adattare la curva.

(Per la lettura ulteriore, check out: Prendere il giusto software Algorithmic Trading, Il potere del Programma Trades,come codificare la tua Algo Trading Robot.)