http://www.piazzaffari.org

Corso di analisi tecnica - 17^ lezione -  

dott. Natale Lanza

 

RETI NEURALI

 

Cenni introduttivi

Benché le reti neurali abbiano una storia relativamente recente, esiste già una vasta letteratura, prevalentemente in lingua inglese, sulla loro costruzione e sul loro funzionamento. In questo capitolo, pertanto, verrà limitato il tentativo di spiegarne principi e caratteristiche mentre verrà dedicata maggiore attenzione alle possibilità applicative nei mercati finanziari. Del resto, per guidare una macchina, non è affatto necessario conoscere i motori.

Premesso che esistono vari tipi di reti neurali, può essere sufficiente sapere che il principio di fondo consiste nella capacità di certi algoritmi di calcolo di emulare il comportamento umano estraendo valutazioni e considerazioni da situazioni complesse, non sempre ben definite, talvolta anche contraddittorie.

Come gli esseri umani, le reti neurali hanno la capacità di apprendere dalle esperienze pregresse per poi applicare a circostanze nuove le conoscenze acquisite. A differenza degli esseri umani, hanno la capacità di crearsi un sistema rappresentativo delle molteplici relazioni esistenti tra le variabili causali di un sistema complesso manifestando, di conseguenza, elevata attitudine ad esprimere con regolarità valutazioni appropriate e comportamenti adeguati in presenza di situazioni apparentemente caotiche.

 

Funzionamento

Il principio di funzionamento di una rete neurale è molto semplice.

Al programma viene somministrata una certa quantità di esempi rappresentativi del problema da affrontare, con (reti neurali supervisionate) o senza (reti neurali non supervisionate) le corrispondenti soluzioni.

Le reti neurali non supervisionate esaminano gli esempi e creano dei raggruppamenti (clusters) in base al reciproco livello di affinità. Poiché le applicazioni finanziarie si fondano, principalmente, sulle reti supervisionate, è esclusivamente a queste ultime che faremo riferimento nel prosieguo di questo lavoro.

La rete supervisionata esamina gli esempi proposti e crea una serie di valori, detti pesi, la cui interazione con le variabili del problema, sulla base di determinate funzioni matematiche, produce delle ipotesi di soluzione; confronta quindi queste soluzioni teoriche con quelle effettive, ne misura lo scostamento e, se tale scostamento supera una soglia massima predefinita, torna indietro, modifica i pesi e ripete il ciclo.

In sostanza, procede per approssimazioni successive finché non vengono individuate soluzioni accettabilmente simili a quelle reali.

Ultimata questa fase, detta di addestramento, si passa a quella di verifica con la somministrazione di alcuni esempi del problema, diversi da quelli già utilizzati, le cui soluzioni, questa volta, non vengono comunicate. La rete, sulla base dei pesi elaborati durante l’addestramento, fornisce le proprie soluzioni la cui validità è strettamente dipendente dal livello di efficienza raggiunto.

Se l’esito è soddisfacente, la rete è pronta per essere utilizzata nel settore di applicazione per il quale è stata creata, al fine di individuare delle soluzioni non conosciute.

Le reti neurali sono composte da una serie di strati, ciascuno dei quali possiede una funzione specifica.

Essenziali sono lo strato di input e quello di output. E’ facoltativa in alcuni casi, ma in effetti necessaria per la soluzione di problemi complessi, la presenza di almeno uno strato cosiddetto nascosto.

Lo strato di input è costituito da tante unità elaborative quante sono le variabili indipendenti del problema da esaminare.

Lo strato di output, invece, è costituito da tante unità elaborative quante sono le variabili dipendenti che costituiscono la soluzione del problema.

Lo strato nascosto, infine, ha lo scopo di creare la rappresentazione del problema internamente alla rete. Poiché non esiste alcuna regola per la determinazione del numero di unità elaborative che devono comporre tale strato, si procede di solito per tentativi sulla base dell’esperienza.

 

Modalità di utilizzo

La particolare struttura delle reti richiede precise modalità di rappresentazione del problema da risolvere. Tutte le variabili, cioè, devono trovare rappresentazione in forma numerica per ciascuna unità sia di input che di output.

Nel caso di variabili dicotomiche i valori possibili sono 0 e 1 oppure -1 e 1 in relazione al tipo di rete. Nel caso di variabili continue, invece, devono essere compresi tra -1 e 1 oppure tra 0 e 1. Valori diversi da quelli consentiti devono essere ricondotti alla forma richiesta attraverso un trattamento preliminare di interpolazione che, comunque,  viene effettuato automaticamente dai programmi più recenti.

