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. |