Content uploaded by Pier Giuseppe Giribone
Author content
All content in this area was uploaded by Pier Giuseppe Giribone on Mar 22, 2017
Content may be subject to copyright.
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 1
L’algoritmo Fuzzy C-Means clustering come tecnica automatica per l’individuazione di
anomalie di mercato: un caso studio
Pier Giuseppe Giribone (1) – Ottavio Caligaris (2) – Simone Fioribello (3)
(1) BANCA CARIGE – Financial Engineering
(2) Professore ordinario di Analisi Matematica dell’Università di Genova – Dipartimento di Ingegneria Meccanica (DIME)
(3) Dottorando in Computer Science & Systems Engineering - Università di Genova
ABSTRACT
In literature there are several Data Mining methods being able to classify a different set of data in partitions designed to
highlight similar characteristics. These algorithms are essential to carry out a segmentation of the population in order to
distinguish common features among the elements belonging to the same class, on an automatic basis. Among all the clustering
techniques, the ones relating to the field of soft-computing (such as Fuzzy Logic) are considered particularly suitable for
application to the dynamic and unpredictable financial markets. The founding principles of Fuzzy Logic are well represented
in the algorithm of Fuzzy C-Means: this technique allows, on an automatic basis, market data to be classified in real time,
providing the operator not only an indication of the presence of potential anomalies (and therefore potential interesting trading
opportunities), but also a percentage of reliability of such information. The study is divided into two parts: the first section
deals with the principles of the Fuzzy C-Means clustering algorithm; in the second part a case study developed in Matlab
environment has been shown, with regard to the identification of potential abnormalities in premium quotes of the Credit
Default Swap (CDS) on a major Spanish bank.
Key Words:
Fuzzy C-Means (FCM) clustering, Fuzzy Logic (FL), soft-computing, Data Mining, Data Classification
1 Introduzione
In letteratura vengono presentate numerose metodologie di Data Mining finalizzate a classificare un insieme eterogeneo di
dati in partizioni atte ad evidenziare caratteristiche omogenee. Tali algoritmi sono essenziali per effettuare una segmentazione
della popolazione al fine di distinguere tratti comuni agli elementi appartenenti alla medesima classe, in via automatica. Tra
tutte le tecniche di clusterizzazione, si considerano particolarmente idonee ad essere applicate ai dinamici e difficilmente
prevedibili mercati finanziari quelle afferenti al campo della soft-computing, (ad esempio la Fuzzy Logic). I principi fondanti
della logica sfumata sono ben rappresentati nell’algoritmo di partizione Fuzzy C-Means: tale tecnica permette, in via
automatica, di classificare dati di mercato in tempo reale, fornendo all’operatore non solo l’indicazione sulla presenza di
potenziali anomalie (e pertanto potenziali interessanti opportunità di trading), ma anche di associare una percentuale di
affidabilità a tale informazione.
Lo studio si suddivide in due parti: nella prima vengono trattati i principi di funzionamento dell’algoritmo Fuzzy C-Means
clustering; nella seconda viene riportato un case-study sviluppato in ambiente Matlab, con riferimento all’individuazione di
potenziali anomalie nelle quotazioni dei premi, espressi in basis points, dei Credit Default Swap (CDS) in applicazione ad un
importante istituto creditizio spagnolo.
2 Data Clustering: la tecnica Fuzzy C-Means
Dato un insieme di dati, detto dataset, lo scopo del clustering è quello di identificare raggruppamenti naturali di questi punti,
per cercare di ottenere una concisa rappresentazione del comportamento del sistema.
Proprio in quest’ottica, la tecnica di clustering che viene presentata e descritta in questo lavoro di ricerca è la cosiddett a Fuzzy
C-Means (FCM): tale approccio metodologico, prendendo ispirazione direttamente dalla Fuzzy Logic, è una tecnica di data
clustering in cui, per ciascun punto del set di training si determina un certo grado di membership per ciascuno dei cluster che
vengono individuati.
Sostanzialmente, dati
D
punti, l’obiettivo è suddividerli in
N
partizioni distinte; l’aspetto particolare e innovativo rispetto al
clustering standard è che questo approccio consente di determinare quali sono i gradi di appartenenza (livelli di sfumatura)
dell’
i
-esimo punto rispetto a ciascuna delle partizioni considerate.
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 2
L’algoritmo opera assegnando in maniera casuale un certo grado di membership (
ij
) a ciascun punto
i
rispetto ad ognuno
dei
j
cluster e ricavando di conseguenza una certa distribuzione spaziale iniziale dei centri di massa delle
N
partizioni che si
vogliono ricavare.
Attraverso un procedimento iterativo, la funzione muove dinamicamente i baricentri verso la localizzazione ottima, ovvero
andando a minimizzare un funzionale di costo che rappresenta la somma delle distanze euclidee di ciascun punto da ciascun
centro di massa, opportunamente pesate col corretto grado di membership.
Nell’ultima parte di questo paragrafo viene presentato l’algoritmo con cui opera la tecnica Fuzzy C-Means. Come già spiegato
precedentemente, l’algoritmo si basa sulla minimizzazione del seguente funzionale di costo:
D
i
N
jjiij cxJ 1 1
2
(1)
Dove:
D
= numero di punti del dataset;
N
= numero di cluster da dover individuare;
i
x
=
i
-esimo punto del dataset;
j
c
= centro del
j
-esimo cluster;
ij
= grado di membership dell’
i
-esimo punto rispetto al
j
-esimo cluster.
A livello procedurale, si possono evidenziare 5 passi distinti che devono essere compiuti dall’euristica per raggiungere
l’ottimo.
1. Inizializzazione random di tutti i valori di membership
ij
2. Calcolo dei centri di massa dei cluster mediante:
D
iij
D
iiij
j
x
c
1
1
(2)
3. Aggiornamento di tutti i nuovi
ij
mediante:
N
kki
ji
ij
cx
cx
1
2
1
(3)
4. Calcolo del valore del funzionale di costo
J
5. Ripetizione dei passi 2-3-4 fino a che non si raggiunge un miglioramento pressoché nullo del funzionale di costo
oppure si raggiunge il numero massimo di iterazioni imposto dallo sperimentatore.
4 Applicazione della metodologia Fuzzy C-Means clustering all’individuazione di anomalie di mercato
Il 29 gennaio 2016, alle ore 15.15, Bloomberg® forniva diverse quotazioni dei CDS senior su un’importante banca spagnola a
1, 3, 5 ,7 e 10 anni.
I premi, espressi in basis points, forniti da diverse controparti, sono riportati nella tabella 1 e graficati in Figura 1.
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 3
ID points
Time
CDS [bps]
ID points
Time
CDS [bps]
1
1
75,574
39
5
154,75
2
1
76,95
40
5
156,78
3
1
76,799
41
5
157,738
4
1
80,7
42
5
159,25
5
1
88,98
43
5
160
6
1
79,903
44
5
156,781
7
1
76,965
45
5
157,239
8
1
85,459
46
5
154,67
9
1
90,97
47
7
171,841
10
1
86,831
48
7
172
11
1
95,09
49
7
175,742
12
1
102,02
50
7
184,01
13
1
89,834
51
7
184,03
14
1
87,567
52
7
179
15
3
110,871
53
7
176,532
16
3
101
54
7
175,06
17
3
112,521
55
7
181,457
18
3
106
56
7
182
19
3
116,88
57
7
186,112
20
3
116,871
58
7
195,92
21
3
113,241
59
7
195,94
22
3
118,659
60
7
185,6
23
3
111
61
7
186,794
24
3
120,309
62
7
183,09
25
3
116
63
10
188,15
26
3
124,46
64
10
192
27
3
123,685
65
10
192,857
28
3
121,09
66
10
206,47
29
5
149,021
67
10
206,52
30
5
149,75
68
10
199,27
31
5
147,14
69
10
193,643
32
5
150,267
70
10
191,473
33
5
149,25
71
10
197,793
34
5
155
72
10
202
35
5
150,176
73
10
203,322
36
5
149,216
74
10
218,55
37
5
149
75
10
205,94
38
5
156,425
76
10
203,995
39
5
154,75
77
10
199,535
Tabella 1: Quotazioni contribuite, espresse in punti base, dei CDS senior analizzati
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 4
Figura 1: Rappresentazione grafica delle quotazioni dei CDS senior
Applicando l’algoritmo di clustering Fuzzy C-Means, descritto nel paragrafo precedente, sul dataset in analisi, si è in grado di
evidenziare i centri di massa individuati dalla tecnica e riportati nella tabella 2.
La convergenza del metodo si ottiene dopo una dozzina di iterazioni della routine di minimizzazione principale (si confronti il
grafico Iterazioni–Valori del funzionale di costo
J
rappresentato nella Figura 2).
Figura 2: Grafico di convergenza dell’algoritmo di minimizzazione della funzione costo
J
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 5
T*
CDS*
1,029815
84,0465
2,93366
115,348
5,011498
153,5278
7,290601
181,9971
9,64927
201,4692
Tabella 2: Centri di massa individuati dalla tecnica Fuzzy C-Means
L’output della funzione permette di graficare i cluster individuati e fornisce la percentuale di appartenenza (
ij
) dei punti a
ciascun insieme. La Figura 3 mette in evidenza la partizione calcolata (cerchi evidenziati con colori d’appartenenza differenti)
ed i relativi baricentri (le croci nere). I livelli di membership dei singoli CDS (rappresentati con l’identificativo numerico
progressivo riportato nella Tabella 1) all’interno dei 5 cluster (identificati dalle ascisse dei loro centri di massa) sono riportati
nella Tabella 3.
Figura 3: Fuzzy C-Means clustering del dataset e i relativi centri di massa
Massa/ID
1
2
3
4
5
6
7
8
9
10
1,030
93,64%
95,20%
95,03%
98,69%
95,66%
98,08%
95,22%
99,70%
90,74%
98,75%
2,934
4,24%
3,24%
3,35%
0,92%
3,33%
1,34%
3,23%
0,22%
7,27%
0,94%
5,011
1,10%
0,82%
0,85%
0,21%
0,56%
0,31%
0,81%
0,04%
1,11%
0,17%
7,291
0,59%
0,43%
0,45%
0,11%
0,27%
0,16%
0,43%
0,02%
0,52%
0,08%
9,649
0,42%
0,31%
0,32%
0,08%
0,18%
0,11%
0,31%
0,01%
0,35%
0,06%
Massa/ID
11
12
13
14
15
16
17
18
19
20
1,030
73,70%
33,50%
93,81%
97,93%
2,65%
38,56%
0,96%
14,47%
0,22%
0,21%
2,934
21,71%
59,67%
4,80%
1,57%
95,69%
54,56%
98,31%
80,44%
99,52%
99,53%
5,011
2,62%
4,05%
0,77%
0,28%
1,05%
4,06%
0,47%
3,11%
0,17%
0,17%
7,291
1,18%
1,68%
0,37%
0,14%
0,38%
1,71%
0,16%
1,21%
0,05%
0,05%
9,649
0,79%
1,09%
0,25%
0,09%
0,23%
1,11%
0,10%
0,77%
0,03%
0,03%
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 6
Massa/ID
21
22
23
24
25
26
27
28
29
30
1,030
0,51%
0,89%
2,48%
1,78%
0,04%
4,27%
3,83%
2,24%
0,46%
0,32%
2,934
99,07%
97,81%
95,94%
95,14%
99,91%
84,22%
86,69%
93,54%
1,70%
1,16%
5,011
0,27%
0,88%
1,00%
2,11%
0,03%
8,24%
6,74%
2,92%
95,37%
96,69%
7,291
0,09%
0,27%
0,36%
0,61%
0,01%
2,10%
1,76%
0,83%
1,77%
1,32%
9,649
0,06%
0,16%
0,22%
0,35%
0,01%
1,17%
0,99%
0,47%
0,70%
0,51%
Massa/ID
31
32
33
34
35
36
37
38
39
40
1,030
0,93%
0,24%
0,41%
0,04%
0,25%
0,42%
0,46%
0,16%
0,03%
0,19%
2,934
3,66%
0,85%
1,52%
0,14%
0,90%
1,55%
1,72%
0,48%
0,10%
0,60%
5,011
91,11%
97,50%
95,80%
99,43%
97,37%
95,74%
95,33%
97,71%
99,61%
97,10%
7,291
3,05%
1,02%
1,63%
0,29%
1,07%
1,65%
1,79%
1,24%
0,20%
1,60%
9,649
1,25%
0,39%
0,64%
0,10%
0,41%
0,65%
0,70%
0,40%
0,07%
0,51%
Massa/ID
41
42
43
44
45
46
47
48
49
50
1,030
0,31%
0,52%
0,64%
0,19%
0,25%
0,03%
0,91%
0,89%
0,40%
0,04%
2,934
0,94%
1,54%
1,84%
0,60%
0,75%
0,08%
2,19%
2,14%
0,93%
0,09%
5,011
95,05%
90,62%
87,88%
97,10%
96,19%
99,66%
20,75%
20,01%
6,84%
0,44%
7,291
2,84%
5,68%
7,53%
1,60%
2,14%
0,17%
68,19%
69,06%
86,75%
98,14%
9,649
0,87%
1,64%
2,11%
0,51%
0,67%
0,06%
7,96%
7,89%
5,08%
1,30%
Massa/ID
51
52
53
54
55
56
57
58
59
60
1,030
0,04%
0,10%
0,31%
0,49%
0,00%
0,00%
0,15%
0,25%
0,24%
0,12%
2,934
0,09%
0,22%
0,71%
1,13%
0,01%
0,00%
0,31%
0,47%
0,47%
0,25%
5,011
0,44%
1,34%
5,04%
8,66%
0,05%
0,01%
1,46%
1,71%
1,71%
1,19%
7,291
98,10%
96,63%
89,67%
83,98%
99,85%
99,96%
91,65%
15,92%
15,80%
93,72%
9,649
1,33%
1,71%
4,27%
5,75%
0,09%
0,02%
6,42%
81,65%
81,77%
4,73%
Massa/ID
61
62
63
64
65
66
67
68
69
70
1,030
0,19%
0,01%
0,32%
0,40%
0,38%
0,16%
0,16%
0,04%
0,34%
0,41%
2,934
0,40%
0,03%
0,65%
0,79%
0,74%
0,29%
0,29%
0,07%
0,67%
0,81%
5,011
1,84%
0,14%
2,83%
3,11%
2,85%
0,84%
0,86%
0,23%
2,53%
3,22%
7,291
88,39%
99,45%
76,68%
43,58%
35,75%
3,93%
3,99%
1,59%
28,97%
48,49%
9,649
9,18%
0,37%
19,52%
52,12%
60,29%
94,79%
94,70%
98,07%
67,48%
47,08%
Massa/ID
71
72
73
74
75
76
77
1,030
0,10%
0,00%
0,02%
1,21%
0,13%
0,04%
0,03%
2,934
0,19%
0,01%
0,05%
2,05%
0,23%
0,08%
0,05%
5,011
0,65%
0,02%
0,14%
5,16%
0,69%
0,25%
0,18%
7,291
4,99%
0,10%
0,76%
16,34%
3,31%
1,30%
1,21%
9,649
94,07%
99,88%
99,03%
75,23%
95,63%
98,32%
98,53%
Tabella 3: Livelli di appartenenza dei punti del dataset ai singoli cluster
Il trader è in grado con questo metodo di visualizzare graficamente le eventuali anomalie di mercato: facendo riferimento
all’output grafico di Figura 3, qualora non fossero presenti quotazioni anomale, i centri di massa (X) dovrebbero essere
allineati al tenor di appartenenza della struttura a termine dei CDS. Maggiore è lo scostamento delle ascisse dei baricentri
rispetto al tenor, maggiore è l’overlapping tra gli insiemi identificati e, conseguentemente, risulta più marcata l’anomalia.
NEWSLETTER AIFIRM RISK MANAGEMENT MAGAZINE - 7
In un’ottica di algo-trading, la procedura può essere automatizzata: facendo riferimento alla matrice dei livelli di
appartenenza, riportata nella Tabella 3, possono essere estratti i potenziali CDS anomali a partire dall’analisi delle percentuali
di appartenenza ai singoli cluster per ogni punto.
Qualora la percentuale di appartenenza ad un gruppo fosse inferiore ad una determinata soglia limite di attenzione, il sistema
informativo evidenzia l’anomalia all’operatore.
4 Conclusioni
L’articolo ha evidenziato come l’algoritmo Fuzzy C-Means clustering possa essere ritenuto idoneo a classificare le
informazioni di mercato al fine di individuarne anomalie. La metodologia si presta ad essere implementata in una procedura
automatica che sfrutta i livelli percentuali di appartenenza di un elemento rispetto alle partizioni individuate, oppure da
interfaccia grafica con la visualizzazione degli scostamenti degli elementi rispetto ai baricentri calcolati.
Il principale aspetto negativo della metodologia, di particolare interesse nel settore finanziario, è che questa può operare
laddove possono essere specificati a-priori il numero di cluster secondo il quale è ragionevole partizionare il set di dati in
esame. Nell’esempio presentato era infatti ragionevole imporre come criterio la granularità temporale in corrispondenza della
quale erano contribuiti i premi. E’ intuitivo che l’algoritmo sia idoneo ad essere applicato in tutte le casistiche finanziar ie che
permettono di individuare un criterio per la suddivisione a-priori in classi dei dati (si cita ad esempio le strutture a termine
contribuite di prezzi, tassi, volatilità, CDS, premi assicurativi).
Per il proseguo dello studio si ritiene interessante proporre una metodologia di partizione in grado, a fronte di un lieve
incremento del tempo computazionale, di trattare problemi di clusterizzazione qualora il set iniziale di dati non consenta di
specificare a monte un numero di classi all’interno delle quali suddividere il campione.
Bibliografia
[1] J. F. Baldwin – “A new approach to approximate reasoning using Fuzzy Logic”, FSS 2, 1979
[2] J. C. Bezdec – “Pattern Recognition with Fuzzy Objective Function Algorithms”, Plenum Press, New York, 1981
[3] G. Bojadziev, M. Bojadziev – “Fuzzy Logic for Business, Finance and Management” – Advances in Fuzzy Systems:
Applications and Theory, Vol. 23, 2007
[4] S. Chiu – “Fuzzy Model Identification based on Cluster Estimation”, Journal of Intelligent & Fuzzy Systems, Vol. 2, No.
3, 1994
[5] D. E. Cox – “Fuzzy Logic for Business and Industry”, Charles River Media Inc., Rockland, Massachusetts, 1995
[6] A. M. Gil Lafuente – “Fuzzy Logic in Financial Analysis” – Springer series in “Fuzziness and Soft Computing”, Vol. 175,
2005
[7] J. Harris – “Fuzzy Logic Applications in Engineering Science”, Springer series in “Microprocessor based and intelligent
systems engineering”, Vol. 29 , 2006
[8] H. Hellendoorn, C. Thomas – “Defuzzification Fuzzy Controllers”, Journal of Intelligent and Fuzzy System, 1993
[9] A. Kaufmann – “Introduction to the Theory of Fuzzy Subsets”, Academic Press, New York, 1975
[10] A. Kaufmann, M. M. Gupta – “Fuzzy Mathematical Models in Engineering and Management Sciences”, North-Holland,
Amsterdam, 1988
[11] T. Korol – “Fuzzy Logic – Emerging Technologies and Applications: Fuzzy Logic in Financial Management” – InTech
Pubblication, 2012
[12] B. Kosko – “Fuzzy Thinking: The New Science of Fuzzy Logic”, Hyperion, 1993
[13] A. M. Ribeiro, L. B. Neto, P. H. G. Coelho, J. C. Soares de Mello, L. A. Meza – “Using Fuzzy Logic for pricing” –
ICEIS 2005 – Artificial Intelligence and Decision Support Systems, 2005
[14] G. Stojic – “Using Fuzzy Logic for evaluating the level of countries’ (regions’) Economic Development” –
Panoeconomicus, 2012
[15] The Mathworks – “Fuzzy Logic Toolbox” – User’s Guide, 2015
[16] The Mathworks – “Statistics and Machine Learning Toolbox” – User’s Guide, 2015
[17] L. Zadeh – “Fuzzy sets”, Information and Control. 1965