Una volta formalizzata la rappresentazione delle variabili, l’addestramento può avere inizio.

Ogni ciclo completo di confronto delle soluzioni reali di tutti gli esempi con le soluzioni proposte dalla rete prende il nome di epoca.

L’addestramento ha termine o dopo un certo numero di epoche prefissato dallo sperimentatore o dopo che il margine di scostamento tra soluzioni calcolate e soluzioni effettive si sia progressivamente ridotto a un livello predefinito.

Poiché non è sempre possibile identificare con precisione i fattori che incidono su un determinato fenomeno, può risultare conveniente abbondare nella somministrazione delle variabili di input. Sarà la stessa rete a riconoscere autonomamente quelle maggiormente significative, alle quali assegnerà pesi più consistenti, e quelle marginali, alle quali assegnerà pesi ridotti.

 

Applicazione pratica - addestramento

Vediamo adesso un esempio di rete neurale che abbiamo applicato a un semplice sistema di trading costituito dall’incrocio di due medie mobili dell’indice Comit.

Abbiamo supposto, in proposito, di voler assumere posizioni lunghe tutte le volte che la media mobile esponenziale a 5 giorni perforava verso l’alto quella a 15 giorni e di voler assumere posizioni corte ogni volta che la media a 5 giorni perforava verso il basso quella a 15 giorni.

Non è il caso, naturalmente, di discutere della validità del sistema e della sua maggiore o minore efficacia in differenti situazioni di mercato.  Ci interessa, invece, verificare la possibilità della rete neurale di anticiparne le segnalazioni. Il sistema, infatti, oltre a incorporare un ritardo segnalatorio dovuto alla natura stessa delle medie mobili su cui si fonda, comporta un ulteriore ritardo di un giorno per l’effettuazione dell’intervento operativo.

Alla rete neurale sono stati perciò forniti degli esempi allo scopo di consentirle di creare, al suo interno, una rappresentazione del fenomeno idonea a farle anticipare di 2 giorni la posizione reciproca delle due medie mobili suindicate.

Questi esempi non sono altro che un insieme strutturato di alcune elaborazioni dell’indice Comit per il periodo che va dal 3.1.1994 al 29.12.1995: in totale 502 esempi per altrettante giornate operative di Borsa.

Per ciascun esempio sono stati forniti alla rete i seguenti 15 valori di input nel presupposto che tali informazioni, anche se talvolta ridondanti, possedessero, in buona misura, la conoscenza necessaria ad effettuare una analisi del problema da risolvere:

·     variazione percentuale della media mobile esponenziale a 5 giorni rispetto al giorno precedente;

·     variazione rispetto a due giorni prima;

·     variazione rispetto a tre giorni prima;

·     variazione rispetto a quattro giorni prima;

·     variazione rispetto a cinque giorni prima;

·     variazione percentuale della media mobile esponenziale a 15 giorni rispetto al giorno precedente, a due giorni prima, a tre giorni prima, a quattro giorni prima, a cinque giorni prima;

·     differenza percentuale tra media mobile esponenziale a 5 giorni e media mobile esponenziale a 15 giorni nel giorno dell’indagine, il giorno precedente, due giorni prima, tre giorni prima, quattro giorni prima.

Per ogni esempio, inoltre, è stato fornito uno dei seguenti valori di output:

·     1 in presenza di una media mobile a 5 giorni, al secondo giorno successivo a quello d’indagine, superiore alla media mobile a 15 giorni;

·     0 in caso diverso.

A questo punto, dopo aver disposto le opportune configurazioni affinché l’addestramento avesse termine allorquando il numero delle soluzioni proposte dalla rete apparisse corretto almeno per il 90% degli esempi proposti, la rete neurale è stata attivata: il programma, cioè, ha cercato, per approssimazioni successive, delle relazioni che, per ogni esempio di input, facessero corrispondere un output simile a quello effettivo.

Si usa il termine “simile” in quanto le particolari funzioni di approssimazione usate dalla rete neurale non forniscono quasi mai dei valori discreti (0 o 1), bensì dei valori decimali vicini a quelli effettivi (es. 0,98... al posto di 1 e 0,1... al posto di 0). In questi casi, vengono considerati pari a 0 tutti i valori compresi tra 0 e 0,50 e pari a 1 tutti i valori superiori a 0,50.

