UNA RETE NEURALE “INTERMARKET” Come prevedere il Mib30 utilizzando alcuni indici dei principali mercati azionari internazionali Dr. Andrea Nardon Nel numero n°25 di B&F, sono state presentate alcune reti neurali che hanno dimostrato di saper prevedere abbastanza bene, la variazione percentuale settimanale di alcuni indici del mercato azionario (Mibtel, Cac40, Nikkei, Financial Times, S&P500). Prendendo spunto da quella applicazione, si è cercato di costruire una rete che fosse in grado di prevedere la variazione settimanale del Mib30 utilizzando non più solo variabili interne, ma anche variabili esterne come ad esempio alcuni indici dei mercati azionari internazionali. Intuitivamente una rete di questo tipo dovrebbe funzionare meglio di una che definiamo locale (visto che usa solo inputs interni), ma quando l’orizzonte temporale della previsione è abbastanza ampio, vedi quello dell’applicazione seguente, ovvero una settimana, le cose potrebbero cambiare. Infatti, in una normale seduta borsistica, gli operatori guardano nella fase di apertura, alla chiusura dei mercati Asiatici, Tokyo e Hong Kong in testa e alla chiusura dei mercati azionari Americani del giorno precedente. Queste informazioni influiscono notevolmente sull’apertura del mercato Italiano che tende a seguire, per la maggior parte della giornata, l’andamento delle Piazze Europee per poi tornare, nel finale, a guardare Wall Street. Ma in una analisi settimanale? Le relazioni, pur essendo un po’ diverse, vengono sempre confermate, lo testimonia infatti, la tabella 1, dove si riportano le correlazioni a 5 settimane (registrate Venerdì 19 febbraio 1999) del Mib30 con i principali mercati azionari internazionali. Tabella 1: Correlazioni Mib / Indice Correlazione a 5 settimane Mib30/Cac40 0,778 Mib30/Dax30 0,255 Mib30/S&P500 0,850 Mib30/Nikkei 0,860 Come si vede in tabella, è solo il Dax ad avere una bassa correlazione (sempre positiva) con il Mib30 e per questo motivo, si è ritenuto opportuno non includerlo nella rete. Tuttavia, non è detto che si debba giungere alla medesima conclusione, con una rete neurale giornaliera!. Per ciascun mercato si è considerato l’angolo della regressione lineare a 4 rilevazioni e il tasso di variazione settimanale al tempo t. Si sarebbero potuti utilizzare altri indicatori od oscillatori della strumentazione euristico quantitativa dell’analisi tecnica, ma sulla base di alcune verifiche empiriche si è giunti alla scelta di tale variabile sia per le migliori performance registrate nella fase di test, che per la semplicità di implementazione. Con l’angolo della regressione inseriamo nella rete delle informazioni riguardo la direzione del mercato: un angolo positivo testimonia, infatti, una fase rialzista, viceversa un angolo negativo evidenzia una fase ribassista. Coloro comunque che volessero prendere spunto da tale applicazione, potrebbero sviluppare reti neurali con, ad esempio, l’oscillatore Stocastico che, con dominio 6 - 4 settimane, ha fornito nel passato dei buoni risultati. In figura 2 viene riportata la struttura della rete, che prevede, nove input, un livello nascosto con sei neuroni e un output pari alla variazione settimanale del Mib30. Nel livello di input, la rete riceve i dati e il numero di neuroni è determinato dal numero di categorie di input, in quanto ogni categoria di dati richiede un neurone. Nel livello nascosto, ovvero quello che separa il livello di input da Una Rete neurale “intermarket” Andrea Nardon quello di output sono stati inseriti sei neuroni. La scelta non è stata casuale, infatti si sono costruite ben sette reti con la medesima struttura, sia di input che di output, ma con un differente numero di neuroni nel livello nascosto. I risultati nella fase di test hanno dimostrato che la rete con sei neuroni era in grado di fornire il risultato migliore (valutato con gli indici di performance esposti di seguito). Figura 2: Architettura della rete Nikkei Weekly ∆ L.R. Slopet(4 w.) Cac40 Weekly ∆ L.R. Slopet(4 w.) S&P500 Weekly ∆ L.R. Slopet(4 w.) Mib30 Weekly ∆ ∆+1 weekly Mib30 Number of inputs: 9 Hidden layer: 1 Neurons in h.l.: 6 Number of output. 1 L.R. Slopet(4 w.) L.R. Slopet(8 w.) Dopo aver delineato l’architettura della rete, si è provveduto ad addestrarla in un periodo di 100 settimane e più precisamente dal 31/ottobre/1996 al 18/settembre/1998. L’addestramento è la procedura per mezzo della quale la rete impara, poiché le vengono presentate vettori di input e il valore dell’output desiderato. Quindi nelle 110 settimane del training la rete attraverso un particolare algoritmo di apprendimento, ha determinato il peso ottimale delle connessioni wi,j (ovvero dei pesi che legano il neurone i-esimo con quello j-esimo). I valori dei pesi così determinati, sono stati utilizzati per la fase di test che è andata dal 18/settembre/1998 al 29/gennaio/1999, ovvero quella fase in cui vengono valutate le reali capacità previsive della rete. Per valutare i risultati si sono usati alcuni indici di performance, ovvero il Correct Sign (che verifica quante volte è stato previsto il segno, quindi il rialzo o il ribasso), il Correct Trend (che a differenza del correct sign verifica la variazione della previsione in due istanti temporali: t e t-1, quindi, di fatto analizza il trend) il Mean Absolute Error (che calcola l’errore assoluto della previsione, quindi di quanto si distanzia dal valore desiderato) l’indice di correlazione R2 (che valuta la correlazione tra la serie prevista e quella desiderata) ed infine, l’indice di Theil che di fatto confronta le previsioni del modello (neurale) con quelle del random walk: tanto più basso è tale valore tanto più affidabile sarà il modello. Nella Box 1 vengono riportate le formule. I Risultati Nella fase di test che come detto precedentemente va dal 18/settembre/1998 al 29/gennaio/1999 si sono registrati i seguenti indici : Correct Sign = 91,30% Correct Trend = 68,18% M.A.E. = 1,49% R2 = 0,9382 Theil = 0.1291 2 Una Rete neurale “intermarket” Andrea Nardon Graficamente: network desired 15.00% 10.00% 5.00% 12/02/99 29/01/99 15/01/99 01/01/99 18/12/98 04/12/98 20/11/98 06/11/98 23/10/98 09/10/98 25/09/98 -5.00% 11/09/98 0.00% -10.00% Come si può leggere dagli indici di performance e dal grafico, i risultati sono stati estremamente positivi soprattutto se confrontati con quelli delle reti neurali presentate in B&F n°25 dove nel caso del mercato azionario Italiano, il segno non riusciva a superare l’82% (che peraltro si ritiene estremamente positivo). Correct Sign = 100 ⋅ N Correct Trend = 1 se X i ⋅ Xˆ i ≥ 0 dove α i = 0 otherwise n ∑α , i i =1 100 ⋅ N 1 se (X1 − X i −1 )(Xˆ i − Xˆ i −1 ) ≥ 0 dove α i = 0 otherwise n ∑α , i i =1 Mean Absolute Error = 1 n ∑ X i − Xˆ i N i =1 2 n ˆ ˆ ∑ ( X i − X )( X i − X ) i=1 R2 = n n ∑ ( X − X ) 2 ∑ ( Xˆ − Xˆ ) 2 i =1 i i i =1 n ∑(X Theil Index = i − Xˆ i )2 i =1 n ∑X 2 i i =1 Tuttavia, anche se la presente rete testimonia un ottimo risultato, bisogna fare attenzione a non esaltare troppo queste caratteristiche perché nel passato, in diverse applicazioni si è riscontrata l’incapacità di questi modelli non lineari di ripetere le ottime performance conseguite nel testing set, anche nel real time. Questo è senza dubbio legato al fatto che il peso degli input varia nel corso del tempo e quindi bisogna sempre essere pronti a riaddestrare la rete periodicamente cercando di far passare il minor tempo possibile dall’ultimo dato di training e quello reale. Utilizzando, poi, dati settimanali e non giornalieri, questo rischio è ancora più sentito. Infatti anche in questa 3 Una Rete neurale “intermarket” Andrea Nardon applicazione, l’elevato numero di input e di neuroni nel livello nascosto ha fatto si che il training set aumentasse e quindi ci si è trovati ad addestrare la rete a partire dal novembre del 1996. Un periodo eccessivamente ampio che rischia di addestrare la rete con relazioni input – output che andavano bene due, tre anni fa e che ora magari sono diverse o non sussistono più. Caso tipico è il Nikkei, se analizziamo il suo andamento quattro anni fa, difficilmente si troveranno delle relazioni con il nostro mercato azionario e la stessa cosa vale anche per altri mercati internazionali. Alla luce dei risultati positivi emersi in questa applicazione, si può concludere ribadendo ancora una volta, il reale supporto operativo fornito dalle reti neurali all’attività decisionale dell’investitore anche se è tuttavia doveroso ricordare come questo strumento non lo possa in alcun modo sostituire nelle scelte, in quanto il numero di informazioni che comunque, indipendentemente dalla dimensione) una rete è in grado di gestire sarà sempre inferiore rispetto a quelle gestite da un operatore. Il compito delle reti neurali, quindi (come gli altri strumenti dell’Intelligenza Artificiale) è quello di affiancare l’investitore cercando di fornire una visione prospettica del mercato basandosi solo su particolari tipi di informazioni. Nell’applicazione, infatti, la rete utilizza come input semplici analisi condotte con l’analisi tecnica sui mercati internazionali, pertanto il contributo sarà quello di utilizzare le dinamiche borsistiche estere per spiegare il comportamento del mercato locale. In abbinata a questa rete se ne potrebbe affiancare una basata solo su input del mercato locale (vedi le reti di B&F 25) ma ancora questa combinazione non sarà completa. Affiancando, ad esempio, un sistema di fuzzy logic che fornisce un rating dei titoli e dei diversi mercati, forse si riuscirebbe ad avere una visione molto più completa. A quel punto, l’operatore si limiterà solamente a gestire variabili non quantitative come ad esempio la situazione politica di un Paese, le informazioni sulle dinamiche societarie dei titoli (vedi OPA....) e altro ancora. 4