In "A Random Walk Down Wall Street" (1973), Burton Malkiel suggerì: "Una scimmia con gli occhi bendati che lancia freccette sulle pagine finanziarie di un giornale potrebbe selezionare un portafoglio che farebbe altrettanto bene che uno accuratamente selezionato dagli esperti". Mentre l'evoluzione potrebbe non aver reso l'uomo più intelligente nella scelta delle scorte, la teoria di Charles Darwin ha dimostrato di essere abbastanza efficace se applicata in modo più diretto.
TUTORIAL: strategie di stock picking
Cosa sono gli algoritmi genetici?
Gli algoritmi genetici (GA) sono metodi di risoluzione dei problemi (o euristica) che imitano il processo dell'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 usate come ottimizzatori che regolano i parametri per minimizzare o massimizzare alcune misure di feedback, che possono quindi essere utilizzate indipendentemente o nella costruzione di una ANN. (Per ulteriori informazioni sulle RNA, consultare: Reti neurali: profitti previsionali .)
Nei mercati finanziari, gli algoritmi genetici sono più comunemente utilizzati per trovare i migliori valori di combinazione di parametri in una regola di trading e possono essere integrati in modelli ANN progettati per selezionare azioni e identificare operazioni. Diversi studi hanno dimostrato l'efficacia di questi metodi, tra cui "Algoritmi genetici: genesi della valutazione degli stock" (2004) e "Le applicazioni degli algoritmi genetici nell'ottimizzazione dell'estrazione dei dati di borsa" (2004). (Per ulteriori informazioni, consultare: Come vengono creati gli algoritmi di trading .)
Cosa sono gli algoritmi genetici?
Come funzionano gli algoritmi genetici
Gli algoritmi genetici vengono creati matematicamente usando vettori, che sono quantità che hanno direzione e grandezza. I parametri per ciascuna regola di trading sono rappresentati con un vettore monodimensionale 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 quindi modificati utilizzando la selezione naturale.
Ad esempio, una regola di trading può comportare l'uso di parametri come la divergenza della convergenza media mobile (MACD), una media mobile esponenziale (EMA) e gli stocastici. Un algoritmo genetico avrebbe quindi inserito valori in questi parametri con l'obiettivo di massimizzare l'utile netto. Nel tempo vengono introdotte piccole modifiche e quelle che producono un impatto desiderabile vengono mantenute per la generazione successiva.
Esistono tre tipi di operazioni genetiche che possono essere eseguite:
- I crossover rappresentano la riproduzione e il crossover visti in biologia, in base ai quali un bambino assume alcune caratteristiche dei suoi genitori. Le mutazioni rappresentano la mutazione biologica e vengono utilizzate per mantenere la diversità genetica da una generazione alla popolazione introducendo piccoli cambiamenti casuali. stadio in cui i singoli genomi sono scelti da una popolazione per successiva riproduzione (ricombinazione o crossover).
Queste tre operazioni vengono quindi utilizzate in un processo in cinque passaggi:
- Inizializza una popolazione casuale, in cui ogni cromosoma è n- lunghezza, con n il numero di parametri. Cioè, viene stabilito un numero casuale di parametri con n elementi ciascuno.Seleziona i cromosomi, o parametri, che aumentano i risultati desiderabili (presumibilmente utile netto).Applica operatori di mutazione o crossover ai genitori selezionati e genera una prole. Ricombina la prole e la popolazione corrente per formare una nuova popolazione con l'operatore di selezione. Ripetere 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 commerciale. Il processo viene quindi terminato quando vengono soddisfatti i criteri di arresto, che possono includere tempo di esecuzione, fitness, numero di generazioni o altri criteri.
Utilizzando algoritmi genetici nel trading
Mentre gli algoritmi genetici sono principalmente utilizzati dai trader quantitativi istituzionali, i singoli trader possono sfruttare il potere degli algoritmi genetici - senza una laurea in matematica avanzata - utilizzando diversi pacchetti software sul mercato. Queste soluzioni vanno dai pacchetti software standalone orientati verso i mercati finanziari ai componenti aggiuntivi di Microsoft Excel che possono facilitare ulteriori analisi pratiche.
Quando si utilizzano queste applicazioni, i trader possono definire una serie di parametri che vengono quindi ottimizzati utilizzando un algoritmo genetico e una serie di dati storici. Alcune applicazioni sono in grado di ottimizzare i parametri utilizzati e i relativi valori, mentre altri si concentrano principalmente sull'ottimizzazione dei valori per un determinato set di parametri. (Per saperne di più su queste strategie derivate dal programma, vedi: Il potere dei programmi commerciali .)
L'adattamento alla curva (overfitting) o la progettazione di un sistema di trading basato su dati storici anziché identificare comportamenti ripetibili, rappresenta un rischio potenziale per gli operatori che utilizzano algoritmi genetici. Qualsiasi sistema di trading che utilizza GA deve essere testato in avanti su carta prima dell'uso dal vivo.
La scelta dei parametri è una parte importante del processo e gli operatori dovrebbero cercare parametri correlati alle variazioni del prezzo di un determinato titolo. Ad esempio, prova diversi indicatori per vedere se qualcuno sembra correlarsi con i principali cambiamenti del mercato. (Per ulteriori informazioni, vedi: Scegliere il giusto software di trading algoritmico .)
La linea di fondo
Gli algoritmi genetici sono modi unici per risolvere problemi complessi sfruttando il potere della natura. Applicando questi metodi per prevedere i prezzi dei titoli, gli operatori possono ottimizzare le regole di trading identificando i valori migliori da utilizzare per ciascun parametro per un determinato titolo. Tuttavia, questi algoritmi non sono il Santo Graal e gli operatori dovrebbero fare attenzione a scegliere i parametri giusti e non adattarsi alla curva. (Per ulteriori informazioni, consulta: Come codificare il tuo robot commerciale Algo .)