Il programma utilizzato ha riservato 50 esempi, scelti casualmente, per la propria attività di verifica ed ha effettuato l’addestramento sui rimanenti 452 esempi.

L’addestramento ha avuto una durata di 2116 epoche; ciò significa che l’insieme dei 452 esempi è stato esaminato 2116 volte prima che venisse creata una rappresentazione valida delle relazioni esistenti tra tutti i dati di input e ciascun corrispondente valore di output.

I pesi risultanti alla fine dell’addestramento sono stati anzitutto utilizzati per un primo test sui 50 esempi non sottoposti a training; l’esito si è dimostrato subito straordinario visto che, in 46 casi su 50, corrispondenti al 92% del campione, la rete è stata in grado di prevedere correttamente la posizione reciproca di ciascuna delle due medie mobili al secondo giorno successivo.

Poiché, però, i 50 esempi, anche se esclusi dal training, facevano comunque parte del periodo analizzato, si è reso opportuno memorizzare i pesi creati dalla rete al fine di effettuare una ulteriore e approfondita attività di verifica su valori del tutto estranei alla fase di addestramento.

 

Applicazione pratica - verifica

Per una verifica completa della validità delle previsioni della rete addestrata sono stati utilizzati i 252 valori giornalieri dell’indice Comit del periodo 2.1.1996 - 31.12.1996.

Con riferimento a questi dati, alla rete sono state fornite le stesse tipologie di informazioni di input esaminate al punto precedente mentre, ovviamente, non sono stati forniti i corrispondenti valori di output.

Utilizzando il proprio sistema di connessioni interne, la rete ha proposto, per ogni esempio, un proprio valore di output oscillante tra 0 e 1. Tale output è stato utilizzato per la previsione della posizione, al secondo giorno successivo a quello dell’esempio, della media mobile più corta rispetto a quella più lunga.

Le valutazioni della rete, confrontate con la situazione reale, si sono dimostrate corrette in 220 casi su 252, cioè nell’87,30% del campione.

La splendida performance di tipo quantitativo, tuttavia, non sarebbe stata sufficiente, da sola, a fornire valutazioni sulla qualità delle previsioni. Si è ipotizzato, pertanto, di assumere posizioni lunghe o corte, in dipendenza del tipo di previsione, il giorno successivo a quello al quale i valori di input si riferivano. In tal modo, sommando le variazioni giornaliere favorevoli dell’indice e sottraendo quelle sfavorevoli, si sarebbe realizzato un utile del 3,93%.

Se, invece, si fosse agito sul mercato il giorno successivo a quello di effettivo incrocio delle medie, l’utile sarebbe stato dell’1,72%.

La scarsa consistenza del risultato non è dovuta, naturalmente, all’inefficacia della rete neurale, che anzi ha migliorato notevolmente l’utile del trading system tradizionale, ma al fatto che, evidentemente, il sistema proposto, di tipo trending, non appare adeguato alla fase di mercato, di tipo oscillatorio, alla quale è stato applicato.

Infatti, una ulteriore attività di verifica, espletata sul periodo 2.1.1997 - 31.12.1997, ha portato a 222 valutazioni corrette su 251 da parte della rete neurale (88,44% del campione), con un utile del 27,86% a fronte di un ben più modesto 5,25% realizzabile con un’operatività fondata sull’effettivo incrocio delle medie mobili.

Un’ultima verifica sul periodo 2.1.1998 - 21.7.1998 ha portato a 125 valutazioni corrette della rete neurale su 140 (89,28% del campione), con un utile del 41,92% a fronte di un 14,40% realizzabile con interventi effettuati il giorno successivo a quello dell’effettivo incrocio delle medie mobili.

Conclusioni

Abbiamo illustrato sinteticamente le possibilità offerte dalle reti neurali avvalendoci di un esempio relativamente semplice da costruire e, allo stesso tempo, altamente efficace.

Benché esistano molte possibilità di utilizzo di questo sofisticato strumento, va notato che una imprecisa individuazione del tipo dei valori da fornire in input costituisce spesso impedimento al buon esito dell’addestramento. Questa difficoltà, i tempi lunghi normalmente richiesti dalla sperimentazione e la necessità del possesso di alcune conoscenze specifiche da parte dell’utente hanno finora costituito un ostacolo di rilievo all’utilizzo diffuso delle reti neurali.


(°) 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.