data x scontata una qualche familiarità coi concetti di “insiemi fuzzy” e ”regole linguistiche”, vediamo di passare ad esaminare qualche caso pratico . . .
su Dropbox ho caricato il file PROVA-F-1 che ho aggiornato con gli ultimi dati ed a cui ho apportato alcuni miglioramenti
ricordiamo che Fiat dall’ inizio dell’ anno è un titolo diverso da prima e – imo - sbagliano coloro che presentano sistemi su Fiat che cominciano molto prima del 2011
sembra che i sistemi su Fiat funzionino con qualsiasi scelta del time span di una media mobile ma certo in tal modo ci si espone più a lungo alla volatilità ed ai draw down
il vantaggio di una operatività intraday è proprio quello della minore esposizione e di minori draw down, ma non per questo i risultati sono peggiori anzi sono superiori qualitativamente e quantitativamente . . .
come abbiamo già visto nel thread interrotto su FI, si procede calcolando il rendimento o se preferite il “ROC” tra il prezzo delle 16 e quello di apertura ottenendo la colonna di label ( etichetta, nome ) “yield1”
poi se ne calcola la media e la volatilità con il metodo dell’ exponential smoothing ( colonne “avgr1” e “vola1” ) e successivamente questo valore di “yield1” viene normalizzato ottenendo la colonna “input1” con la formula
input1 = ( yield1 – avgr1 )/vola1
questo valore normalizzato ora ha media nulla e varianza unitaria il che presenta alcuni vantaggi x i calcoli successivi ed inoltre tiene conto delle variazioni di volatilità del mercato
dopo di che si divide l’ intervallo di variazione di “input1” in 5 parti ( ma si può fare anche in 3, 7, 9 etc ) x ottenere 5 fuzzy sets che chiamiamo “basso”, “mbasso” ( abbreviazione di medio-basso ), “medio”, “malto” ( abbreviazione di medio-alto ), “alto”
il fuzzy set “basso” è di forma trapezoidale, il lato superiore va da – infinito a “low”( punto di ascissa - 4 ) mentre la base va da – infinito a “mlow” ( punto di ascissa – 0.5 )
il fuzzy set “mbasso” è di forma triangolare, il vertice è nel punto “mlow”( punto di ascissa - 0.5 ) mentre la base va da “low” ( punto di ascissa – 4 ) a “mlow” ( punto di ascissa – 0.5 )
il fuzzy set “medio” è di forma triangolare, il vertice è nel punto “mid”( punto di ascissa 0 ) mentre la base va da “mlow” ( punto di ascissa – 0.5 ) a “mhigh” ( punto di ascissa 0.5 )
il fuzzy set “malto” è di forma triangolare, il vertice è nel punto “mhigh”( punto di ascissa 0.5 ) mentre la base va da “mid” ( punto di ascissa 0 ) a “high” ( punto di ascissa 4 )
il fuzzy set “alto” è di forma trapezoidale, il lato superiore va da “high”( punto di ascissa 4 ) a + infinito mentre la base va da “mhigh” ( punto di ascissa 0.5 ) a + infinito
notare che:
i fuzzy sets “basso” e “mbasso” hanno quindi un overlap tra – 4 e – 0.5
i fuzzy sets “mbasso” e “medio” hanno quindi un overlap tra – 0.5 e 0
i fuzzy sets “medio” e “malto” hanno quindi un overlap tra 0 e 0.5
i fuzzy sets “malto” e “alto” hanno quindi un overlap tra 0.5 e 4
vedremo che questi overlap giocano un ruolo fondamentale
x calcolare il grado di appartenenza ai vari fuzzy sets si usa il metodo della distanza che abbiamo già visto in altro thread
insieme “basso” :
se input1 <= low à 1
se input1 >= mlow à 0
se input1 > low à 1 - ASS( input1 – low )/ASS( low – mlow )
insieme “mbasso” :
se input1 <= low o input1 >= mid à 0
se input1 < mlow à 1 – ass( input1 – mlow )/ass( mlow – low )
se input1 > mlow à 1 – ass( input1 – mlow )/ass( mlow – mid )
insieme “medio” :
se input1 <=mlow o input1 >= mhigh à 0
se input1 > mlow e input1 < mhigh à 1 – ass( input1 – mid )/ass( mlow – mhigh )
insieme “malto” :
se input1 <= mid o input1 >= high à 0
se input1 < mhigh à 1 – ass( input1 – mhigh )/ass( mhigh – mid )
se input1 > mhigh à 1 – ass( input1 – mhigh )/ass( mhigh – high )
insieme “alto” :
se input1 <= high à 1
se input1 >= mhigh à 0
se input1 > mhigh à 1 - ASS( input1 – high )/ASS( high – mhigh )
prendiamo ad es la riga 207 del file PROVA-F-1 e vediamo che “input1” in questo caso vale 0.95 un valore che si colloca tra “mhigh” e “high” cioè tra 0.5 e 4 quindi apparterrà ad entrambi i fuzzy sets “malto” e “alto” con diversi gradi verità
eseguendo i calcoli come sopra troviamo che in questo caso il valore “input1” sarà contemporaneamente "malto" con un“grado di verità = 0.87 e “alto” con un grado di verità = 0.13
segue