http://www.piazzaffari.org

Corso di analisi tecnica - 18^ lezione -  

dott. Natale Lanza

 

ALGORITMI GENETICI

 

Origine

La teoria evoluzionistica dei sistemi biologici lega le possibilità di sopravvivenza di un individuo principalmente alla sua capacità di adattamento all’ambiente (fitness).

I mezzi che, in ciascun individuo, caratterizzano tale capacità risiedono nel suo patrimonio genetico, cioè in un insieme di informazioni ereditate anzitutto da padre e madre (crossover) e successivamente assoggettate parzialmente a un processo di cambiamento casuale (mutazione genetica) per far sì che ognuno abbia una identità propria, distinta da quella dei genitori.

Gli individui più deboli, meno idonei a far fronte all’ambiente, muoiono, in genere, prima degli altri e, perciò, si riproducono di meno; quelli più forti sopravvivono generalmente più a lungo e si riproducono maggiormente.

L’effetto di questo processo è una più diffusa trasmissione delle caratteristiche migliori che, su tempi lunghi, porta automaticamente all’evoluzione della specie e all’esistenza di generazioni in possesso di capacità di adattamento all’ambiente sempre maggiori.

 

Algoritmi genetici e sistemi complessi

Cosa c’entra quanto detto sopra con l’intelligenza artificiale?

La teoria dell’evoluzione della specie può essere utilizzata per simulare al computer dei processi di affinamento progressivo delle potenziali soluzioni alle problematiche connesse ai sistemi complessi.

In particolare, nel campo delle applicazioni finanziarie, la popolazione di individui può essere costituita da un insieme di operatori di Borsa, differenti l’uno dall’altro, la cui capacità di adattamento all’ambiente coincide con l’efficacia della loro strategia operativa.

Questa popolazione può essere sottoposta a un processo di evoluzione dando agli operatori più bravi la possibilità di generare altri operatori con le caratteristiche del padre e della madre leggermente modificate dal meccanismo della mutazione genetica.

La mutazione, in sé, non è necessariamente migliorativa; tuttavia, quando non c’è miglioramento, il nuovo nato è destinato a una minore proliferazione e a una morte precoce per effetto del principio della selezione naturale.

In tal modo, dopo molti anni, la discendenza della popolazione originaria sarà costituita esclusivamente da operatori di Borsa bravissimi le cui strategie, frutto dell’evoluzione, potranno essere senz’altro imitate nell’operatività reale.

L’algoritmo di calcolo che permette al computer di simulare in poco tempo il processo evolutivo di molti secoli prende il nome specifico di  “algoritmo genetico”.

 

Funzionamento

In una popolazione di N unità, muoiono sia gli individui che hanno raggiunto una certa età, fissata a priori, che quelli la cui scarsa capacità di adattamento all’ambiente (fitness) non è sufficiente ad assicurarne la sopravvivenza.

I viventi, come già detto, si riproducono e anzi, quelli che vivono di più, perché in possesso di una fitness migliore, hanno maggiori possibilità di proliferare.

Supposto che due viventi, i genitori, abbiano le seguenti due serie di caratteristiche (geni):

A1, A2, A3,............An

B1, B2, B3,............Bn

Il figlio, con un processo casuale, erediterà anzitutto parte di entrambe le caratteristiche; ad esempio:

A1, B2,B3,.............An

Successivamente, modificherà leggermente alcuni geni così che la sua personalità finale sarà diversa da quella corrispondente alla semplice somma di parte dei geni del padre e di parte di quelli della madre. Tale personalità, peraltro, beneficerà di un ulteriore miglioramento dovuto agli effetti della mutazione nei casi in cui questa è positiva.

Comunque, il figlio dovrà misurarsi con l’ambiente e, nel corso del confronto, sarà la sua specifica capacità di adattamento a decretarne la sopravvivenza fino alla vecchiaia, e di conseguenza la riproduzione, o la morte prematura.

 

Applicabilità ai mercati finanziari

Tra le ampie possibilità di utilizzo degli algoritmi genetici, va segnalata la possibilità di costruire dei trading systems selezionandoli tra i migliori sperimentati da migliaia di operatori virtuali nel corso di alcuni secoli.

I geni trasmissibili ereditariamente possono senz’altro essere, infatti, degli indicatori di analisi tecnica di vario tipo corredati dei relativi parametri.

In questo caso, ogni individuo che nasce eredita alcuni di questi indicatori dei quali modifica casualmente parte dei parametri. Si vengono così a configurare, di volta in volta, delle combinazioni differenti la cui efficacia viene misurata sulla base dei risultati che scaturiscono dalla loro applicazione su una lunga serie storica di quotazioni.

Non è detto che alla fine venga trovata la soluzione ottimale ma è certo che, attraverso il  meccanismo sopra esposto, emergerà una soluzione ottima.

A differenza, quindi, dei trading systems, non si fissa a priori una strategia da ottimizzare, non essendo concepibile valutare tutte le innumerevoli possibilità, ma si stabiliscono le regole per operare una selezione efficiente. Solo dopo che una buona soluzione sarà stata trovata si potrà, se del caso, modificare lievemente i parametri attraverso un procedimento di ottimizzazione mirato.

In conclusione, gli algoritmi genetici simulano l’acquisizione di una vasta esperienza e la mettono a disposizione di chi vuole approfittarne; questa preziosissima esperienza, la cui efficacia scaturisce da un lunghissimo processo di aggiustamento effettuato da centinaia o migliaia  di operatori espertissimi anche se fittizi, può essere emulata così com’è oppure può costituire la base per la realizzazione di un trading system più articolato.

 

Esempio

Al fine di mostrarne le modalità di funzionamento, è stato affidato a un algoritmo genetico il compito di trovare una buona soluzione al medesimo trading system sperimentato nel settore “Tecniche operative e trading systems”.

Per questo, è stata creata una popolazione di 100 individui, di età casuale inferiore a 70 anni, ciascuno con un patrimonio genetico complessivo di 5 caratteri:

- livello dell’RSI;

- base dell’RSI;

- media mobile dell’RSI;

- base del R.O.C.;

- media mobile del ROC.

Si è stabilito, altresì, che la fitness di ciascun individuo fosse strettamente dipendente sia dalla realizzazione di un utile in ciascun terzo dell’intero periodo considerato (1.6.1990 - 30.4.1997) che dal numero delle operazioni complessivamente effettuate. Non è stato previsto alcun vincolo per una equa distribuzione dell’utile in ciascun sottoperiodo.

Fissato, quindi, per ciascun individuo, un valore casuale per ogni gene, si è equiparata  la fitness  all’utile medio giornaliero (utile totale diviso numero dei giorni dell’intero periodo) ridotto di una piccolissima quota per ciascuna operazione effettuata al fine di scoraggiare l’iper-trading privilegiando una buona composizione tra massimo utile e minima attività.

La simulazione ha avuto una durata di 200 anni (cicli completi di simulazione) al termine di ciascuno dei quali il computer controllava il successo o l’insuccesso degli operatori (esito, ovviamente, sempre uguale per gli operatori sopravvissuti).

A seguito di tale verifica venivano fatti morire, e sostituiti con nuove nascite, gli operatori che avevano conseguito una perdita in almeno uno dei tre intervalli nei quali era stato suddiviso l’intero periodo e quelli che semplicemente avevano raggiunto l’età di 70 anni.

Ad ogni ciclo, infatti, l’età veniva incrementata di un anno così che anche gli operatori migliori erano destinati a sparire dopo aver eventualmente proliferato un certo numero di volte ed aver quindi trasmesso agli eredi le loro capacità.

A prescindere da qualsiasi parametro, ogni anno veniva stilata una graduatoria sulla base della fitness e gli ultimi 5 della classifica venivano comunque fatti morire, sempre con sostituzione di nuovi nati.

Ogni nuovo arrivato ereditava 3 geni dal padre e 2 dalla madre. I genitori venivano scelti casualmente tra i primi 20 della classifica e casualmente venivano pure scelti i geni da trasmettere.

Per limitare eventuali incoerenze di calcolo erano stati preliminarmente fissati i seguenti limiti di variabilità:

n    RSI: 1 - 100;

n    base RSI: minimo 13 - nessun massimo (base dati);

n    media mobile RSI: minimo 1 - nessun massimo (b.d.);

n    base del R.O.C.: minimo 5 - nessun massimo (b.d.);

n    media mobile del R.O.C.: minimo 5 - nessun massimo (b.d.).

Si tratta, come si può vedere, di intervalli aperti, così che un tradizionale algoritmo di ottimizzazione avrebbe dovuto ciclare per un numero enorme di volte prima di trovare la combinazione ottimale.

All’algoritmo genetico è stato invece richiesto di effettuare 200 cicli per ciascuno dei 100 operatori (in totale 20.000 tentativi) con l’intenzione di verificare la validità della soluzione risultante al termine di tali iterazioni.

A fronte di un investimento iniziale di 1.000, il sistema ha proposto i seguenti parametri:

n  livello soglia dell’RSI (cfr. tecniche operative e trading systems): 67;

n  base dell’RSI: 14

n  media mobile dell’RSI: 2

n  base del R.O.C.: 14

n  media mobile del R.O.C.: 63

producendo un capitale di:

n  1.030,19 al termine del primo sottoperiodo (30.9.1992);

n  1.504,78 al termine del secondo sottoperiodo (11.1.1995);

n  2.034,63 al termine del terzo sottoperiodo (30.4.1997).

Così come per l’esempio delle reti neurali, anche in questo caso non si vuole  discutere della validità del sistema e della sua maggiore o minore efficacia in differenti situazioni di mercato, ma solo dimostrare come un algoritmo genetico sia in grado, con poco sforzo, di trovare soluzioni ottime a quei problemi le cui variabili non potrebbero essere esplorate integralmente da un sistema tradizionale.

Da osservare che, poiché sia la scelta che la modifica dei geni ereditati avviene su base casuale negli algoritmi genetici, eventuali ulteriori sperimentazioni potrebbero dare risultati diversi da quello sopra indicato; tale eventuale differenza dovrebbe, tuttavia, essere del tutto insignificante.

 

Conclusioni

La piena comprensione del funzionamento degli algoritmi genetici schiude le porte ad un nuovo modo di affrontare le incertezze connesse al mondo delle applicazioni finanziarie.

Qualsiasi indecisione possa emergere a seguito dell’esistenza di più strategie adottabili in determinate circostanze può essere superata ricorrendo alla tecnica appena appresa.

E’ necessario, naturalmente, acquisire l’abilità di ricondurre a unità elementari (geni) tutte le potenziali soluzioni e i relativi eventuali parametri. L’esempio proposto, tuttavia, dovrebbe essere sufficientemente indicativo del metodo da seguire.

 


(°) Per i puristi, le reti neurali e gli algoritmi genetici non costituiscono intelligenza artificiale in quanto emulano prevalentemente il funzionamento di sistemi biologici piuttosto che la logica del ragionamento.

Ritorna al sommario

 

 

Copyright ©1998-2006 All Rights Reserved.