Beursvoorspellingen met behulp van virtuele mieren Jean-Luc Deprez
Promotoren: prof. dr. ir. Bart Dhoedt, prof. dr. ir. Filip De Turck Begeleider: Matthias Strobbe Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen
Vakgroep Informatietechnologie Voorzitter: prof. dr. ir. Daniël De Zutter Faculteit Ingenieurswetenschappen Academiejaar 2009-2010
Voorwoord Het tot stand komen van dit werk is niet zonder slag of stoot gebeurd. Dat dit wel het geval is, is natuurlijk niet alleen aan de auteur te danken. Zoals de traditie het wil is het voorwoord een plaats om een dankwoord te formuleren. Gelukkig zijn er voldoende mensen die hierbij te bedanken zijn. Eerst en vooral wil ik mijn ouders bedanken voor de kansen die ze mij reeds vijfentwintig jaar geven. Tijdens mijn hogere studiecarri`ere, liep het niet altijd van een leien dakje. Met een gezonde critische blik ondersteunden mijn ouders mij in de keuzes die ik tijdens mijn studieloopbaan maakte. Na een lange weg hoop ik mijn studies af te ronden, met dit werkstuk als kers op de taart. Verder wil ik mijn promotoren, Prof. Bart Dhoedt en Prof. Filip De Turck, bedanken om mij de kans te geven me in dit onderwerp te verdiepen. Toen in 2008 de financi¨ele en economische crisis losbarstte, probeerde ik daaromtrent alle mogelijke nieuwsfeiten en analyses mee te pikken. Ik was dan ook zeer verheugd toen ik in mei 2009 een masterproef hierover werd toegewezen. Ik heb dan ook het gevoel dat ik rond dit onderwerp ongelofelijk veel heb kunnen bijleren dit academiejaar. Mijn begeleiders, Ir. Matthias Strobbe en Ir. Olivier Van Laere, wens ik te bedanken voor het aanbrengen van idee¨en en het begrip op momenten dat het wat minder ging. De professoren van de Faculteit Economie en Bedrijfskunde, William De Vijlder en Michael Fr¨ommel, wens ik te bedanken omdat ze me toelieten hun lessen bij te wonen, ook al had ik niet de vereiste economische achtergrond. Hier en daar zal wel eens een vraag gesteld zijn die een trivialiteit moet zijn voor de gemiddelde econoom, maar door de band genomen denk ik wel dat deze academische uitstap een succes was. Ik ben tevreden dat ik de inhoud van mijn ingenieursstudie op deze manier kon verbreden. Aljosha Demeulemeester ben ik dankbaar om op belangrijke momenten een kritisch klankbord te zijn. Graag wil ik nog vrienden en familie, Steven Camps, Karen Deprez, Anja Polet, Kurt T’Joens en Geert Van der Straeten, bedanken voor het onderwerpen van mijn
teksten aan een kritisch oog.
Jean-Luc Deprez, augustus 2010
Toelating tot bruikleen “”De auteur(s) geeft(geven) de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de masterproef te kopi¨eren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef.” “The author(s) gives (give) permission to make this master dissertation available for consultation and to copy parts of this master dissertation for personal use. In the case of any other use, the limitations of the copyright have to be respected, in particular with regard to the obligation to state expressly the source when quoting results from this master dissertation.”
Jean-Luc Deprez, augustus 2010
Beursvoorspellingen met behulp van virtuele mieren door Jean-Luc Deprez Scriptie ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen, afstudeerrichting: software engineering Academiejaar 2009–2010 Promotor: Prof. Bart Dhoedt Promotor: Prof. Filip De Turck Scriptiebegeleider: Ir. Matthias Strobbe Scriptiebegeleider: Ir. Olivier Van Laere Faculteit Ingenieurswetenschappen Universiteit Gent Vakgroep Informatietechnologie
Samenvatting Het vertrekpunt voor deze masterproef was het op ACO gebaseerde datamining algoritme Ant-Miner. Het wordt toegepast op beurscijfers en economische indicatoren om een verzameling koersvoorspellende regels op te bouwen. Verder worden beurscijfers gelinkt aan nieuwsartikels om vervolgens koersvoorspellingen te maken op basis van n-gram gebaseerde tekstclassificatie. Ten slotte worden de voorspellingen gebruikt bij Markowitz Portfolio Selection ge¨ımplementeerd als een genetisch algoritme. De graad van correcte voorspellingen bij de verschillende technieken is beperkt. Toch blijken de aandelenportefeuilles die op basis ervan geconstrueerd werden relatief succesvol, vooral in de periode 2000-2010.
Trefwoorden Ant-Miner, genetisch algoritme, Markowitz Portfolio Selection, tekstclassificatie, TextCat
Combining Ant Colony Based Data Mining, N-Gram Based Text Mining and Mean-Variance Optimizing Portfolio Selection to Construct Profitable Stock Portfolios Jean-Luc Deprez Supervisor(s): Bart Dhoedt, Filip De Turck, Matthias Strobbe, Olivier Van Laere Abstract—In this article the qualities of an Ant Colony based data mining algorithm, know as Ant-Miner, to predict future stock returns is investigated. The same is done for N-gram-based text categorization. Of both techniques Ant-Miner proves to be the most successful, though this success is very modest. In order to further evaluate the results and include risk factors Mean-Variance Optimizing Portfolio Selection (or Markowitz Portfolio Selection) is applied, implemented as a genetic algorithm. Keywords— Ant-Miner, genetic algorithm, Markowitz Portfolio Selection, text categorization, TextCat
I. I NTRODUCTION HE availability of computing power including the grown storage ability during the last few decades has allowed for data mining techniques to develop within the field of computer science. These techniques have show interesting results, for example in the prediction of credit default risk [1]. The success of data mining techniques depends on patterns being present in the studied dataset. Possibly these patterns may be hidden, but nonetheless need to be present. In the context of stock markets this may prove to be a difficulty. Being first to see a profit opportunity can be crucial. As thousands of analyst and even trading programs contend, no other environment is as competitive in processing or analyzing newly available data. Arbitrage theory and the efficient-market hypothesis [2] may be subject of challange, they do indicate the surroundings. Include a touch of General Theory of Reflexivity [3], as posed by George Soros, and it is clear that this is a challenging mix.
T
II. A NT-M INER A. Algorithm Ant-Miner is a data mining technique proposes by Parpinelli et al.[4]. The basic idea is to map the different attribute values of a dataset to vertices. These vertices make up a graph in which ants will be searching a path, in accordance to ant colony optimization (ACO). Each constructed path represents a potential classification rule of the form: IF < x & y & . . . > T HEN < class > To determine one final classification rule an entire ACO run is performed. The resulting classification rule is the one generated that had the best classification properties throughout the run. Once a rule is found all cases conforming to that rule are removed from the learningset. Consequently the process is re-
peated with the trimmed dataset. This is repeated until the dataset drops beneath a certain size. The obtained ordered list of rules is the resulting classification model. The first rule to which a case complies determines the classification. For more details on the Ant-Miner algorithm please refer to the Ant-Miner paper[4]. B. Application to Stock Market Predictions In order to a apply this to stock markets, a dataset was constructed using historical data. Three month future return was selected as target class, as a compromise between reducing volatility, increasing time uncertainty and short term investing. Because of the month prediction scale, a sampling interval of 1 month was used. Next to returns from the past a total of about 40 distinct economic indicators were used. Examples are, rates on US government bills and bonds, price indexes, unemployment, exchange rates, gold and oil prices,.... In order to relieve this data from a specific context, only changes in these values were considered. The classic Ant-Miner algorithm only supports nominal attributes. Therefore all continuous values were discretized in to equal size bins. C. Results When classification was applied to the S&P500 index a classification quality of about 10% above random was achieved (e.g. 60% to 50% in case of two classes or 43% to 33% in case of three classes). When applied to separate stock , results were comparable, but when averaging over the entire dataset, results dropped about 4%. This leads to the conclusions that some patterns can be discovered but prediction still is difficult. III. N-G RAM -BASED T EXT C ATEGORIZATION (T EXT C AT ) A. Algorithm The essence of N-Gram-Based Text Categorization (TextCat) is that text can be classified according to language or theme by frequency analysis of used words [5]. But instead of using entire words, only fragments(n-grams) are used. B. Application to Stock Market predictions For application of TextCat to stock market prediction the same conditions were used as was the case in part II-C. This
time the input was news articles that were available in the New York Times archive that mention a company of the corresponding share. In this case the text profiles were constructed using full words. Grade of classification had only about 0.5-2.0% gain in reference to random prediction. Further it was discovered that on average a share is traded 9% more on days that the corresponding company is mentioned in a NY Times publication.
C. Results When looking at the investment performance during the period 1975-2010 (table I), the achieved result gets outperformed by the constructed LRP index. Although the results are competitive in the risk-return area. (note: E[r]= arithmetic average annual return) TABLE I INVESTMENT PERFORMANCE (1975-2010)
IV. M EAN -VARIANCE O PTIMIZING P ORTFOLIO S ELECTION A. Markowitz Portfolio Selection At the hart of Markowitz Portfolio Selection is the optimization of the risk-return ratio (Sharpe ratio). It does so by exploiting correlations that exist in between different share prices [2]. B. Genetic Algorithm Markowitz Portfolio Selection has no evident analytical solution when more then two investments are considered. Therefore the heuristic power of genetic algorithms was applied. The population was made up of different portfolios, with weights encoded in the genes. Crossover is implemented as an averaging of portfolios. The genetic algorithm was combined with gradient descent optimization to ensure that easy improvements were not left undiscovered. C. Result When applied to perfect predictions (future returns used as predictions) this algorithm achieved an effective annual return (EAR) of 176%. When past return is used as prediction, only a return of 6.5% is achieved. V. DATASET The list of stocks that was considered during this research was selected on having sufficient news hits during the period of 1995-1998 (NY Times). VI. C OMBINING THE E LEMENTS
S&P 500 LRP result
EAR 7.9% 33.7% 22.8%
E[r] 8.5% 37.8% 24.6%
Sharpe 0.16 0.91 1.00
utility 5.1% 19.6% 19.4%
α 0% 28.0% 16.9%
β 1 1.54 0.65
It is believed however that the selection criterion (see section V) is causing a strong bias in the considered list. Therefore the period of 2000-2010 was evaluated separately in hope of removing this bias (table II). TABLE II INVESTMENT PERFORMANCE (2000-2010)
S&P 500 LRP result
EAR -2.4% 14.3% 20.8%
E[r] -1.7% 15.2% 22.2%
Sharpe -0.31 0.68 1.40
utility -6.2% 11.3% 19.7%
α 0% 15.7% 19.6%
β 1 0.87 0.34
This proves a considerable difference. The combination of techniques succeeds in outperforming all benchmarks during the last decade. VII. C ONCLUSIONS The plausible bias in the dataset makes it difficult to make unambiguous conclusions. However, the results of the latter decade of the considered dataset seems to imply that the combination of these three techniques allows them to cancel out imperfection and as a result outperform all benchmarks. ACKNOWLEDGMENTS
A. Combining Combining the predictions produced by Ant-Miner and TextCat was simply done by computing an arithmetic average. Afterwards these predictions were fed to the Markowitz Portfolio Selection genetic algorithm to construct a risk optimized portfolio. B. Means of Evaluation In order to correctly evaluate the results produced by this portfolio a capital asset pricing model (CAPM) alike model is used [2]. E[ri ] − rRF = αi + βi · (E[rM ] − rRF )
Utility is calculated as defined by the CFA Institute U = E[r] −
1 2
· A · σ2
In order to achieve a fair comparison market capitalization weighted index LRP was created from the list of stocks.
The author would like to thank Bart Dhoedt, Filip De Turck, Matthias Strobbe and Olivier Van Laere for the oppertunity to perform research within this most interesting field of study. R EFERENCES [1] David Martens, Manu De Backer, Raf Haesen, Bart Baesens, Christophe Mues, and Jan Vanthienen, “Ant-based approach to the knowledge fusion problem,” Open access publications from katholieke universiteit leuven, Katholieke Universiteit Leuven, 2006. [2] Zvi Bodie, Alex Kane, and Alan J. Marcus, Investments + Standard and Poor’s Educational Version of Market Insight, McGraw-Hill Higher Education, 8 edition, 9 2008. [3] George Soros, “General theory of reflexivity and its application to financial markets,” five-part lecture series. [4] R. S. Parpinelli, H. S. Lopes, and A. A. Freitas, “Data mining with an ant colony optimization algorithm,” Evolutionary Computation, IEEE Transactions on, vol. 6, no. 4, pp. 321–332, 2002. [5] William B. Cavnar and John M. Trenkle, “N-gram-based text categorization,” 1994.
Inhoudsopgave Extended abstract
5
Verklarende Woordenlijst 1 Inleiding
xii 1
1.1
Probleemstelling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Aanpak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.4
Overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2 De Beurs 2.1
2.2
6
Opbrengst en Risico . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.1.1
Opbrengst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.1.2
Risico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.1.3
Risico Aversie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.1.4
Sharpe Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Financi¨ele Producten en Indicatoren . . . . . . . . . . . . . . . . . . .
12
2.2.1
Aandelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.2.2
Obligaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2.3
Fondsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.2.4
Afgeleide Producten . . . . . . . . . . . . . . . . . . . . . . . .
15
2.2.5
Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.2.6
Indicatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
i
INHOUDSOPGAVE
2.3
2.4
INHOUDSOPGAVE
Portefeuille Constructie . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.3.1
Kapitaal Alloceren . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.3.2
Optimale Risicohoudende Portefeuille . . . . . . . . . . . . . . .
19
2.3.3
Shorten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
Financi¨ele Theorema’s . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.4.1
Factormodelen en CAPM . . . . . . . . . . . . . . . . . . . . .
23
2.4.2
Arbitrage Theorie . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.4.3
Efficient-Market Hypothesis . . . . . . . . . . . . . . . . . . . .
27
2.4.4
Reflexivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3 Ant-Miner
31
3.1
Ant Colony Optimization . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.2
Ant-Miner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.2.1
Algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.2.2
Graafnetwerk en Padselectie . . . . . . . . . . . . . . . . . . . .
34
3.2.3
Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.2.4
Feromoonupdate . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.3
Myra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.4
Toepassing op Beursanalyse . . . . . . . . . . . . . . . . . . . . . . . .
40
3.5
Resultaten met Ant-Miner . . . . . . . . . . . . . . . . . . . . . . . . .
42
3.5.1
Toegepast op de S&P500 Index . . . . . . . . . . . . . . . . . .
42
3.5.2
Toegepast op Aandelenkoersen . . . . . . . . . . . . . . . . . . .
44
4 Tekstclassificatie 4.1
46
TextCat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.1.1
Algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.1.2
N-Gram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.1.3
Tekstprofiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.1.4
Afstand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.2
Extensie van TextCat . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.3
Resultaten van Tekstclassificatie met Extensie . . . . . . . . . . . . . .
50
ii
INHOUDSOPGAVE
INHOUDSOPGAVE
4.4
Resultaten van Opbrengstclassificatie . . . . . . . . . . . . . . . . . . .
51
4.5
Volumeanalyse op Basis van Tekstinformatie . . . . . . . . . . . . . . .
52
5 Genetische Algoritmen 5.1
5.2
5.3
Genetische Algoritmen . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.1.1
Populatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.1.2
Crossover en Mutatie . . . . . . . . . . . . . . . . . . . . . . . .
55
5.1.3
Selectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.1.4
Elitism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
5.1.5
Hybride Vormen . . . . . . . . . . . . . . . . . . . . . . . . . .
56
5.1.6
Impliciete Parallelliseerbaarheid . . . . . . . . . . . . . . . . . .
56
Portefeuilleopbouw met GA . . . . . . . . . . . . . . . . . . . . . . . .
56
5.2.1
Genoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
5.2.2
Fitheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
5.2.3
Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
5.2.4
Mutatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
5.2.5
Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . .
58
5.2.6
Randvoorwaarden . . . . . . . . . . . . . . . . . . . . . . . . . .
58
5.2.7
Kapitaalallocatie . . . . . . . . . . . . . . . . . . . . . . . . . .
60
Resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
6 Architectuur en Implementatie 6.1
6.2
6.3
54
63
Architectuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
6.1.1
Componenten . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
6.1.2
Subpipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
Bibliotheken en Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
6.2.1
Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
6.2.2
Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
6.2.3
Implementaties . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
Gegevensbronnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
6.3.1
69
Cijfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
INHOUDSOPGAVE
INHOUDSOPGAVE
6.3.2
Nieuws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
6.3.3
Voorbereiding en Selectie . . . . . . . . . . . . . . . . . . . . . .
70
6.3.4
Een Waardige Referentie . . . . . . . . . . . . . . . . . . . . . .
70
7 Resultaten
72
7.1
Herhaling van de Afzonderlijke Resultaten . . . . . . . . . . . . . . . .
72
7.2
Resultaten van de Samengestelde Voorspelling . . . . . . . . . . . . . .
73
7.2.1
Vergelijking van de Samenstellingen . . . . . . . . . . . . . . . .
73
7.2.2
Vergelijking met Referentieportefeuilles . . . . . . . . . . . . . .
75
7.3
Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
7.4
Openstaande Vragen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
A Figuren bij Hoofdstuk 7
83
B Randinformatie
92
B.1 Constant-Growth Dividend Discount Model . . . . . . . . . . . . . . .
92
B.2 Contextvrij volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
B.3 Tijdscomplexiteit Ant-Miner . . . . . . . . . . . . . . . . . . . . . . . .
94
B.4 De Rollende Portefeuilles . . . . . . . . . . . . . . . . . . . . . . . . . .
94
C Berekeningen
96
C.1 Constant-Growth Dividend Discount Model . . . . . . . . . . . . . . .
96
C.2 Inflatiecorrectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
C.3 Kapitaal Alloceren . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
D Lijst van Gebruikte Economische Indicatoren
98
E Lijst van Beschouwde Aandelen
101
Bibliografie
111
Lijst van figuren
112
Lijst van tabellen
113
iv
INHOUDSOPGAVE
Lijst van algoritmes
INHOUDSOPGAVE
114
v
Verklarende Woordenlijst σ standaardafwijking. xii, 9, 10, 57, 76, 95 CAL capital allocation line. 19–21, 23, 24 CAPM capital asset pricing model . 24, 25 CGDDM Constant-Growth Dividend Discount Model . 12 CPI consumer price index . 17 EMH efficient-market hypothesis. 27, 30, 80 ISM Institute for Supply Management. 18 PPI producer price index . 17 SFM Single Factor Model . 23–25 SML security market line. 24, 78 aandeel (stock) Financieel product die eigenaarschap van een (klein) gedeelte van een onderneming voorstelt. viii, 6, 12, 16, 27, 41 actief beleggen Beleggingsstrategie die het beter tracht te doen dan de markt door het selecteren van specifieke aandelen. 24, 41, 58, 70, 78, 95, zie passief beleggen annualized percentage return (APR) Geannualiseerde opbrengst berekend met een lineaire schaling. Dit is de eenvoudigste manier van schalen, iets wat vooral van tel was tijdens het pre-computertijdperk. 7
vi
VERKLARENDE WOORDENLIJST
ant colony optimization (ACO) Heuristische zoek- en optimalisatietechniek die deel uitmaakt van de familie van Evolutionaire Algoritmen. De techniek werd gebaseerd op de manier waarop mieren zich een weg banen van een nest naar een voedselbron. Door langs de afgelegde weg een feromoonspoor achter te laten, worden na verloop van tijd de kortste paden blootgelegd. [1] [2] [3]. vii, 31, 32, 34 Ant-Miner Dataminingtechniek gebaseerd op ant colony optimization (ACO), waarbij die mieren door een netwerk worden gestuurd dat is afgeleid van statistische informatie in de te bestuderen dataset [4]. vii, 3–5, 32, 40–43, 66, 72, 73, 81 AntMiner+ Gebaseerd op hetzelfde idee als Ant-Miner , maar met een iets andere manier van het opbouwen van het netwerk waarlangs de mieren kruipen [5]. 3 arbitrage Een risicovrije winstkans. 25, 26, 28, 80 beursindex Wordt berekend op basis van een pakket van aandelen om de algemene evolutie van de markt of een sector voor te stellen. xi, 15, 16 case . zie record chronologisch Hierbij wordt de dataset gescheiden op basis van datum. Alles voor een bepaalde datum is trainingset, en een gedeelte erna testset. Hierbij wordt de scheidingsdatum iteratief verschoven. Omdat deze manier van werken de tijdlijn respecteert, zijn dit werkelijk realiseerbare voorspellingen. 41, 42, 67, zie k-fold cross validation circuit breaker Als de koers van een aandeel op korte periode snel stijgt of zakt wordt de handel in het aandeel even(enkele minuten geschorst), zodat trading programma’s de tijd krijgen af te koelen. De duur van de pauze is afhankelijk van het uur van de dag. Het kan per aandeel gebeuren of gelden voor de volledige beurs. De naam verwijst naar de zekeringen die dienen om het elektriciteitsnet te beschermen [6]. 2
vii
VERKLARENDE WOORDENLIJST
collateralized debt obligation (CDO) Financieel product waarachter er een zeker onderpand schuil gaat, zoals een verzameling hypotheekleningen. 15 contextvrij volume Waardemeter voor volume, die werd uitgedacht voor deze masterproef. Het moet factoren zoals waarde van een aandeel en aandelensplitsing wegcijferen. Het geeft het verschil in verhandeld volume tegenover een jaargemiddelde en wordt uitgedrukt in procenten. 41, 52, 53, 70, 93 continuous compounding (CC) . 7, 8, 11, 18, 40, 70, zie logaritmische opbrengst datamining Het zoeken van bekende en nieuwe patronen in bestaande (grote) sets van digitale gegevens. 2–4, 15 dataset Verzameling gestructureerde gegevens. In deze masterproef onderwerp van onderzoek. vii, x, xi, 34, 36, 37, 42–44, 65, 66, 70, 77–81 dividend Winstdeelname als gevolg van aandeelhouderschap Zie aandeel (stock, share). 12 effective annual return (EAR) Geannualiseerde opbrengst berekend met een exponenti¨ele schaling. Dit is de meest correcte manier om opbrengst te annualiseren. 7, 8, 61, 73, 75 excess return De meeropbrengst van een risicohoudende investering bovenop de opbrengsten van een risicovrije investering.. xi, 11, 19, 40, 43, 57 fertile fallacy Valse wetmatigheden, die genoeg waar blijken om geloofd te worden, maar op termijn voor problemen zorgen. 29 fundamental analysis Beleggingsstrategie gebaseerd op analyse van financi¨ele of boekhoudkundige informatie beschikbaar over beleggingen. 27, 28 Gauss-distributie Distributie met een klokvorm, symmetrisch om haar gemiddelde. vgl f (x) =
√ 1 2πσ 2
e−
(x−µ)2 2σ 2
. zie normaaldistributie
viii
VERKLARENDE WOORDENLIJST
genetisch algoritme (GA) Heuristische zoek- en optimalisatietechniek, die deel uitmaakt van de familie van Evolutionaire Algoritmen. Een oplossing wordt gezocht door op een populatie van kandidaatoplossingen voortplanting, mutatie en de wet van de sterkste toe te passen. Oplossingen worden hierbij in de genen gecodeerd [7] [2]. 5, 54–56, 60, 72, 73, 75, 81, 82 gradient descent Optimalisatietechniek waarbij naar een optimum(minimum) wordt gezocht door af te dalen langs de stijlste flank en dus volgens de gradi¨ent. Dit zal meestal leiden naar een lokaal optimum. 56, 58, 60, 61 holding period return (HPR) Opbrengst gerealiseerd gedurende de termijn van de investering. 7 k-fold cross validation Hierbij wordt de dataset gesplitst in gelijke delen. Bij elke iteratie is ´e´en deel testset en zijn de anderen delen trainingset. Deze manier van werken respecteert de tijdlijn niet en is dus louter academisch. 41–43, 66, zie chronologisch liquiditeit Het gemak waarmee een financieel product gekocht en verkocht kan worden. 14, 71 logaritmische opbrengst Logaritmische opbrengstberekening, met een aantal interessante eigenschappen met betrekking tot tijdreeksen. 7, 8, zie continuous compounding (CC) long Een long strategie gaat uit van een positieve return van een product. Het eenvoudigste voorbeeld is het kopen van een aandeel. Dit is tegengesteld aan de short strategie. xi, 22, 23, 61, 73, zie short Markowitz Portfolio Selection Methode voor het samenstellen van een portfolio met een optimale risico-rendement verhouding. 21, 73, 81, 95 marktkapitalisatie De totale waarde aan vrij te verhandelen aandelen van een bedrijf M arktCap = P rijs × ]Aandelen. 16, 71 ix
VERKLARENDE WOORDENLIJST
n-gram String van n karakters. 47–51 n-gram gebaseerde tekstclassificatie (TextCat) Algoritme dat op basis van statistieken over substrings, met behulp van een afstandsmaat, tekst probeert te classificeren [8]. xii, 46, 81 normaaldistributie . 8, 24, 75, zie Gauss-distributie obligatie (bond) Financieel product dat de bezitter schuldeiser maakt van een deeltje van een lening aan een onderneming of staat. 13, 14 opbrengst (return) Meerwaarde die ontstaat tengevolge van een investering. 6, 8, 10, 18, 19, 21, 23, 25, 43, 74, 76 optie Financieel product dat een toekomstig aankooprecht van een ander financieel product representeert (meestal een aandeel). 15 overfitting Als een model aan algemeenheid verliest omdat de gegevens in de trainingset worden geleerd in de plaats van de onderliggende patronen. 42 passief beleggen Beleggingsstrategie die er op mikt om een index te volgen en daarbij veel transacties vermijdt. 16, 70, 71, 94, zie actief beleggen portefeuille (portfolio) Verzameling van investeringen, meestal samengesteld met een welbepaalde strategie. 1, 4, 5, 8, 14, 16, 18, 19, 21–24, 57, 58, 60, 70–77, 80, 81, 94, 95 program trading Het geautomatiseerd verhandelen van financi¨ele producten, gesteund door regels en statistieken, met als bedoeling meerwaarde te cre¨eren door de snelheid waarmee de transacties plaats vinden. vii, 2, 26 pruning Het inkrimpen van het antecedent van classificatieregels. Afkomstig van het “snoeien” in een classificatieboom. 34, 38 record E´en waarneming (tuple) uit de dataset. 32, 33, 37–39, 51, 52, 64, zie dataset
x
VERKLARENDE WOORDENLIJST
reflexivity Theorie die zegt dat marktspelers effectief de markt be¨ınvloeden en impliciet ook zichzelf terug be¨ınvloeden. 29, 30, 80 risk aversion Parameter die de afkeer, die een belegger heeft tegenover risico, representeert. 10, zie utility function scheidingsprincipe Het principe dat samenstelling van risicohoudende investeringen apart kan worden gemaximaliseerd, om vervolgens te combineren met een risicovrije investering. 21 Sharpe ratio Het return-to-volatility-ratio, of de rendement-risico verhouding. SR = re , met re excess return. 11, 19–21, 28, 57, 61, 73, 74, 76 σ short Een short strategie gaat uit van een negatieve return van een product. Het eenvoudigste voorbeeld is het verkopen van een aandeel (zonder het te bezitten) om het later terug te kopen aan een lagere prijs (om de plichten als verkoper te vervullen). Dit is tegengesteld aan de long strategie. ix, 22, 23, 59, 61, zie long Standard & Poor’s 500 (S&P 500) Beursindex van de 500 grootste beursgenoteerde bedrijven in de Verenigde Staten. 15, 16, 24, 25, 40–42, 60, 69–71, 75 survival bias Inherent aan de studie van beursdata, in de manier waarop de dataset werd opgebouwd, is een “survival bias” aanwezig. Hiermee wordt bedoeld dat aandelen, van bedrijven die in de loop der jaren overkop gingen, niet in de dataset zijn opgenomen, omdat ze op het tijdstip van constructie van de dataset geen notering meer hebben. 78, 79 T-Bill Korte termijn obligatie van de schatkist van de VS . 14, 75 technical analysis Beleggingsstrategie gebaseerd op statistische analyse van koersen. 27 testset Deel van de dataset die zal dienen als controle van de geleerde patronen. vii, ix, 50, 66, 67, 70, zie dataset
xi
VERKLARENDE WOORDENLIJST
TextCat Zie n-gram gebaseerde tekstclassificatie (TextCat). 5, 48–51, 66, 72, 73, 75 trainingset Deel van een dataset waaruit patronen geleerd zullen worden. vii, ix, x, 33, 34, 42, 50, 66, 67, 70, 77, 78, zie dataset utility function Model om de evenwaardige risicovrije belegging te berekenen van een risicodragende belegging. U = E[r] − 21 · A · σ 2 . 10, 18, 19, 61, 73, 74, 76, 77, 80 volatiliteit Schommelingen waar de opbrengst van een financieel product aan onderhevig is. De standaardafwijking (σ) is hiervoor een goede maat. 9, 10, 18, 19, 21, 41 zeepbel bubble: In de financi¨ele wereld spreekt men over een zeepbel als de verhandelde producten overgewaardeerd worden, waarbij de overwaardering meestal zelfversterkend is. Gangbare voorbeelden zijn het geloof in het oneindig stijgen van de beurs in de jaren rond 1930, het overwaarderen van .com-aandelen rond de jaren 2000 en de Amerikaanse huizenmarkt rond 2007-2008. Het barsten van een zeepbel leidt meestal tot een forse daling van beurskoersen en durft aanleiding geven tot een recessie. 1, 30, 75, 77, 80, 81
xii
Hoofdstuk 1 Inleiding De beurs is een wereld die vele mensen aanspreekt. De beurs laat iedereen toe voor een deeltje eigenaar te worden van de private bedrijven die het raderwerk vormen van een kapitalistische economie. Een beperkte hoeveelheid cijfers zoals de beurskoersen representeren een gigantische economische waarde. Elke beslissing of belegging omvat zowel een opportuniteit als een risico. Alom bekende successen van enkelingen, zoals Warren Buffett [6] [9] en George Soros [10] [11], doen velen dromen maar is weinigen gegeven. Door het verdelen van eigenaarschap en het diversifi¨eren van een aandelenportefeuille is het mogelijk risico’s van ondernemen, zoals faillisement, te verkleinen. Systeemrisico’s, zoals deze verbonden aan economische cycli, zullen echter steeds aanwezig blijven [12]. Bovendien bestaan in een marktenwereld bijkomende risco’s zoals het ontstaan van zeepbellen [13]. Reeds rond het einde van de 17e eeuw ontstond er in Nederland dergelijke zeepbel tengevolge van de speculatie rond tulpen [6] [14]. Daarnaast is het ook nog eens uitkijken voor mensen met ronduit slechte bedoelingen. Zo werden in de 14e eeuw in Veneti¨e reeds geruchten verspreid om de prijzen van overheidsobligaties te drukken [15], iets wat zich de eerste helft van 2010 herhaalde voor de Mediterrane landen van de Eurozone. Bovendien is de markt van de financi¨ele producten niet vrij van frauduleuze constructies, zoals de fondsen van Bernard Madoff [16] die een piramidespel bleken te zijn of de ABACUS producten van Goldman Sachs die gemaakt werden om te falen [17]. (Voor meer over de beurs zie hoofdstuk 2)
1
HOOFDSTUK 1. INLEIDING
Datamining is een tak van machineleren (machine learning) die de laatste decennia aan populariteit wint. Dit is mede te danken aan de snelheid waarmee de prijs voor verwerkings- en geheugencapaciteit is gedaald en de steeds uitvoerigere beschikbaarheid van gedigitaliseerde gegevens. Voor de modale ingenieur-informaticus die in aanraking komt met de domeinen van datamining en de financi¨ele markten, spreekt de combinatie ervan zonder twijfel tot de verbeelding. Banken zullen het niet graag toegeven, maar ook zij zien al enige tijd brood in het machinegestuurd verhandelen (program trading) van financi¨ele producten. Er zijn in de recente geschiedenis echter voorbeelden dat dit ook niet zonder gevaar is. Zo zouden trading programma’s de beurscrash van 19 Oktober 1987 deels voor hun rekening mogen nemen. Hierbij zouden de trading programma’s van verschillende marktspelers door hun transacties zichzelf en elkaar aangezet hebben tot verkoop van aandelen en speculatie tegen zakken, waardoor prijzen in vrije val kwamen. Als gevolg hiervan werden beveiligingsmechanismen (circuit breakers) ingevoerd die bij te grote schommelingen de handel stil leggen. Zo krijgen de computers de kans even af te koelen [6] [18] [19]. Ironisch genoeg zou dit beveiligingsmechanisme op 6 mei 2010 de trading programma’s stevig in de war gebracht hebben. Toen de koersen begonnen te zakken, omdat de markten zich zorgen maakten om de schuldencrisis in Griekenland, werd de handel in bepaalde aandelen even stil gelegd op de New Yorkse beurs (NYSE). Trading programma’s op alternatieve elektronische markten, waar de handel verder ging, interpreteerden dit in sommige gevallen als een koers van $0. Deze anomalie zou door menselijke actoren gemakkelijk gedetecteerd worden, maar de computers begonnen te handelen naar de voor hen zichtbare toestand. Als gevolg halveerde de waarde van het goede huisvader aandeel Procter & Gamble, het aandeel van Accenture ging van meer dan $40 naar $0.01. Honderden miljarden dollars gingen in een tijdspanne van een kwartier in rook op om zich in het volgende kwartier ongeveer te herstellen. Ondertussen was het kwaad natuurlijk geschied, sommige partijen hadden gigantische verliezen en anderen onnatuurlijke winsten geboekt, met een discussie over het annuleren van bepaalde transacties als gevolg [20] [21] [22].
2
1.1 Probleemstelling
1.1
HOOFDSTUK 1. INLEIDING
Probleemstelling
Het is duidelijk uit vorige paragraaf dat de wereld van het beleggen vol risico’s zit. Het is evengoed duidelijk dat een belegger graag een graantje meepikt van de opbrengsten die verbonden zijn aan het beleggen, maar dat diezelfde belegger daarbij graag zo weinig mogelijk risico loopt. De opbrengstenzijde van deze balans kan mogelijks verbeterd worden door het voorspellen van toekomstige koersen. Het voorspellen van de beurskoersen is echter moeilijk en hangt van een groot aantal factoren af waaronder het algemene economische en beursklimaat, de omzet- en winstcijfers van het bedrijf, de genomen strategische beslissingen, etc.. Bovendien spelen ook uitzonderlijke omstandigheden zoals oorlogen of natuurrampen een rol. Door de grote hoeveelheid data die beschikbaar is, is het niet evident om alle gegevens vlot te analyseren. Om uit deze data patronen of trends af te kunnen leiden zijn dataminingtechnieken nodig. Voorbeelden van dataminingtechnieken zijn bv. statistische analyses, clustering technieken of neurale netwerken. Een mogelijke dataminingtechniek bestaat erin het principe te gebruiken dat mieren toepassen om de kortste weg te vinden tussen hun nest en een voedselbron. In het begin zwermen alle mieren op goed geluk afzonderlijk uit. Ze markeren daarbij hun spoor met een feromoon. De beste paden worden gaandeweg door meer mieren gebruikt en dus sterker gemarkeerd, tot er voor de hele kolonie een ideaal spoor ontstaat. Door dit principe toe te passen op data kunnen trends en voorspellende regels afgeleid worden. Deze techniek werd door de bedenkers ervan Ant-Miner gedoopt. Een licht aangepaste versie, AntMiner+, werd bijvoorbeeld al succesvol toegepast op financi¨ele data om de kredietwaardigheid van personen te voorspellen [5].
1.2
Doelstelling
Voor deze masterproef is het de bedoeling om te onderzoeken hoe algoritmes gebaseerd op het zoekgedrag van mieren gebruikt kunnen worden om voorspellende regels af te leiden uit beurskoersen. Doel is dus om regels af te leiden die aangeven in welke omstandigheden een koersstijging of koersdaling te verwachten valt. Een mogelijke
3
1.3 Aanpak
HOOFDSTUK 1. INLEIDING
regel zou kunnen zijn: Beursindex daalt & Bedrijf X Stijgt -> Bedrijf X zal verder stijgen. Belangrijk voor het onderzoek is ook na te gaan welke contextfactoren een (belangrijke) invloed kunnen hebben op het koersverloop van een aandeel (deze kunnen bijvoorbeeld gevonden worden in economische indicatoren). Verder zal onderzocht worden of het mogelijk is om, op basis van de voorspellingen gemaakt door het gevonden model, een aandelenportefeuille samen te stellen die erin slaagt beter te presteren dan het marktgemiddelde.
1.3
Aanpak
Het is de mening van de auteur, dat Ant-Miner alleen deze taak onmogelijk tot een goed einde kan brengen. Daarom kwam reeds vrij vroeg in het academiejaar de focus te liggen op een driesporenconcept: Ant-Miner zou moet dienen als dataminingalgoritme. Een tekstanalyse-component moet instaan voor het analyseren van nieuwsbe-
richten. Zodat wereldlijke gebeurtenissen, die niet noodzakelijk een evidente cijferwaardige tegenhanger hebben, toch betrokken kunnen worden bij de voorspellingen. Op basis van de voorspellingen moet een aandelenportefeuille worden samenge-
steld, die de voorspellingen volgens de regels van de kunst optimaal probeert te benutten. Gedurende het verloop van het academiejaar is er wel een verschuiving gebeurd op gebied van de data die bestudeerd werd. Bij aanvang was het de bedoeling te werken met live data die in de loop van het academiejaar van het internet werd verzameld. Dit bracht echter verschillende complicaties met zich mee, zoals het beslaan van een slechts beperkte tijdsspanne, wat het het zoeken van algemeen geldige patronen bemoeilijkt. Ook bracht de toen aangehouden sampletijd van een kwartier erg grote hoeveelheden data met zich mee.
4
1.4 Overzicht
HOOFDSTUK 1. INLEIDING
Daarom werd overgeschakeld op koersinformatie die een grote periode overspant en een waarnemingsfrequentie van dagen tot maanden heeft. Dit gaat ten koste van de mogelijkheid om gedetailleerd hogesnelheidsgebeurtenissenanalyse [23] uit te voeren, maar zorgt voor een bredere kijk en een meer handelbare dataset.
1.4
Overzicht
In wat volgt wordt eerst de context van de beurs wat breder geschetst. Hierbij wordt dieper ingegaan op een aantal punten die reeds werden aangehaald in deze inleiding. Als volgende wordt de werking van Ant-Miner besproken. Er wordt een kleine aanpassing rond parallellisatie aangebracht om vervolgens een eerste toepassing op beurscijfers te bespreken. Daarna wordt het tekstclassificatiealgoritme TextCat uit de doeken gedaan. Ook hier worden kleine uitbreidingen besproken. Daarop volgen de resultaten hiervan toegepast op thema classificatie om vervolgens toe te passen op een combinatie van nieuws met beurscijfers. Een laatste theoretische hoofdstuk belicht het gebruik van genetische algoritmes (GAs) om een aandelenportefeuille samen te stellen die geoptimaliseerd is met betrekking tot de verhouding tussen opbrengst en risico. Daarop volgt een bespreking van de architectuur, de gebruikte bibliotheken en de implementatie. In het laatste hoofdstuk worden de resultaten van de samengestelde componenten vergeleken met een aantal referentieportefeuilles, zodoende volledige conclusies te kunnen trekken.
5
Hoofdstuk 2 De Beurs Vooraleer te duiken in de computerwetenschappelijke aspecten van deze masterproef is het belangrijk om alles te situeren in de juiste context. Het is hierbij de bedoeling een beknopte voorstelling te geven van de aspecten, die een rol gespeeld hebben bij de gemaakte keuzes, of die kunnen helpen bij het verklaren van de resultaten. Aangezien het gaat om een overzicht rond financi¨ele producten en beleggingen zijn de voornaamste bronnen het handboek “Investments” van Zvi Bodie et al. [12], het opleidingsonderdeel “Economics of Financial Markets” van prof. William De Vijlder [10] en het opleidingsonderdeel “Investment Analysis” van prof. Michael Fr¨ommel [23]. Deze bronnen kunnen dus als impliciet verondersteld worden doorheen dit hoofdstuk. Er is voor gekozen sommige termen niet te vertalen om niet te ver af te wijken van de grammatica, acroniemen en symbolen eigen aan het vakgebied.
2.1 2.1.1
Opbrengst en Risico Opbrengst
De opbrengst (return) van een investering moet op een objectieve manier ge¨evalueerd kunnen worden. In het geval van een prijsgenoteerd financieel product, zoals een aandeel (stock, share), is de meest eenvoudige manier van berekenen:
6
2.1 Opbrengst en Risico
HOOFDSTUK 2. DE BEURS
P1 = 1 + HP R P0
(2.1)
Waarbij Pi de prijs is op tijdstip i en HP R de opbrengst is of holding period return (HPR) (uitgedrukt als een re¨eel getal, niet in procenten). Deze berekening houdt echter nog geen rekening met de tijd die verstrijkt tussen de twee tijdstippen. Het is conventie van te normaliseren op een 1 jaar 1 . Zij T = t1 − t0 uitgedrukt in jaren, dan is de effective annual return (EAR):
EAR = (1 + HP R)1/T − 1
(2.2)
Dit is de meest correcte manier om het rendement op jaarbasis te berekenen. In de sector wordt echter ook nog veel gewerkt met de eenvoudige lineaire schaling om, annualized percentage return (APR) te bekomen: AP R =
HP R T
(2.3)
De APR is een stuk eenvoudiger om te berekenen en stemt vooral voort uit het precomputertijdperk. EAR en APR kunnen dus als volgt in elkaar worden omgezet: 1 + EAR = (1 + T · AP R)1/T
(2.4)
Laten we hierbij het interval T in de limiet naar 0 evolueren, dan bekomen we de opbrengst in continuously compounded (CC) vorm
2
:
1 + EAR = ercc rcc = ln(1 + EAR)
(2.5) (2.6)
Naast een leuke limietberekening te zijn heeft de opbrengst in CC vorm nog een aantal interessante eigenschappen met betrekking tot tijdreeksen. Zo is de niet geannualiseerde logaritmische opbrengst gelijk aan: P1 T = T · rcc rrcc = ln P0 1
(2.7)
Interesten op de meeste bancaire producten, zoals spaarrekeningen, moeten verplicht op jaarbasis
worden geadverteerd. 2 limT →0+ (1 + T · x)1/T = ex
7
2.1 Opbrengst en Risico
HOOFDSTUK 2. DE BEURS
Opbrengsten in CC vorm zijn dus wel lineair en voor opeenvolgende periodes eenvoudig i de geannualliseerde CC opbrengst voor periode te sommeren(met T = T1 + T2 en rcc
Ti ): T rrcc
P2 P1 P2 = ln = ln · P0 P0 P1 P1 P2 2 1 = ln + T2 · rcc + ln = T1 · rcc P0 P1
Daarnaast is de logaritmische opbrengst symmetrisch rond 0 P1 P0 ln = −ln P0 P1
(2.8) (2.9)
3
(2.10)
wat onder meer een interessante eigenschap is bij het modelleren met normaaldistributies. Ook berekening van opbrengst na inflatie is eenvoudiger in het CC domein. Zij i de inflatie, rn de opbrengst voor inflatie correctie en rr de gecorrigeerde opbrengst, dan is 4
: 1 + rr =
1 + rn 1+i
(2.11)
In het CC domein wordt dit zonder termen te verwaarlozen r n rcc = rcc − icc
(2.12)
n r rcc = rcc + icc
(2.13)
Het is gangbaar om de logaritmische opbrengst te gebruiken bij tijdreeksenanalyse [24]. De CC vorm is echter niet geschikt om de samengestelde opbrengst van een beleggingsportefeuille te berekenen. Hiervoor moet teruggevallen worden op een andere vorm zoals EAR. Voor deze masterproef werd vastgehouden aan deze conventies. 3
Stel dat jaar 1 de koers van een aandeel van 100 naar 110 gaat, dan is voor dat jaar de EAR =
0.1 = 10% en de rcc = 0.0953 = 9.53%. Als nu in jaar 2 de koers zakt van 110 naar 100, dan is de EAR = −0.0909 = −9.09% en de rcc = −0.0953 = −9.53%. 4 Dit wordt meestal vereenvoudigd tot rr = rn − i of rn = rr + i. (zie C.2)
8
2.1 Opbrengst en Risico
2.1.2
HOOFDSTUK 2. DE BEURS
Risico
Opbrengst is echter slechts de helft van het verhaal. Aan de meeste beleggingen is ook een zeker risico verbonden, ook dit willen we natuurlijk op een objectieve manier kunnen beoordelen. Zijn een voorspelde opbrengst r (eender welke vorm) en de kans dat deze opbrengst zich voordoet p(r). Stel dat de situatie zich voordoet zoals in tabel 2.1. Tabel 2.1: voorspelde opbrengst en kans. r
p(r)
Situatie
30%
30%
sterk beursjaar
10%
30%
normaal beursjaar
-20%
40%
slecht beursjaar
De uiteindelijke verwachte opbrengst E[r] bekomen we als volgt. E[r] =
X
p(r) · r
(2.14)
Voor dit voorbeeld komt dit uit op 4%. Een goede maat voor de onzekerheid verbonden aan deze opbrengt is de spreiding of standaardafwijking (σ). Die als volgt berekend wordt: σ 2 = V AR[r] = p σ = V AR[r]
X
p(r) · (r − E[r])2
(2.15) (2.16)
Wat voor dit voorbeeld, 21,07% geeft. Dit vereist natuurlijk dat voor alle mogelijke toekomstige scenario’s, gekend is wat de kans is waarmee ze zich voordoen en wat de bijhorende opbrengst is. Dit is duidelijk geen triviaal probleem. Door de band genomen verandert de volatiliteit van financieel product eerder traag. Hierdoor kunnen we ons baseren op de standaardafwijking (σ) van opbrengsten uit het verleden als indicator voor de toekomstige volatiliteit. [24]
9
2.1 Opbrengst en Risico
2.1.3
HOOFDSTUK 2. DE BEURS
Risico Aversie
Een verstandige belegger heeft natuurlijk enige afkeer van risico. Concreet, gegeven de keuze uit een risicovrije staatsobligatie
5
met een opbrengst van 5% en een alternatief
die eveneens een verwachte opbrengst van r = 5% heeft, maar een volatiliteit σ = 10%. In deze situatie is de meest verstandige keuze natuurlijk de staatsobligatie, de winst wordt namelijk gelijk geschat, terwijl de staatsobligatie dit rendement belooft zonder enig risico. In het geval dat de verwachte opbrengst voor de alternatieve belegging 10% was, is deze keuze een stuk minder voor de hand liggend. Voor een bepaalde extra opbrengst is men dus bereid een zeker risico te nemen. Een courant gebruikte manier om dit te modelleren is met volgende functie: U = E[r] −
1 · A · σ2 2
(2.17)
Deze zogenaamde utility function berekent de waarde die de belegging zou hebben voor de belegger moest deze risicovrij zijn, in functie van de verwachte opbrengst E[r] het risico σ. De aandachtige lezer heeft opgemerkt dat er nog een onbekende in deze vergelijking staat, namelijk parameter A. Dit is de risk aversion of de afkeer die een belegger heeft tegenover risico. Dit hangt in principe af van belegger tot belegger. Onderzoek van historische opbrengsten geeft aan dat deze parameter, voor de Amerikaanse financi¨ele markt, zich tussen 2,0 en 4,0 bevindt. In figuur 2.1 zijn de indifferentiecurves voorgesteld voor een aantal waarden van utility. Deze curves tonen welke opbrengst een risicodragende investering moet produceren om even aantrekkelijk te zijn als een risicoloze investering met dezelfde utility. Voor figuur 2.2 geldt hetzelfde, alleen wordt hier gevarieerd met de risk aversion. Het ligt voor de hand dat elke belegger de utility van zijn investering wil maximaliseren. 5
Voor een kleine belegger is het meest voor de hand liggende voorbeeld van een risicovrije inves-
tering de spaarrekening. Voor institutionele beleggers kunnen korte termijn staatsobligaties daartoe dienen.(zie 2.2.2)
10
2.1 Opbrengst en Risico
HOOFDSTUK 2. DE BEURS
Figuur 2.1: indifferentiecurves (utility)
2.1.4
Sharpe Ratio
Een waarde die in het bijzonder geschikt is om risicohoudende investeringen met elkaar te vergelijken is het Sharpe ratio. Zij re de excess return of de meeropbrengst bovenop deze van een risicovrije investering rRF : re = r − rRF
6
(Over risicovrije beleggingen
zie voetnoot 5 in deel 2.1.3). Dan bekomen we het Sharpe ratio als volgt: SR =
re σ
(2.18)
Ook hier spreekt het voor zich dat het doel is een zo hoog mogelijk Sharpe ratio te bekomen. (Zoals in deel 2.3 zal duidelijk worden.) 6
In principe is de som enkel geldig in het CC domein, maar ook hier kan een term verwaarloosd
worden zoals dat voor inflatie het geval was, zie C.2.
11
2.2 Financi¨ele Producten en Indicatoren
HOOFDSTUK 2. DE BEURS
Figuur 2.2: indifferentiecurves (risk aversion)
2.2 2.2.1
Financi¨ ele Producten en Indicatoren Aandelen
Aandelen zijn mogelijks de meest bekende van alle financi¨ele producten. Een aandeel representeert het bezitten van een (meestal klein) deel van een onderneming. Elk aandeel heeft recht op ´e´en stem tijdens de algemene vergadering en een deeltje van de winst via het dividend . Bij een faillissement of ontbinding van de onderneming wordt de restwaarde van het bedrijf verdeeld onder de aandeelhouders, maar slechts nadat alle schuldeisers langs de kassa zijn gepasseerd. Strikte regels voor de waardering van een aandeel zijn er niet. Analisten proberen de correcte waarde van een aandeel te bepalen door rekening te houden met parameters als de eigendommen, de schuldgraad, de opbrengsten en/of de potenti¨ele groei van de onderneming. Een eenvoudig voorbeeld hiervan is het Constant-Growth Dividend Discount Model (CGDDM ), die de waarde van een aandeel bepaalt op basis van de verwachte dividenden. (voor meer uitleg rond CGDDM , zie B.1) Het CGDDM is een mooie manier voor het schatten van de waarde van een aandeel.
12
2.2 Financi¨ele Producten en Indicatoren
HOOFDSTUK 2. DE BEURS
Het kent echter de problemen die met alle modellen gepaard gaan, namelijk de schatting van de parameters. Bovendien komen er sterke vereenvoudigingen aan te pas. De werkelijke waardering van een aandeel wordt arbitrair bepaald door vraag en aanbod op de markt. Modellen die analisten gebruiken zullen hierbij wel invloed hebben, maar kunnen onmogelijk alles bepalen. Los van deze complexiteit is de geldwaarde van een aandeel vrij rechttoe rechtaan. De notering is de laatste prijs waarvoor een aandeel over de beursvloer ging en is dus een goede rechtstreekse maatstaf voor de geldwaarde van het aandeel. Deze eenvoud en de brede beschikbaarheid van data maken aandelenkoersen uitermate geschikt voor dit onderzoek. Verder zal dus gefocust worden op aandelen als potenti¨ele investeringen. Er wordt hierbij gebruik gemaakt van cijfers van de markten in de Verenigde Staten, wegens de uitgebreide beschikbaarheid van Engelstalige nieuwsinhoud.
2.2.2
Obligaties
Obligaties (bonds) zijn financi¨ele producten die de bezitter schuldeiser maken van een deeltje van een lening aan een onderneming of staat. Bij dit type investering is het voornaamste risico faillissement. De opbrengst ligt namelijk vast bij aankoop. Dit geldt echter enkel indien de obligatie gehouden wordt tot de termijn afloopt. Indien de obligatie voor het aflopen van de termijn verkocht wordt, is het verhaal een stuk complexer. Obligaties staan namelijk genoteerd als de opbrengst die ze op dat moment zullen genereren. Dit wordt be¨ınvloed door de op dat moment courante rente en het risico op faillissement van de betreffende instantie, maar worden ook hier bepaald door de markt. De complexiteit zit in het feit dat de prijs van een obligatie zo bepaald wordt dat de verkoopprijs vandaag, het juiste rendement genereert met het bedrag waarvoor de obligatie is uitgeschreven. Een voorbeeld. Stel dat vandaag een obligatie wordt uitgeschreven met een waarde van 1000¤, dat de termijn 1 jaar is en de courante rente op dit moment 5% is. Dan zal de verkoopprijs de volgende zijn: P =
1000 = 952.38 1 + 0.05
(2.19)
13
2.2 Financi¨ele Producten en Indicatoren
HOOFDSTUK 2. DE BEURS
Indien nu de volgende dag een bericht de wereld ingestuurd wordt over een nakend faillissement, zal dit de vereiste rente doen omhoog schieten, bvb. naar 10%. Indien we nu dezelfde obligatie terug willen verkopen zal de markt slechts de prijs willen betalen die dit rendement waar maakt 7 . P =
1000 = 909.09 1 + 0.1
(2.20)
Een hoger rendement zorgt dus voor een lagere tussentijdse verkoopwaarde. Bovendien kunnen obligaties last hebben van beperkte liquiditeit. Deze complexiteiten kunnen voor problemen zorgen bij het samenstellen van gesimuleerde portefeuilles (portfolios). Bijgevolg worden obligaties hiervoor uitgesloten. De waarde van vereiste opbrengst kan echter wel gebruikt worden als een economische indicator. StaatsObligiaties Een aparte klasse van obligaties zijn de staatsobligaties. Deze worden uitgeschreven door een natie om de staatsschuld mee te financieren. In de meeste gevallen kunnen deze als risicoloos worden beschouwd, in het bijzonder als het gaat om een grote natie zoals de Verenigde Staten of Duitsland. Deze hebben echter nog steeds last van de inverse prijs-opbrengst relatie en de beperkte liquiditeit. Wat betreft de schatkist van de VS, zijn T-Bills hierop een belangrijke uitzondering. Deze staatsobligaties worden uitgeschreven in een looptermijn van minimaal 13 weken. Deze termijn is kort genoeg om nagenoeg ongevoelig te zijn aan bovenstaande risico’s. De opbrengst op de T-Bills zal gebruikt worden als referentie voor de risicovrije investering en zal ook bij de portefeuilleopbouw gebruikt worden als risicovrije component (zie deel 2.3).
2.2.3
Fondsen
Fondsen vormen geen studieonderwerp voor deze masterproef, maar worden toch vermeld omdat het een interessant gebied is om te verkennen door verder onderzoek. 7
Hierbij werd het verkorten van de termijn met 1 dag verwaarloosd.
14
2.2 Financi¨ele Producten en Indicatoren
HOOFDSTUK 2. DE BEURS
Fondsen zijn ideaal voor kleine beleggers, voor wie het niet kosteneffici¨ent is om zelf een voldoende spreiding op te bouwen. Via fondsen kan deze spreiding wel gemaakt worden, hierbij kan de beleggingsstrategie alsnog gestuurd worden door de selectie van de fondsen. Deze fondsen zijn interessant voor verder onderzoek omdat hun waarde vooral zou moeten afhangen van een concrete strategie, waarbij bedrijfsspecifieke fluctuaties zijn weggediversifieerd. Dit zou verbanden tussen bepaalde strategie¨en (bvb. investeren in een bepaalde sector) en bepaalde factoren (zoals economische indicatoren) beter moeten kunnen blootleggen.
2.2.4
Afgeleide Producten
Afgeleide producten zijn financi¨ele producten waarvan de waarde afhangt van een ander financieel product. Een optie is bijvoorbeeld een toekomstig aankooprecht van een ander financieel product (meestal een aandeel). Een ander bekend voorbeeld zijn de collateralized debt obligations (CDOs), vooral bekend door de herverpakte rommelkredieten die de financi¨ele en economische crisis van 2007-2008 mee hielpen veroorzaken. Ook dit viel buiten het bestek van deze masterproef, maar ook hiervoor geldt dat het een gebied is dat nog verder kan ontgonnen worden met datamining. Vanuit een financieel theoretische invalshoek kunnen afgeleide producten een bijzonder handig gereedschap zijn om bepaalde investeringsstrategie¨en uit te voeren. De keerzijde van de medaille is echter dat ze nogal gevoelig zijn aan misbruik. Voorbeelden hiervan zijn de hypotheekcrisis van 2007-2008 en de Griekenlandcrisis van 2010.
2.2.5
Indices
Beursindices moeten dienen om de evolutie van de markt of van een bepaalde sector weer te geven. Ze komen voor in alle maten en gewichten, maar het is niet de bedoeling om ze allemaal te belichten. E´en beursindex die in het bijzonder vermeld dient te worden is Standard & Poor’s 500 (S&P 500). Deze index wordt berekend op basis
15
2.2 Financi¨ele Producten en Indicatoren
HOOFDSTUK 2. DE BEURS
van de 500 grootste beursgenoteerde bedrijven in de Verenigde Staten
8
en bestrijkt
daarmee ongeveer 75% van de totale marktkapitalisatie in de VS [26]. De index wordt P als volgt berekend. Zij mi de marktkapitalisatie van een onderneming i, zij M = i mi de som van de marktkapitalisaties, It de waarde van de index op tijdstip t en Pti de prijs van het aandeel van onderneming i, dan wordt de volgende waarde van de index berekend als: I1 = I0 ·
X mi P i i
M
1 P0i
(2.21)
Deze manier van berekenen zorgt ervoor dat de index de totale waarde van 75% van de marktkapitalisaties volgt. Het laat ook toe om een perfect passieve portefeuille te construeren. Passief beleggen houdt in dat een portefeuille geconstrueerd wordt om een index te volgen en dat aankoop- en verkoopacties enkel worden uitgevoerd om de portefeuille te aligneren met die index . In het geval van de S&P 500 is het voldoende het portfolio op te delen naar verhouding met de marktkapitalisatie 9 . Verder hoeven geen transacties meer verricht te worden, wat de koersen van de onderliggende aandelen ook doen, de portefeuille zal altijd correct zijn samengesteld
10 11
.
Een mogelijk puntje van kritiek is dat voornamelijk grote bedrijven de waarde van de S&P 500 bepalen. Bovenvermelde eigenschappen leiden er toch toe de S&P 500 als een referentieportefeuille te nemen voor deze masterproef.
2.2.6
Indicatoren
Ook wat economische indicatoren betreft zijn er te veel om op te noemen. In principe kan quasi alles als een economische indicator beschouwd worden, zelf de waarde van een aandeel of beursindex . Hier worden kort een paar prominente indicatoren besproken(voor een volledige lijst van gebruikte indicatoren zie appendix D). 8
De werkelijke samenstelling is ietwat complexer en gebeurt door een selectiecomit´e, maar in grote
lijnen is dit de juist beschrijving [25]. 9 Dit kan bijvoorbeeld ook door een tracker te kopen, dit is een beursgenoteerd fonds dat bvb. een bepaalde beursindex volgt [27]. 10 Tenzij natuurlijk de lijst aandelen in de S&P 500 verandert. 11 Dit is niet voor alle indices waar
16
2.2 Financi¨ele Producten en Indicatoren
HOOFDSTUK 2. DE BEURS
Goud De prijs van dit edelmetaal evolueert meestal in tegengestelde richting ten opzichte van de beurs. Een mogelijke reden hiervoor is dat investeerders houvast zoeken in goud in slechte economische tijden. Olie Olie is nog steeds ´e´en van de belangrijkste grondstoffen van deze economie. Het stijgen van de olieprijzen hangt meestal samen met economische groei. Het te snel of te hoog stijgen van de olieprijzen en andere grondstoffen kan echter een teken zijn van een economie die oververhit. Tewerkstelling en werkloosheid Een hoge tewerkstellingsgraad is meestal een teken van een goed draaiende en groeiende economie. Een hoge tewerkstelling betekent ook een grote koop- of consumptiekracht van de totale bevolking, hiermee is een hoge tewerkstelling een zelfversterkende factor. Keerzijde van de medaille is dat dit ook de inflatie versterkt. Overheidsobligaties Net als goud kunnen overheidsobligaties dienen als houvast in barre economische tijden. Verhoogde vraag zal de prijs doen stijgen, waarbij impliciet de rendementen die beleggers vereisen van overheidsobligaties zakken (zie deel 2.2.2). Wisselkoersen Wisselkoersen kunnen verschillende invloeden hebben of weergeven. Stijgt de waarde van een munt, dan kan dit een teken zijn van vertrouwen in de munt. Het dalen van de waarde van een munt kan dan weer positieve effecten hebben op de export. Prijsindices Voorbeelden zijn consumer price index (CPI ) en producer price index (PPI ) die respectievelijk de evolutie van de levensduurte en de inkoopkost weergeven. Kijken we naar de evolutie van de CPI over een termijn van 1 jaar, dan bekomen we de inflatie. Stijgende prijsindices zijn een teken van een aanzwengelende economie. Te snel stijgen kan wederom een teken van oververhitting zijn.
17
2.3 Portefeuille Constructie
HOOFDSTUK 2. DE BEURS
ISM en andere enquetes Institute for Supply Management (ISM ) en andere instellingen organiseren op vastgelegde tijdstippen rondvragen, waarbij gepolst wordt naar lopende bestellingen en verwachtingen bij bedrijven (of consumenten). Ook hier kunnen stijgende bestellingen een teken zijn van een aanzwengelende economie.
2.3
Portefeuille Constructie
Op dit punt is er een beeld van de risico-opbrengst relatie en de beschouwde producten tot stand gebracht. Hiermee moet nu een optimale portefeuille worden samengesteld.
2.3.1
Kapitaal Alloceren
Stel volgende situatie. Gegeven is een risicovrije investering 12 met een opbrengst
13
rRF
en een risicohoudende investering met een verwachte opbrengst E [ri ] en een volatiliteit van σi . Wat is dan de optimale verdeelsleutel tussen deze twee investeringen. Het antwoord voor dit probleem ligt niet toevallig bij de utility function, maar daarvoor moeten de kandidaat samenstellingen eerst gedefinieerd worden. Zij w de fractie van de risicohoudende investering dan zal de portefeuille volgende opbrengst genereren: r = w · ri + (1 − w) · rRF
(2.22)
We kunnen dit eenvoudig uitbreiden naar de verwachtingswaarde (berekening zie C.3) E [r] = w · E [ri ] + (1 − w) · rRF
(2.23)
Voor de volatiliteit bekomen we gelijkaardig (berekening zie C.3): σ = w · σi
(2.24)
In een risico-opbrengst-diagram (figuur 2.3) beschrijven deze twee vergelijkingen een parameterkromme ([E[r](w), σ(w)]) die de verbindingslijn vormt tussen de risicovrije 12 13
Spaarrekening of korte termijn staatsobigatie (zie 2.2.2). Voor het samenstellen van opbrengsten kan niet in het CC domein gewerkt worden. Samenstellen
is namelijk lineair in het gewone opbrengstdomein. ln(w1 · a + w2 · b) =?
18
2.3 Portefeuille Constructie
HOOFDSTUK 2. DE BEURS
U=c (σi,E[ri])
optimum E[r]
w=1
(0,rRF)
CAL w=0
σ
Figuur 2.3: combinatie van een risicovrije en een risicohoudende investering.
(w = 0) en risicohoudende (w = 1) investeringen. Dit wordt de capital allocation line (CAL) genoemd. Een eigenschap van deze rechte is dat haar helling gelijk is aan het Sharpe ratio. (met rie de excess return)
E [ri ] − rRF E [rie ] = = SR σi σi
(2.25)
De maximale utility bekomen we nu door (voor een gegeven A) de indifferentiecurve te zoeken die raakt.
2.3.2
Optimale Risicohoudende Portefeuille
De doelstelling is natuurlijk om in meer dan ´e´en risicohoudend product te investeren. Het samenstellen van een portefeuille uit verschillende risicohoudende producten gebeurt liefst met een maximaal verwacht rendement en een minimaal risico. Weze x en y twee risicohoudende investeringen, E [rx ] en E [ry ] hun verwachte opbrengsten en σx en σy hun volatiliteit. Dan weten we uit de statistiek dat (met
19
2.3 Portefeuille Constructie
HOOFDSTUK 2. DE BEURS
voorwaarde dat wx = 1 − wy ): E [r] = wx · E [rx ] + wy · E [ry ]
(2.26)
V AR[r] = wx2 · σx2 + wy2 · σy2 + wx · wy · COV [rx , ry ] p V AR[r] σ =
(2.27) (2.28)
Optimum CAL optimum
wy=1
E[r] (0,rRF)
(σy,E[ry])
(σx,E[rx]) wx=1
σ
Figuur 2.4: combinatie van twee risicohoudende investeringen
Ook deze samenstelling beschrijft opnieuw een parameterkromme (door de voorwaarde wx = 1 − wy is er slechts ´e´en vrijheidsgraad). Op een risico-opbrengst-diagram (figuur 2.4) is de kromme deze keer echter niet de verbindingslijn tussen de twee investeringen (een uitzondering hierop zijn twee investeringen waarvan de opbrengst volkomen gecorreleerd is ρ = 1). De optimale investering ligt in dit geval op het raakpunt van de curve met de stijlst mogelijke capital allocation line (CAL). Aangezien de helling van de CAL gelijk is aan het Sharpe ratio, kunnen we dit dus vinden door het Sharpe ratio te maximaliseren. Dit is analytisch oplosbaar voor twee investeringen, maar dit biedt voor deze tekst geen meerwaarde. Wat wel relevant is, is de uitbreiding naar een groter aantal investeringen. Hiervoor is de vector/matrixweergave overzichtelijker, zij (met w ~ een
20
2.3 Portefeuille Constructie
HOOFDSTUK 2. DE BEURS
kolomvector):
X
~ = [E[ri ]] R
(2.29)
C = [COV [ri , rj ]]
(2.30)
w ~ = [wi ]
(2.31)
wi = 1
(2.32)
i
Dan bekomen we uit de statistiek voor opbrengst en volatiliteit: ~ E[r] = w ~ ·R
(2.33)
V AR[r] = wT Cw
(2.34)
In dit geval is er veel meer dan ´e´en vrijheidsgraad, deze vergelijkingen beschrijven dus geen kromme. Nemen we echter p f (σ) = sup{E[r](w)| ~ V AR[r](w) ~ = σ}
(2.35)
w ~
dan bekomen we opnieuw een kromme, die we de efficient frontier noemen (figuur 2.5). Deze curve geeft voor elke mogelijke volatiliteit het maximaal rendement weer dat haalbaar is door samenstelling van de verschillende investeringen. Opnieuw vinden we de best mogelijke combinatie door het Sharpe ratio te maximaliseren
14
. Deze manier
van de risicohoudende portefeuille op te bouwen is gekend als Markowitz Portfolio Selection. Het scheidingsprincipe De capital allocation line (CAL) is stilzwijgend terug ingevoerd, maar dit is weldegelijk dezelfde CAL als in sectie 2.3.1. Na het bepalen van de optimale riscohoudende portefeuille, is het dus opnieuw mogelijk een goede verdeelsleutel te vinden tussen deze risicohoudende investering en het risicovrije alternatief. Dit staat bekend als het scheidingsprincipe.
2.3.3
Shorten
De aandachtige lezer zal ondertussen hebben opgemerkt dat de enige voorwaarde die P tot nog toe aan de gewichten of wi werd opgelegd is dat i wi = 1. Dit is geen 14
Dit is een complex probleem die we in hoofdstuk 5 op een heuristische manier zullen aanpakken.
21
2.3 Portefeuille Constructie
HOOFDSTUK 2. DE BEURS
Optimum CAL efficient frontier
E[r]
optimum mogelijke investeringen
(0,rRF) σ
Figuur 2.5: combinatie van vele risicohoudende investeringen
vergetelheid. Een mogelijke bijkomende voorwaarde zou kunnen zijn dat ∀wi : wi ∈ [0; 1]. Deze bijkomende restrictie houdt een long strategie in. De eenvoudigste manier om duidelijk te maken wat een long strategie inhoudt, is te vertellen dat dit het tegengestelde van een short strategie is. Bij de short strategie geldt bovenstaande restrictie niet. Concreet wil dit zeggen dat de gewichten waarden buiten het interval [0; 1] kunnen hebben. Een negatief gewicht wi < 0 kan bijvoorbeeld betekenen dat een aandeel wordt verkocht zonder het te bezitten, op dat moment gaat men short in dat aandeel. Een reden om dit te doen kan zijn dat de verwachting is dat de waarde van het aandeel gaat zakken. Zo kan het aandeel op een later tijdstip teruggekocht worden en kan het verschil als winst op zak gestoken worden. Bovendien kan het geld van de verkoop in tussentijd dienen om andere aandelen te financieren 15
15
.
In principe is het verboden dingen te verkopen die je niet bezit. Het is toch mogelijk om de short
strategie toe te passen. Hierbij kan de beursmakelaar bijvoorbeeld aandelen ter beschikking stellen uit de portefeuille van een ander klant. Toch zijn er stikte regels verbonden aan het shorten.
22
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
Een ander mogelijkheid is dat wi > 1. Hier kan de capital allocation line (CAL) als voorbeeld dienen. Het is bijvoorbeeld mogelijk te overinvesteren in de risicohoudende portefeuille w > 1, omdat er een geloof is in opmerkelijk succes. Daartegenover staat natuurlijk dat het nodig is short te gaan op de risicovrije investering. Wat neerkomt op het lenen van geld om in de beurs te investeren. Geresumeerd kan gesteld worden dat een long strategie uitgaat van een positieve opbrengst en meestal kan ingevuld worden door een aankoop. Terwijl de short strategie uitgaat van een negatieve opbrengst en meestal wordt ingevuld door een verkoop (zonder voorafgaand bezit). Het spreekt voor zich dat de short strategie, naast extra winstkansen, ook extra risico’s met zich meebrengt. In de praktijk dient er dus met bijzondere voorzichtigheid mee worden omgesprongen.
2.4
Financi¨ ele Theorema’s
Nu we weten hoe we een portfolio kunnen construeren, rekening houdend met risico en opbrengst, hebben we nog nood aan een goed manier om het rendement te evalueren. Ook de nodige theorie¨en die een mogelijke verklaring geven aan succes of falen kunnen nog van pas komen.
2.4.1
Factormodelen en CAPM
Single Factor Model Het Single Factor Model (SFM ) gaat uit van het feit dat de opbrengst van elke investering als volgt is opgebouwd: ri = αi + βi · rM + ei
(2.36)
Hierbij is ri de opbrengst, rM de opbrengst die de markt gemiddeld heeft geproduceerd (de marktfactor ), βi co¨effici¨ent die de gevoeligheid voor de marktfactor representeert, αi is de winst die geproduceerd wordt bovenop de winst te wijten aan aan de marktfactor
23
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
en ei is de foutterm (ruis als het ware, die veronderstelt wordt een normaaldistributie rond te hebben). Nemen we van hiervan de verwachtingswaarde, dan krijgen we: E[ri ] = E[αi + βi · rM + ei ] = αi + βi · E[rM ]
(2.37) (2.38)
Wat ge¨ınterpreteerd kan worden als, elke opbrengst wordt gemiddeld gezien bepaald, door de gevoeligheid βi aan de marktfactor en de investeringseigen opbrengst αi . Indien de belegger beter wil doen dan de markt, wat het uitgangspunt is bij actief beleggen, moet deze dus op zoek naar investeringen met een positieve αi . Een mogelijke proxy voor de marktfactor is S&P 500 index. Het idee achter diversificatie is dat fouttermen en eventuele bedrijfseigen risico’s (eventuele negatieve α) kun weggediversifieerd worden. Hoe breder de diversificatie, hoe minder specifiek risico. De ultieme vorm van diversificatie is een portefeuille die de markt afspiegelt, dan bestaat enkel nog het marktrisico en is α = 0. Capital Asset Pricing Model Het capital asset pricing model (CAPM ) is nauw verwant aan het SFM . Het is niet de bedoeling om in te gaan op alle details van CAPM . Het doel is vooral een model schetsen waarmee de uiteindelijke resultaten kunnen beoordeeld worden. In zijn meest ruwe vorm zegt CAPM het volgende: E[ri ] − rRF = βi · (E[rM ] − rRF )
(2.39)
met ri en rM zoals bij SFM , rRF de risicovrije opbrengst en βi opnieuw de gevoeligheid voor de marktfactor. Concreet zegt het CAPM dat de opbrengsten van alle investeringen op de capital allocation line (CAL) (die in deze context de security market line (SML) wordt genoemd) van de marktfactor liggen (figuur 2.6). Op deze manier laat het CAPM toe een vereiste opbrengst te berekenen afhankelijk van de blootstelling aan de marktfactor via de βi . Het CAPM voorziet bovendien een manier om de βi te berekenen, dit gebeurt als volgt: βi =
COV [ri , rM ] 2 σM
(2.40)
24
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
E[r]
(σi,E[ri])
SML (σM,E[rM])
αi > 0 αi < 0 (σi,E[ri])
(0,rRF)
βi · (E[rM ] − rRF )
σ
Figuur 2.6: security market line
Versmelten we SFM en CAPM dan bekomen we: E[ri ] − rRF = αi + βi · (E[rM ] − rRF )
(2.41)
In deze vergelijking is βi · (E[rM ] − rRF ) nog steeds de term die de vereiste opbrengst weergeeft in functie van de de blootstelling aan risico. De αi is daarbij de afwijking daarvan. Een αi > 0 betekent een prestatie beter dan wat verwacht wordt Een αi < 0 is dan weer een ondermaatse prestatie. Ook hier kan de S&P 500 index dienen als proxy voor de marktfactor.
2.4.2
Arbitrage Theorie
Om duidelijk te maken wat arbitrage theorie inhoudt eerst een voorbeeld van een mogelijkheid tot arbitrage. Stel volgende situatie op de wisselkoersenmarkt (tabel 2.2). Als het volgende ondernomen wordt: 1. wissel 1¤ om in 1, 01$ 2. wissel die 1, 01$ in voor 1, 01£
25
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
Tabel 2.2: voorbeeld van wisselkoersen munt
wisselkoers
¤/ $
1,01
¤/ £
0,99
$/£
1,00
3. als laatste stap wisselt men de 1, 01£ terug in 1, 02¤ Op deze manier werd 2 cent aan geld gegenereerd zonder dat er een eigenlijke investering tegenover stond, dit is wat men verstaat onder een mogelijkheid tot arbitrage. Op de schaal van 1¤ is deze geldmachine natuurlijk slechts beperkt interessant, op schalen van miljoenen Euro’s wordt het echter al snel bijzonder lucratief. Dergelijke arbitrage mogelijkheden zullen natuurlijk de aandacht trekken van velen, hierdoor zal bijvoorbeeld de waarde van de euro lichtjes dalen en deze van de pond lichtjes stijgen (door vraag en aanbod), tot dat de arbitrage mogelijkheid verdwenen is. In de praktijk zijn er ontelbaar veel financi¨ele producten en even veel mogelijkheden tot arbitrage. Nu zegt de arbitrage theorie dat elke mogelijkheid tot arbitrage slechts een heel korte tijd kan bestaan. Omdat zo veel spelers actief zijn op de markt, zal door het spel van vraag en aanbod, het evenwicht zich zo goed als meteen herstellen. In werkelijkheid kan het lijken alsof arbitrage mogelijkheden blijven bestaan. Dit heeft echter te maken met het feit dat aan transacties ook kosten verbonden zijn, deze moeten hierbij dus ook in rekening gebracht worden. Arbitrage mogelijkheden doen zich effectief voor. Een mogelijk doel voor de trading programma’s, die reeds in de inleiding werden vermeld, is het benutten ervan. Een menselijke beurshandelaar kan namelijke nooit dezelfde reactie- of beslissingssnelheid aan de dag leggen. Het is wel duidelijk dat arbitrage mogelijkheden in deze context slechts een heel kort leven beschoren zullen zijn. 16
16
Tot op vandaag bieden sommige elektronische beursplatformen diensten waarbij sommige klanten
de aankondigingen van vraag en aanbod een 30-tal milliseconden eerder ontvangen dan andere klanten, opnieuw met de bedoeling dit uit te buiten met trading programma’s Deze hoogst controversi¨ele praktijk staat bekend als flash trading en ondertussen gaan stemmen op deze wettelijk te verbieden [28].
26
2.4 Financi¨ele Theorema’s
2.4.3
HOOFDSTUK 2. DE BEURS
Efficient-Market Hypothesis
De efficient-market hypothesis (EMH ) zegt in grote lijnen dat alle beschikbare informatie verwerkt zit in de prijs van een aandeel . Er wordt onderscheid gemaakt tussen drie vormen: Zwakke vorm: De zwakke vorm van de EMH zegt dat alles wat te leren valt
uit statische analyse van prijsinformatie(technical analysis), is opgenomen in de prijs van een aandeel. Hierbij is het niet mogelijk om met deze informatie beter te presteren dan de markt (α zie deel 2.4.1). Semi-sterke vorm: De semi-sterke vorm stelt dat alle publieke informatie, zoals
financi¨ele of boekhoudkundige informatie, reeds is opgenomen in de prijs. Een strategie gebaseerd op de analyse hiervan (fundamental analysis) zal dus geen meeropbrengst teweeg brengen. Sterke vorm: De sterke vorm van de hypothese gaat er van uit dat alle in-
formatie, ook deze die niet publiek beschikbaar is, reeds is opgenomen in de koers van een aandeel
17
. Bijgevolg zal geen enkele vorm van analyse nog een
meeropbrengst produceren. Voor de EMH geldt dat sterk ⇒ semi-sterk ⇒ zwak. Onderzoek wijst uit dat de EMH een grond van waarheid heeft tot op het niveau van de semi-sterke vorm. Ook voor de sterke vorm zijn tekenen waarneembaar. Zo worden vele aandelen afgerekend op prestaties tegenover de analistenverwachtingen. Toch wordt de EMH hier niet aangebracht als een feit. Ze wordt vanuit verschillende hoeken gecontesteerd [29]. Het is voornamelijk bedoeld als een interessante invalshoek. De EMH leidt ook tot volgende interessante denkoefening. Stel dat niemand aan fundamental analysis deed. Op dit moment zou boekhoudkundige informatie niet meer worden opgenomen in de prijs van een aandeel. Dit zou op zijn beurt weer betekenen 17
Dit kan bijvoorbeeld door insider trading of nog handel met voorkennis. Dit houdt in dat mensen
van binnen het bedrijf zelf, of via familie of kennissen, aandelen verhandelen op basis van informatie die (nog) niet publiek beschikbaar is. Dit is bij wet verboden.
27
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
dat het doen fundamental analysis α zou kunnen genereren. Bijgevolg zou er toch aan fundamental analysis gedaan worden. Net als bij arbitrage zijn kosten die verbonden zijn aan het analyseren een mogelijke rem. Men kan stellen dat er een evenwicht bestaat, waarbij informatie wordt geanalyseerd voor zover de opbrengsten de kosten rechtvaardigen. Mogelijks iets voorbij dat punt, aangezien de betaling van de analist niet noodzakelijk verbonden is aan een meeropbrengst.
2.4.4
Reflexivity
De tot nog toe besproken modellen gaan over het algemeen uit van een aantal veronderstellingen betreffende marktspelers. Een aantal belangrijke hiervan zijn: Alle spelers op de markt zijn price takers, of nog, alle spelers in markt zijn klein
genoeg opdat hun transacties geen noemenswaardige invloed uitoefenen op de prijs(figuur 2.7). Alle marktspelers zijn rationeel en dus mean-variance optimizing, of nog, alle spe-
lers op de markt proberen risico te minimaliseren en opbrengst de maximaliseren en bijgevolg het Sharpe ratio te optimaliseren.
markt speler
Figuur 2.7: klassieke visie op de marktwerking
28
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
George Soros, econoom en succesvol fondsbeheerder, heeft daar een enigszins andere visie op [30] [11] [31]. Belangrijke punten in zijn general theory of reflexivity zijn onder andere: De marktspelers zijn geen rationele denkers. Hun gedrag is eerder irrationeel en
zowel gevoelig aan overoptimisme als aan angst en massahysterie. Marktspelers maken deel uit van de markt. Elke actie van een marktspeler
be¨ınvloedt de markt en dus ook de marktspeler in kwestie (figuur 2.8). De markt wordt gevoed door fertile fallacies, valse wetmatigheden die (lang)
genoeg waar blijken om geloofd te worden, maar op termijn voor problemen zorgen.
speler
speler
markt speler
speler
speler
Figuur 2.8: visie van marktwerking in de context van reflexivity
Een voorbeeld van een fertile fallacy is het geloof in een blijvend stijgen in de huizenprijzen in de VS voor 2007. Hierdoor gingen mensen die een lening niet aankonden toch een huis aankopen, in de overtuiging het op een later tijdstip terug te kunnen verkopen met een aanzienlijke winst bovenop de kosten van de lening. Meteen is ook het concept reflexivity ge¨ıllustreerd, door de verhoogde vraag naar huizen gingen de prijzen gaan stijgen, wat voor een zelfversterkende factor zorgde.
29
2.4 Financi¨ele Theorema’s
HOOFDSTUK 2. DE BEURS
In de zogenaamde .com-boom, het blinde geloof in internetbedrijfjes, voor en rond de jaren 2000 vindt men een voorbeeld van overoptimisme
18
.
Zoals bij alle menswetenschappen, is dit geen exacte wetenschap. Toch is het een interessant concept om bij stil te staan. De conclusie die George Soros eraan vast hangt is de volgende: “Hoewel de economie in grote lijnen een bepaalde richting heeft, zal door reflexivity de effectieve waardering er altijd rond schommelen. Deze schommeling zijn irrationeel, zelfversterkend en van onvoorspelbare duur.”
Over het algemeen zijn
zeepbellen in de economie de meest treffende manifestatie hiervan. Er dient te worden opgemerkt dat reflexivity en de efficient-market hypothesis (EMH ) elkaar niet hoeven uit te sluiten. Het is niet omdat een marktspeler informatie meteen verwerkt, dat dit gebeurt op een rationele manier.
18
De toenmalige voorzitter van de Federal Reserve, Alan Greenspan, beschreef het in 1996 reeds
als Irrational exuberance [32].
30
Hoofdstuk 3 Ant-Miner Ondertussen is er genoeg achtergrond wat betreft de beurs, om meer computerwetenschappelijke zaken aan te vatten. We beginnen hierbij met het onderdeel die deze masterproef zijn naam gaf, de virtuele mieren.
3.1
Ant Colony Optimization
Het originele ant colony optimization (ACO) concept werd in 1992 bedacht door Marco Dorigo [1]. Het is gebaseerd op observaties van het gedrag van mierenkolonies. Een mogelijk probleem waar deze kolonies kunnen voor staan, is het vinden van het kortste pad tussen een voedselbron en het nest. Hiervoor wenden ze de macht van de getallen aan. Aanvankelijk zullen de mieren alle richtingen uit lopen (elk pad nemen, figuur 3.1 (2)). Tijdens hun tocht laten alle mieren een feromoonspoor achter(figuur 3.1 (1)). Mieren die een kortere weg afleggen dan andere mieren zullen minder lang onderweg zijn, bijgevolg zal de frequentie waarmee die paden gebruikt worden hoger zijn. Door de hogere frequentie van gebruik zullen de kortste paden een hogere concentratie aan feromonen bevatten. Bovendien verdampen de feromonen, waardoor de concentratie op de weinig gebruikte paden vermindert. De mieren laten hun keuze van richting gedeeltelijk afhangen van de bestaande feromoonsporen, hoe hoger de concentratie, hoe hoger de kans dat deze richting gekozen wordt. Op deze manier wordt, na verloop van tijd, het kortste pad blootgelegd(3.1
31
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
(3)).
Figuur 3.1: mieren zoeken het kortste pad
Deze techniek werd reeds op vele optimalisatie- en zoekproblemen toegepast en in wat volgt op datamining.
3.2
Ant-Miner
In 2002 kwamen Parpinelli et al. op de proppen met een manier om ACO toe te passen als datamining algoritme [4]. Bij Ant-Miner is het de bedoeling om een set van classificatieregels te genereren van de vorm: IF < x & y & . . . > T HEN < class >
(3.1)
Hierbij zijn x en y logische condities van de vorm: attribuuti = waarde
(3.2)
Waarbij attribuuti de waarde van attribuut i van een waarneming (record ) is. De standaardversie van Ant-Miner , die voor deze masterproef werd gebruikt, ondersteunt enkel categorische waarden. Re¨eelwaardige attributen moeten dus gediscretiseerd worden.
3.2.1
Algoritme
Om alles overzichtelijk te houden werd het algoritme in twee niveaus opgebroken.
32
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
Iteratief Regels Zoeken Op het hoge niveau wordt iteratief naar een regelverzameling gezocht. Hiervoor wordt uit de trainingset een regel gezocht. Daarna worden de records die door deze regel correct geclassificeerd worden uit de trainingset verwijderd. Dit wordt herhaald tot voldoende records uit de trainingset correct worden geclassificeerd. In pseudocode geeft dit (algoritme 3.1). Algoritme 3.1 iteratief regels zoeken discoveredRulesList = [ ] while trainingSet > max uncovered cases do //wat findRule inhoudt wordt verder duidelijk rule = f indRule(trainingSet) discoveredRulesList = discoveredRulesList + rule trainingSet = trainingSet − {record ∈ trainingSet|record covered by rule} end while def aultRule = f indM ajorityClass(trainingSet) discoveredRulesList = discoveredRulesList + def aultRule Het resultaat van deze bewerking is een lijst van regels discoveredRulesList, die samen het classificatiemodel vormen. Classificatie gebeurt door het in volgorde doorlopen van de lijst met regels, tot een regel gevonden wordt die voldoet. De aandachtige lezer zal opgemerkt hebben dat op het einde van de pseudocode een algemene regel (def aultRule) werd aangemaakt. Indien aan geen van de ander regels in de lijst voldaan werd, wordt de meest voorkomende klasse uit de resterende trainingset gebruikt als classificatie. Op dit niveaus is max uncovered cases de parameter die de stopconditie bepaald. Concreet zegt dit cijfer hoeveel records er nog in de trainingset mogen zitten (die met andere woorden nog geen correcte classificatie hebben in de lijst met regels), om verder te zoeken naar nieuwe regels.
33
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
Vinden van een Regel Op het tweede niveau wordt gezocht naar een goeie regel uit de trainingset door het toepassen van ACO. Hiertoe wordt een graafnetwerk opgebouwd, waarin de mieren kunnen zoeken, gebaseerd op de statistieken van deze trainingset. In dit netwerk gaan mieren op zoek naar een pad(details hierover volgen in deel 3.2.2). Eens het pad gevonden, wordt hier in gesnoeid (pruning) om de algemeenheid van de regel te verbeteren(meer in 3.2.3). Daarna wordt het feromoonniveau aangepast in het netwerk op basis van het pad van de mier(meer in 3.2.4). Dit wordt herhaald voor een gekozen aantal mieren no of ants (algoritme 3.2). De bijkomende parameter no of rules converg, moet dienen voor convergentiecontrole. Ingeval het gevonden pad herhaaldelijk hetzelfde is, is de oplossing van het zoekprobleem waarschijnlijk naar deze regel geconvergeerd. Het zoeken kan dus gestaakt worden.
3.2.2
Graafnetwerk en Padselectie A1
A2
C
1
1
1
E
S
0
0
0
Figuur 3.2: conceptuele graaf
In figuur 3.2 ziet men een conceptuele voorstelling van hoe men een netwerk kan bouwen die een dataset representeert. In dit geval gaat het om twee attributen, A1 en A2 , en een klasse C, die allen tweewaardig zijn. Mieren starten in S en banen hun weg
34
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
Algoritme 3.2 regel zoeken in dataset findRule(trainingSet) network = buildN etwork(trainingSet) rules = [ ] // iteratieteller i=0 // convergentieteller j=0 repeat rule = f indT rail(network) rule = prune(rule) updateF eromone(network, rule) rules = rules + rule if rulesi = rulesi−1 then j =j+1 else j=0 end if i=i+1 until i ≥ no of ants or j ≥ no of rules converg return bestRule(rules)
35
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
S A1
A2
1
1
0
0
Figuur 3.3: werkelijke graaf
naar E, door van knoop naar knoop te springen in deze gerichte graaf. Het pad dat ze daarbij nemen vormt een if-then-regel. In praktijk zit het gebruikte netwerk echter complexer in elkaar. Figuur 3.3 is een correctere weergave van het netwerk voor gelijke attributen. In figuur 3.3, zijn de volle pijlen de takken uit de graaf die bij een eerste sprong gebruikt kunnen worden, terwijl de gestreepte pijlen de daarop volgende mogelijkheden aangeven. Het verschil met de conceptuele voorstellingen in figuur 3.2 is dat vanuit het startpunt alle knopen in de graaf bereikbaar zijn. Dit kan gegeneraliseerd worden naar:elke knoop die niet behoort tot een attribuut die reeds aan bod kwam, is een mogelijke volgend stap. Verder ontbreken ook de knopen die de klasse vastleggen, deze wordt op een andere manier bepaald. Met deze topologie heeft de graaf reeds dezelfde structuur als de dataset, maar is deze nog niet representatief voor de inhoud van de dataset. Ook feromoonniveaus moeten nog in rekening gebracht worden. Teneinde dit te bereiken dient volgende distributie gebruikt te worden. Zij Ai het ide attribuut, vi,j de vertex horend bij de j de waarde van het ide attribuut (Ai = Vi,j ) en Pi,j de kans dat vertex vi,j als volgende
36
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
wordt gekozen, dan is: xi · ηi,j · τi,j (t) P i xi · j (ηi,j · τi,j (t))
Pi,j = P
(3.3)
Hierbij is ηi,j een waarde die bepaald wordt op basis van de dataset (en verder in deze tekst uit de doeken gedaan wordt) en τi,j (t) is het huidige feromoonniveau. xi is een hulpvariabele, deze is 1 indien een attribuut nog niet aan bod kwam en 0 als dat wel al het geval was. Op deze manier komen enkel vertices van nog niet aan bod gekomen attributen in aanmerking. De mier zal dus het antecedent van de regel construeren bij het door het netwerk kruipen. De volgende knoop wordt op probabilistische wijze gekozen op basis van de kansdistributie gevormd door vergelijking 3.3. Dit gaat verder tot alle attributen aan bod kwamen of geen knopen meer kunnen worden toegevoegd zonder dat het aantal records, die de gekozen attribuutwaarden delen, zakt onder min cases per rule. Deze laatste parameter moet ervoor zorgen dat de gevonden regels voldoende algemeen zijn. Eens het antecedent van de regel is samengesteld, wordt het bijhorende consequent bepaald door de meest voorkomende klasse onder de records die voldoen aan het antecedent. De dataset afhankelijke waarde Tot slot dient nog vermeld te worden hoe de waarde van ηi,j bekomen wordt. Hiervoor vertrekken we van het concept entropie. Zij, C het klasse attribuut, c de cde klasse. Dan is de entropie horende bij de conditie Ai = Vi,j : H(C|Ai = Vi,j ) = −
X c
(p(c|Ai = Vi,j ) · log2 p(c|Ai = Vi,j ))
(3.4)
Hierbij is p(c|Ai = Vi,j ) de relatieve frequentie van klasse c onder de records waarvoor Ai = Vi,j geldt. H(C|Ai = Vi,j ) is de informatie-inhoud de conditie Ai = Vi,j . Hoe hoger deze is, hoe minder een specifieke klasse aan deze attribuutwaarde verbonden is en dus hoe minder voorspellende waarde de conditie heeft. Daarom wordt deze waarde ge¨ınverteerd door ze af te trekken van haar maximaal mogelijke waarde log2 k (met k
37
3.2 Ant-Miner
HOOFDSTUK 3. ANT-MINER
het aantal klasses) en normaliseren we om ηi,j te bekomen. log2 k − H(C|Ai = Vi,j ) P i xi · j (log2 k − H(C|Ai = Vi,j ))
ηi,j = P
(3.5)
(xi zelfde betekenis als bij vergelijking 3.3)
3.2.3
Pruning
Pruning, vrij vertaald snoeien
1
, moet, net als min cases per rule de algemeenheid
van de classificatieregels verbeteren. Aangezien termen worden toegevoegd aan de regel tot op ´e´en van twee beperkingen gestoten wordt, kan het best zijn dat de regel te gedetailleerd geworden is. Hiervoor worden de termen van het antecedent ´e´en voor ´e´en verwijderd en wordt telkens de kwaliteit van de regel nagegaan (voor details over de kwaliteitsfunctie zie 3.2.4). Het is mogelijk dat de regel hierbij tijdens de pruning van klasse verandert, de klasse van de regel is steeds de meest voorkomende klasse onder de records die aan het antecedent voldoen (algoritme 3.3). Algoritme 3.3 pruning prune(rule) pruned = rule prunedQuality = Q(pruned) ruleQuality = Q(rule) repeat //indien hier is er nog geen einde bereikt rule = pruned ruleQuality = prunedQuality pruned = removeT ermAndCheckClass(rule) prunedQuality = Q(pruned) until prunedQuality < ruleQuality or rule == def aultRule return rule 1
Komt van het snoeien in de classificatieboom.
38
3.2 Ant-Miner
3.2.4
HOOFDSTUK 3. ANT-MINER
Feromoonupdate
Rest nog het probleem van de feromoonconcentraties. Eerst moeten deze ge¨ınitialiseerd worden. Bij aanvang krijgt elke vertex hetzelfde feromoonniveau: 1 τi,j = P P i
j
1
(3.6)
Vervolgens is een kwaliteitsfunctie nodig die kan helpen bij het aanpassen van de feromoonniveaus. Een gepaste functie hiervoor is het product van de sensitivity en specificity. Q=
TP TN · TP + FN FP + TN
(3.7)
met: TP true positives: records die de regel correct classificeert FP false positives: records die gedekt zijn door het antecedent maar een andere
klasse hebben FN false negatives: records dezelfde klasse hebben of de regel, maar niet gedekt
worden door het antecedent TN true negatives: records die niet gedekt worden door het antecedent en een
andere klasse of de regel hebben Hiermee kunnen de feromoonniveaus als volgt worden aangepast:
τi,j (t + 1) = τi,j (t) + τi,j (t) · Q, ∀vi,j ∈ rule
(3.8)
Ten slotte wordt de feromoonverdamping gerealiseerd door na het aanpassen het totale niveau te normaliseren:
τi,j 0 τi,j =P P i
j
τi,j
(3.9)
39
3.3 Myra
3.3
HOOFDSTUK 3. ANT-MINER
Myra
Myra is een implementatie van Ant-Miner gemaakt door Fernando E. B. Otero. Deze diende als basis voor deze masterproef. De algoritmiek is vrijwel onveranderd gebleven. Een belangrijke uitzondering is het invoeren van het elitist ant principe [1]. Hierbij worden regels 1 en 2 van de repeat-loop van algoritme 3.2 vervangen door een lus. Deze lus laat een aantal mieren los op het netwerk, zonder de feromoonniveaus aan te passen. Daarna wordt de beste regel uit de batch geselecteerd, waarmee vervolgens algoritme 3.2 wordt verder gezet. Dit bleek een ideale plaats voor parallellisatie te zijn. Het basisalgoritme van AntMiner leent zich daar moeilijk toe 2 . Elke mier is namelijk afhankelijk van het spoor gemaakt door de mier uit de vorige iteratie. Door mieren in batch door het netwerk de sturen, zonder voor elke mier meteen de feromoonniveaus aan te passen, verdwijnt deze afhankelijkheid. Het laat dus toe de mieren in parallel het netwerk te doorzoeken. Concrete cijfers betreffende deze optimalisatie zijn er niet, maar een verbetering tussen ×2 tot ×3 op een quad-core cpu lijken aannemelijk.
3.4
Toepassing op Beursanalyse
Deze techniek kan nu relatief rechttoe rechtaan worden toegepast op beurscijfers. Veel waarden in het beurslandschap zijn tijd en context gebonden. Zo is de kans de Standard & Poor’s 500 (S&P 500) index nog terug daalt naar een waarde van 100, zo goed als onbestaande. Ook inflatie draagt zijn steentje hiertoe bij. Daarom is getracht over te schakelen op waarden die minder gevoelig zijn van deze tijdsafhankelijkheid. Voor prijzen werd daarvoor overgegaan op verandering in prijs over een periode van 1, 3, 6 of 12 maanden (t − x). Aangezien het hier over tijdreeksenanalyse gaat werden die veranderingen omgezet naar het continuously compounded (CC) domein en wordt er gewerkt met excess return, om de echte meerwaarde te voorspellen. Ook voor volume werd een vergelijkbare inspanning geleverd (splitsen van aandelen en de prijs van een 2
Het feit dat het algoritme stamt uit een tijd waar multi-core desktop computing nog niet zo courant
was heeft daar mogelijk mee te zien.
40
3.4 Toepassing op Beursanalyse
HOOFDSTUK 3. ANT-MINER
aandeel kunnen hier een invloed op hebben) door gebuik van contextvrij volume, voor meer informatie over de berekening die hiervoor werd gebruikt zie B.2. Verder werd gewerkt met de S&P 500 index, de lijst indicatoren te vinden in appendix D en de lijst van aandelen te vinden in appendix E 3 . Omdat Ant-Miner categorische attribuutwaarden verwacht, werd een discretisatiestap uitgevoerd (ook voor het klasseattribuut). Hiervoor werden verschillende aantallen categorie¨en getest, voornamelijk 2, 3 en 5. Categorie¨en worden bekomen door alle voorkomende waarden in gelijke groepen te verdelen (equal size bins). Hierbij werden de categorie¨en per aandeel (stock, share) opgesteld. Indien dit niet het geval was geweest, zouden laag volatiele aandelen verstrikt komen te zitten in de categorie¨en in de buurt van het centrum, waardoor er geen mogelijkheid is tot het leren van enige patronen. Extra attributen die beschikbaar werden gesteld aan het algoritme zijn de maand, het seizoen en het kwartaal. Er werd gekozen voor een groot aantal attributen, met in het achterhoofd dat een groot aantal factoren beurskoersen be¨ınvloeden. Omdat de tijdscomplexiteit (zie B.3) van Ant-Miner dit niet toestond, werden geen testen gedaan op de verzameling records van alle aandelen samen. Ook de omgang van Ant-Miner met veelwaardige attributen (160-tal symbolen van de verschillende aandelen) vormde daarbij een beperkende factor. Als klasse-attribuut werden de voorwaartse prijsverschillen gebruikt (t + x), hierbij werden de periodes van 1 en 3 maanden beschouwd (voor beide een waarnemingsinterval van 1 maand). Kortere periodes bleken te hoge volatiliteit te vertonen om bruikbaar te zijn (ei in vgl 2.36), bovendien zorgen de maandelijkse waarnemingsintervallen voor een niet onbelangrijke reductie van de dataset. Langere periodes werden als te lang beschouwd voor actief beleggen. Verder werden de testen chronologisch en als k-fold cross validation uitgevoerd (voor meer hierover zie deel 6.1.2). 3
Hoe deze lijst tot stand kwam is te vinden in onderdeel 6.3.3.
41
3.5 Resultaten met Ant-Miner
3.5
Resultaten met Ant-Miner
3.5.1
Toegepast op de S&P500 Index
HOOFDSTUK 3. ANT-MINER
Ant-Miner werd eerst toegepast in een poging de evolutie van de S&P 500 index te voorspellen. De opstelling is zoals in vorige paragraaf beschreven werd, daarnaast werden bijkomend volgende parameters gebruikt. batch: 50, (zie 3.3) door het grote aantal attributen is voor elke vertex de kans
klein om geselecteerd te worden. Dit aantal voldoende groot kiezen compenseert dit.(lager werd onderzocht, 50 gaf consistentere resultaten) no of ants: 1000, let wel, hier is de naam gebruikt van de originele Ant-Miner ,
het eigenlijke maximum aantal mieren is batch × no of ants = 50 × 1000. Het effectieve aantal mieren zal echter een stuk minder zijn omdat de oplossing meestal eerder convergeert. no of rules converg: 10, arbitrair gekozen max uncovered cases: 20% (10% bij chrono), dit houdt in de 80%(90%) van
de trainingset gedekt door de regelset, verder gaan zou waarschijnlijk leiden tot overfitting (Ant-Miner werd aangepast om procentueel te kunnen werken, de grootte van de datasets is namelijk variabel) min cases per rule; 5%, werd gekozen op basis van een aantal testen
De beschouwde data, betrof de periode 1975 t.e.m. 2009. Vouwen werden gemaakt per jaar (voor chronologisch en k-fold cross validation). In tabel 3.1 wordt de gemiddelde graad van correcte voorspelling weergegeven voor de twee strategie¨en. Er werd getest met 2 of 3 klasses (wat neerkomt op omlaag/omhoog of omlaag/neutraal/omhoog), met een opbrengst van 3 maanden in de toekomst als klasse. Alle inputs werden verdeeld in 3 categorie¨en. De voorspellingen doen het beter dan wat een willekeurige voorspeller zou opleveren (50% of 33%), dat leidt tot een eerste conclusie dat er weldegelijk patronen te vinden
42
3.5 Resultaten met Ant-Miner
HOOFDSTUK 3. ANT-MINER
Tabel 3.1: graad van correcte classificatie(Ant-Miner index) klasses
2
3
kfold
60 ± 1%
43 ± 2%
chrono
58 ± 2%
40 ± 1%
zijn. De resultaten liggen echter onder wat zou kunnen verwacht worden als men kijkt naar eerdere successen die Ant-Miner boekte (correcte classificatie van 70-90%). Het is echter waarschijnlijk dat de oorzaak bij de dataset ligt in plaats van bij het algoritme. Bespreking van een goede regelset Voor dit voorbeeld werden de classificatieregels van k-fold cross validation testmethode met 3 klasses gebruikt. Zoals eerder vermeld werd gevouwen per jaar. De reeks waarbij 2009 het testjaar was presteerde een correcte voorspelling van 100%. Het was echter zo dat voor 2009 maar 3 kwartalen aan data beschikbaar zijn en dit zou dus geen eerlijke vergelijking vormen. De reeks met 1983 als testjaar presteerde een resultaat van 75% correcte voorspellingen. De het resulterende classificatiemodel is te vinden onder algoritme 3.4. Hierbij zijn de termen opgebouwd als attribuut = waarde (deze is driewaardig 0:dalen, 1:neutraal, 2:stijgen)
4
. De attributen zijn opgebouwd als < indicator ><
ref erentiepunt >. De termen die voorkomen in de regels verbazen weinig. Ze beslaan voornamelijk arbeid en tewerkstelling (AW HI, P AY EM S, EM RAT IO), de bouwindustrie en vastgoed (HSN 1F , HOU ST 1F ) en tot slotte consumentenvertrouwen(U M CSEN T ) (voor details zie lijst met indicatoren, appendix D). Het succes van deze set van regels heeft vermoedelijk twee aspecten. Enerzijds slaagde Ant-Miner erin een aantal belangrijke drijvende factoren in de economie te selecteren. Anderzijds zullen de markten zich tijdens het jaar 1983 op een rationele manier tegenover deze factoren gedragen hebben (wat niet altijd het geval is). In dit 4
Om precies te zijn, bij opbrengst (return) wordt gewerkt met excess return, dit wil zeggen dat
dalen ook kan inhouden het slechter doen dan de risicovrije investering.
43
3.5 Resultaten met Ant-Miner
HOOFDSTUK 3. ANT-MINER
Algoritme 3.4 voorbeeld van classificatieregels if AW HImonth12 = 2 and P AY EM Smonth12 = 2 then return 0 else if
EM RAT IOmonth12
=
0 and P AY EM Smonth6
=
0 and
P AY EM Smonth3 = 0 then return 0 else if HSN 1F month3 = 0 then return 2 else if U M CSEN T month3 = 0 then return 2 else if HOU ST 1F month6 = 0 and P AY EM Smonth12 = 1 then return 0 else return 1 end if specifieke jaar bleken de koersen het in 7 van de 12 gevallen bijzonder slecht te doen, deze 7 werden allemaal voorspeld door deze regelset, wat de hoge graad van correcte voorspellingen helpt verklaren.
3.5.2
Toegepast op Aandelenkoersen
Omdat de dataset opgesplitst werd per aandeel, is de situatie quasi gelijk als deze bij de index hiervoor. Dus werd dezelfde parameter configuratie gebruikt. Tabel 3.2: graad van correcte classificatie(Ant-Miner aandelen) klasses
2
3
kfold
56 ± 1%
36 ± 1%
chrono
55 ± 2%
35 ± 1%
Er valt op te merken dat de gemiddelde graad van correcte voorspellingen bij aandelen een stuk lager ligt. Aandelenkoersen voorspellen blijkt dus een stuk moeilijker.
44
3.5 Resultaten met Ant-Miner
HOOFDSTUK 3. ANT-MINER
Doch zijn er onderling sterke verschillen. Zo is de gemiddelde graad van correcte voorspellingen voor het aandeel UTX (United Technologies Corporation) bij 3 klasses en kfold strategie 46%.
45
Hoofdstuk 4 Tekstclassificatie Zoals vermeld in de inleiding werden voor deze masterproef drie sporen gevolgd. Tekstclassificatie is het tweede onderdeel hiervan. Omdat de scope van deze masterproef beperkt is, werd gekozen voor een relatief eenvoudig tekstclassificatie-algoritme.
4.1
TextCat
N-gram gebaseerde tekstclassificatie (TextCat) werd naar voor gebracht door William B. Cavnar and John M. Trenkle in 1994 [8]. Het algoritme is bijzonder succesvol bij het classificeren van teksten volgens taal of onderwerp. Het werd ge¨ınspireerd door de observatie dat gebruiksfrequentie van woorden samenhangt met zowel taal als onderwerp. Door fragmenten van woorden te gebruiken in plaats van volledige woorden, vermijdt men gevoeligheid aan zowel verbuigingen als fouten
4.1.1
1
.
Algoritme
In algoritme 4.1 wordt in grote lijnen het verloop van de classificatie uit de doeken gedaan. 1
Zoals tikfouten, of scanfouten bij het digitaliseren van documenten.
46
4.1 TextCat
HOOFDSTUK 4. TEKSTCLASSIFICATIE
Algoritme 4.1 n-gram tekstclassificatie 1. Eerst wordt per klasse(onderwerp of taal) op basis van voorbeeldteksten(waar de klasse dus van gekend is) een een statistisch profiel opgemaakt (fingerprint). 2. Ook voor te classificeren teksten wordt dit profiel opgemaakt. 3. Vervolgens worden de afstanden berekend tussen het profiel van de te classificeren tekst en de profielen van de verschillende klasses. 4. Ten slotte wordt de klasse bepaald als deze met de kleinste profielafstand.
4.1.2
N-Gram
Zoals reeds aangehaald zorgt het gebruik van fragmenten van woorden voor verbeterde robuustheid, door een verlaagde gevoeligheid aan zowel fouten als verbuigingen. Hiervoor wordt gebruik gemaakt van n-grammen. Een n-gram is een reeks van n karakters lang. n is de orde van het n-gram. De karakters zijn daarbij een deelreeks van een woord (uit een tekst). Voor en achter het woord wordt het teken “ ” toegevoegd, zodat een woordbegin en einde duidelijk zijn. Toegepast op het woord woord geeft dit: woord : 2-grammen: w, wo, oo, or, rd, d 3-grammen: wo, woo, oor, ord, rd
4.1.3
Tekstprofiel
Met deze n-grammen kan nu op volgende wijze het profiel (fingerprint) van een tekst (of een verzameling van teksten) gemaakt worden (algoritme 4.2).
4.1.4
Afstand
Het berekenen van de afstand tussen twee profielen is nu vrij eenvoudig. Men itereert over de lijst van n-grammen van het te classificeren profiel. Voor elk n-gram bepaalt
47
4.2 Extensie van TextCat
HOOFDSTUK 4. TEKSTCLASSIFICATIE
Algoritme 4.2 tekstprofiel berekenen 1. Eerst wordt de tekst gesplitst in woorden. Cijfers en interpunctie worden verwijderd. Hoofdletters worden omgezet naar kleine letters. 2. Voor n-grammen tussen een gekozen minimum en maximum orde wordt hun voorkomen geteld doorheen de lijst van woorden. 3. Eens alle n-grammen geteld, wordt de lijst van n-grammen gesorteerd op voorkomen, van hoog naar laag. Deze lijst vormt het profiel van de tekst.
. De afstand Di tussen men de positie van hetzelfde n-gram in het klasseprofiel posclass i de twee n-grammen is het verschil van de posities. Indien het n-gram niet gevonden wordt, wordt de afstand gekozen als de maximale afstand, zijnde de profiellengte. Dit herhaalt men voor een aantal n-grammen naar keuze. De totale afstand is dan de som van alle deelafstanden.
Di =
|posi − posclass |, ngrami ∈ classP rof ile i
max X D = Di
(4.1) (4.2)
i
4.2
Extensie van TextCat
Voor deze masterproef werd vertrokken van een bestaande implementatie van TextCat, Java TextCat [33]. Teneinde deze te verbeteren werden een aantal uitbreidingen en aanpassingen gemaakt. Uniforme Profielengte In de Java TextCat implementatie werden, in het geval dat een n-gram niet gevonden werd, de profiellengte gebruikt van het klasseprofiel. De profiellengte van het klasseprofiel zal dus een rol gaan spelen bij de groei van de afstand (ook bij n-grammen die wel
48
4.2 Extensie van TextCat
HOOFDSTUK 4. TEKSTCLASSIFICATIE
gevonden worden speelt dit een rol). Indien er een verschil is in grootte tussen de klasseprofielen, zal dit dus kleine profielen bevoordelen. Dit werd opgelost door de grootte van alle profielen te normaliseren op 1024, waarbij alle posities mee geschaald worden naar het interval [0, 1024]. Deze schaling verloopt niet lineair, maar exponentieel, zodat voor bij voorkomende n-grammen voldoende detail in de positie wordt bewaard. Versnelde Afstandsberekeningen Aangezien voor de doeleinden van deze masterproef ook weinig frequente woorden van belang kunnen zijn, werd als doel gesteld het volledige profiel van een te classificeren tekst te gebruiken. Bij de bestaande implementatie werden de posities van de ngrammen bepaald door het doorlopen van de tabel voor elke opzoekoperatie. Deze dure operatie werd vervangen door ´e´en scan van de tabel, waarbij voor elke n-gram de positie werd opgeslagen in een binaire boom gestructureerde key-value mapping. Het gevolg hiervan was een versnelde werking met een grootteorde van ×100. Stopwoorden Stopwoorden, zoals “de” en “het” in het Nederlands of “a” en “the” in het Engels, kunnen van belang zijn bij het classificeren naar taal. Bij het classificeren naar onderwerp of naar sentiment(wat voor deze masterproef de bedoeling moet zijn), zijn ze eerder een stoorzender. Aangezien dat de tekstdata eentalig Engels is, werd, voor de standaard tekstvoorbereiding door TextCat, de tekst gefilterd op stopwoorden. Hiertoe werd de Apache Lucene StandardAnalyzer gebruikt [34]. N-Woorden Ge¨ınspireerd door [35] en [36], werd TextCat ook aangepast om te werken met volledige woorden en zinsneden. Hierbij wordt de rol van een karakter in een n-gram, ingevuld door een volledig woord. De rol van woord wordt op zijn buurt ingevuld door een zinsnede. De zinsneden zijn hierbij delen van de zin die van elkaar gescheiden worden door interpunctie of een stopwoord. Nemen we als voorbeeld: “Dit is een onnodig lange
49
4.3 Resultaten van Tekstclassificatie met Extensie HOOFDSTUK 4. TEKSTCLASSIFICATIE
voorbeeldzin.”, dan onstaan hieruit de sneden “dit is” en “onnodig lange voorbeeldzin”. De laatste van de twee sneden geeft daarbij volgende 2-woorden: “onnodig lange” en “lange voorbeeldzin”. Profielverwijding Naast stopwoorden zijn er nog ander woorden die weinig bijdragen tot een onderwerp of sentiment. Ook deze kunnen voor een verstorende werking zorgen. Om hieraan tegemoet te komen worden de afstanden tussen de verscheidene klasseprofielen gemaximaliseerd. Daartoe wordt voor alle n-grammen of n-woorden nagegaan, wat de onderlinge afstand is. Is de afstand kleiner dan een waarde f × 1024, dan wordt het n-gram (n-woord ) uit alle klasseprofielen verwijderd. f is hierbij een te kiezen parameter. Bijkomend werd het berekenen van de afstandsmaat ook aangepast. N-grammen die in geen van de klasseprofielen voorkomen dragen niet bij tot de classificatie en worden dus niet meegerekend.
4.3
Resultaten van Tekstclassificatie met Extensie
Om te controleren dat TextCat met deze uitbereidingen nog naar behoren werkt, werd een tekstclassificatietest naar thema uitgevoerd. Hiervoor werden uit het archief van The New York Times [37] 30.000 artikels geselecteerd, evenredig verdeeld over 3 onderwerpen (kunst, zaken en sport (arts, business, sports)). Van de verzameling artikels werd op willekeurige wijze 10% afgezonderd, dit deel vormde de trainingset, de andere 90% de testset. Uniforme profielengte, versnelde afstandsberekeningen en stopwoordenfilter werden aan de programmacode toegevoegd zonder mogelijkheid tot configuratie, deze zijn dus impliciet aanwezig in alle testen. Er werd gebruik gemaakt van n-grammen geen nwoorden. De minimum en maximum orde die gebruikt werd was 4 en 6. Teksten die minder dan 200 karakters of minder dan 20 n-grammen bevatten werden niet geclassificeerd. Het aantal getelde n-grammen I en de verwijdingsfactor f werden gevarieerd (voor elke combinatie waren de trainingset en testset gelijk). De resultaten van ´e´en
50
4.4 Resultaten van Opbrengstclassificatie
HOOFDSTUK 4. TEKSTCLASSIFICATIE
uitvoering onder deze condities is te vinden in tabel 4.1. Tabel 4.1: graad van correcte classificatie (TextCat thema) f, I
400
max
0, 0
94, 4%
94, 4%
0, 5
95, 2%
95, 2%
1, 0
95, 2%
95, 2%
Een eerste observatie is dat, 400 n-grammen of het volledig profiel gebruiken geen verschil maakt voor thema classificatie. Een verklaring is mogelijk te vinden in de relatief grote minimum orde en de stopwoordenfilter, waardoor ook de meest voorkomende n-grammen reeds vrij specifiek zijn. Een tweede observatie is dat profielverwijding de reeds goede resultaten toch nog met 0,8% weet de verbeteren voor een factor f = 0, 5 . Een factor f = 1, 0 zorgt niet voor een extra verbetering, zelfs voor een lichte daling
4.4
2 3
.
Resultaten van Opbrengstclassificatie
Met voorgaande is duidelijk dat, wat betreft thema classificatie, TextCat een goed werkende techniek is. Nu kan deze toegepast worden in een poging toekomstige opbrengsten te classificeren. In lijn met voorheen, wordt met een maand als waarnemingsinterval gewerkt. De lijst van een 160-tal aandelen (appendix E) werd samengesteld zodat voor alle aandelen voldoende tekstinformatie beschikbaar was (voor meer zie 6.3.3). Voor elk aandeel worden de artikels die het bedrijf in kwestie vermelden, per waarneming aan het desbetreffende record gehecht. Ook hier is de bron van de tekstinformatie het archief van The New York Times [37]. Het beschikbare materiaal betrof de periode 01/1987 tot en met 8/2004. 2 3
2e cijfer na komma, niet weergegeven. Hoewel slechts weergegeven voor 1 meeting hier, werden deze resultaten consistent terug gevonden
in niet opgenomen resultaten.
51
4.5 Volumeanalyse op Basis van Tekstinformatie HOOFDSTUK 4. TEKSTCLASSIFICATIE
De klasses worden zoals in vorig hoofdstuk bepaald door de gediscretiseerde toekomstige opbrengst. Opnieuw wordt gewerkt met een voorwaartse termijn van drie maanden. Ten gevolge van een beperkte tijd, verwerkingkracht en geheugen, werd gefocussed op 1-woorden
4
. Ook strategie¨en en aantal klasses werd toegepast als voorheen. Bij
het berekenen van de graad van correcte classificatie, werd enkel rekening gehouden met die records waarvoor effectief tekstinformatie beschikbaar was. De resultaten zijn terug te vinden in tabel 4.2. Tabel 4.2: graad van correcte classificatie(TextCat aandelen) klasses
2
3
kfold
51,8%
33,9%
chrono
51,4%
33,6%
Zoals af te lezen is de kwaliteit van deze voorspellingen bijzonder zwak, want nauwelijks beter dan een willekeurige voorspelling. Omdat het hoofdthema van deze masterproef niet tekstclassificatie was, werd niet verder gezocht om dit te verbeteren. Toch wordt dieper ingegaan op de resultaten in hoofdstuk 7.
4.5
Volumeanalyse op Basis van Tekstinformatie
De infrastructuur die werd opgebouwd voor het maken van voorspellingen van aandelenopbrengsten liet ook andere onderzoeken toe. Een interessant scenario hiervoor is de studie van het verhandeld volume van een aandeel in functie van het in het nieuws komen van het bedrijf in kwestie. Opnieuw werd The New York Times [37] als bron gebruikt. Deze keer werd gewerkt met waarnemingsintervallen van dagen. Voor elke dag werd voor elk aandeel nagegaan of het vermeld werd in een artikel. Daarna werd het contextvrij volume (zie B.2) uitgemiddeld voor alle handelsdagen, maar waarbij nieuwsdagen en andere van elkaar 4
N-woorden bleken bvb. explosief te zijn in geheugengebruik.
52
4.5 Volumeanalyse op Basis van Tekstinformatie HOOFDSTUK 4. TEKSTCLASSIFICATIE
gescheiden werden
5
. De resultaten hiervan zijn te vinden in tabel 4.3. Tabel 4.3: handelsvolume bij nieuwsberichten type
vol
nieuws 13,85% anders
4,32%
∆0
9,14%
Omdat de dagen zonder nieuwsberichten in de ruime meerderheid zijn kunnen deze gebruikt worden als referentie voor de algemene situatie. Het feit, dat hier een positief gemiddelde bekomen wordt en niet 0%, hoeft niet te verbazen. Het ligt in lijn met de waarneming dat elk jaar de verhandelde waarde stijgt. Ook inflatie is een factor die hiertoe bijdraagt. Kijken we nu naar het gemiddelde van contextvrij volume op dagen waarbij een bedrijf in het nieuws komt, dan zien we dat die dagen het bijbehorende aandeel beduidend meer verhandeld wordt. Het resultaat
5
6
blijkt een extra handel van 9,14%.
Merkop dat dit probleemloos onder verschillende aandelen kan gedaan worden om dat het con-
textvrij volume genormaliseerd is. 1 + 0, 1385 6 Berekening als volgt ∆0 = −1 1 + 0, 0432
53
Hoofdstuk 5 Genetische Algoritmen Het laatste van de drie sporen is het construeren van een portefeuille. De theoretische achtergrond hiervan werd reeds uitvoerig besproken in hoofdstuk 2. In dit hoofdstuk wordt uit de doeken gedaan hoe dit kan ge¨ımplementeerd worden met behulp van genetische algoritmen.
5.1
Genetische Algoritmen
Men zou kunnen stellen dat genetische algoritmes (GAs) ge¨ınspireerd zijn door “de wet van de sterkste” (survival of the fittest). Het is een heuristische zoek- of optimalisatietechniek die uitgaat van een populatie van kandidaatoplossingen. De kandidaatoplossing is daarbij gecodeerd in de genen van een individu. De kwaliteit van een kandidaatoplossing wordt weergegeven door de fitheid (fitness) ervan. Zoeken in het domein gebeurt door voortplanting (crossover ), waarbij een ouderpaar nakomelingen produceert voor een volgende generatie. Zoals bij echte evolutie, gebeurt er af en toe een mutatie in de genen van sommige individuen. Over de generaties heen overleven de beste oplossingen [2] [7].
54
5.1 Genetische Algoritmen
5.1.1
HOOFDSTUK 5. GENETISCHE ALGORITMEN
Populatie
Een van de sterktes van genetische algoritmes is de breedte waarmee gezocht wordt. Hiervoor wordt een populatie van tientallen tot honderden individuen gebruikt. De eerste generatie kan met willekeurig gegenereerde oplossingen ge¨ınitialiseerd worden, dit betekent bijgevolg ook tientallen tot honderden vertrekpunten bij het zoeken.
5.1.2
Crossover en Mutatie
De basisgedachte achter de crossover operator is dat de combinatie van goede oplossingen ook goede oplossingen zal opleveren. Er bestaan oneindig veel mogelijke manier om dit te implementeren. Een voorbeeld is de single point crossover. Hierbij zal een kindindividu van ´e´en ouder het eerste deel van de genen krijgen en van de andere ouder het tweede deel van de genen. Een tweede kind krijgt dan de complementaire genen. De mutatie operator moet voorkomen dat de hele populatie te veel convergeert, en dus zorgen dat het zoekveld voldoende breed blijft. Dit kan bijvoorbeeld gebeuren door af en toe bij een individu ´e´en gen te inverteren
5.1.3
1
.
Selectie
De selectie van ouderparen speelt ook een rol bij het succes van GA. De selectiemethode die gebuikt werd in deze masterproef is tournament selection. Hierbij worden uit de populatie van de oudergeneratie een aantal individuen geselecteerd op willekeurige wijze. De twee individuen met de hoogste fitheid worden dan het ouderpaar. Dit impliceert dat, hoe hoger het selectieaantal, hoe lager de kans dat individuen met een lage fitheid aan bod komen voor voortplanting.
5.1.4
Elitism
De overgang tussen verschillende generaties kan op verschillende manier gebeuren. Een mogelijkheid is dat nieuwe generatie die vorige generatie volledig vervangt. Een 1
Bij binaire genen bvb. een 1 veranderen naar een 0 of omgekeerd.
55
5.2 Portefeuilleopbouw met GA
HOOFDSTUK 5. GENETISCHE ALGORITMEN
mogelijk interessant alternatief is dat van elitist survival. Hierbij wordt een fractie (deze met de beste fitheid ) van de oudergeneratie overgezet naar de volgende generatie. Dit garandeert dat de beste oplossing blijft bestaan, ook als deze niet gegenereerd wordt bij de creatie van de laatste generatie.
5.1.5
Hybride Vormen
De manier waarop nieuwe oplossingen gegenereerd worden bij GA kan zorgen voor grote sprongen in de zoekruimte. In sommige gevallen kunnen ook kleinere sprongen zinvol zijn. Hiervoor kan GA gecombineerd worden met andere zoekmethoden, zoals bijvoorbeeld gradient descent.
5.1.6
Impliciete Parallelliseerbaarheid
De populatie zorgt voor een breed zoekveld, dit brengt echter ook met zich mee dat voor elk individu de fitheid moet berekend worden. GAs zijn dus behoorlijk rekenintensief. Gelukkig zijn individuen van een zelfde generatie onafhankelijk van elkaar, ze kunnen dus in parallel berekend worden.
5.2
Portefeuilleopbouw met GA
Zoals zal blijken, is de toepassing op portefeuilleopbouw op basis van hoofdstuk 2 relatief rechttoe rechtaan. Er zal hiervoor veel gesteund worden op de uiteenzetting in onderdeel 2.3.2 en de bijhorende wiskunde.
5.2.1
Genoom
In de introductie werd reeds een verwijzing gemaakt naar binaire genen. Re¨eelwaardige genen kunnen echter ook gebruikt worden. De gewichtenvector w ~ is hierbij een compacte en dus goede representatie van een kandidaatoplossing en kan dus dienst doen als genoom.
56
5.2 Portefeuilleopbouw met GA
5.2.2
HOOFDSTUK 5. GENETISCHE ALGORITMEN
Fitheid
De op basis van onderdeel 2.3.2 ligt de keuze voor fitheid voor de hand. Het Sharpe ratio zal hiertoe dienen. Er dient te worden opgemerkt dat, aandelen die een bepaald moment in tijd nog niet genoteerd worden op de beurs, problemen kunnen veroorzaken. Deze hebben op dat moment namelijk een standaardafwijking (σ) van 0 en geven dus aanleiding tot een Sharpe ratio van ∞ of Not-a-Number. Teneinde dit probleem te omzeilen worden nulvarianties vervangen door 1,5 keer de maximale variantie in de covariantiematrix. Nulopbrengsten geven geen probleem. Alle opbrengsten worden uitgedrukt als excess return. Indien gewicht wordt toegekend aan deze aandelen, komt dit neer op een risicovrije investering voor dat gewicht.
5.2.3
Crossover
De samenstelling van de portefeuille op basis van gewichten waarbij geldt dat
P
i
wi = 1
is een barycentrische combinatie [38]. De barycentrische combinatie van twee baricentrische combinaties vormt opnieuw een barycentrische combinatie. Het valt bovendien af te leiden uit de opbouwmethode van de portefeuille (portfolio) dan een lineaire combinatie van twee goede portefeuilles opnieuw een goede portefeuille zal opleveren. Dit zijn dus ideale eigenschappen voor een crossover-operator. Zij w~k de kindindividuen, j
w~jo de ouderindividuen en α een gekozen parameter dan zijn volgende vergelijkingen de betreffende crossover.
w~1k = αw~1o + (1 − α)w~2o
(5.1)
w~2k = (1 − α)w~1o + αw~1o
(5.2)
57
5.2 Portefeuilleopbouw met GA
5.2.4
HOOFDSTUK 5. GENETISCHE ALGORITMEN
Mutatie
De mutatie werd vrij gelijkaardig ge¨ımplementeerd met degene die eerder vermeld werd. Van een genoom wordt het maximum en minimum bepaald
2
. Vervolgens wordt over
de genen ge¨ıtereerd, waarbij voor elk gen een zeker kans bestaat dat het vervangen wordt door het eerder bepaalde maximum of minimum. De keuze tussen maximum of minimum, verloopt eveneens willekeurig.
5.2.5
Gradient Descent
Bij elke operatie (mutatie of crossover), wordt gradient descent toegepast om het lokale optimum te vinden. Dit locale optimum is het uiteindelijke resultaat van de operatie. Elk individu in de populatie is dus een kandidaatoplossing in een lokaal optimum.
5.2.6
Randvoorwaarden
Een voorwaarde die reeds gekend is
P
i
wi = 1. Er zijn echter een paar bijkomende
voorwaarden die moeten opgelegd worden aan de gewichten om tot een aanvaardbare oplossing te komen. De doelstelling is een portefeuille cre¨eren die een selectie van aandelen bevat uit de beschouwde lijst van aandelen (appendix E), teneinde via actief beleggen α te genereren (zie 2.4.1). Geen van de aandelen mag hierbij oververtegenwoordigd zijn. Dit bleek een bijzonder moeilijk probleem te zijn om exact op te lossen, daarom werd algoritme 5.1 toegepast als een benadering. Merk op dat met stap 6 in het algoritme de voorwaarde
P
i
wi = 1 wordt gehand-
haafd. Verder zal het oplettende oog gemerkt hebben dat de portefeuille eigenlijk een fractie van (1 + 2s)f van het totale aantal aandelen zal bevatten. De initialisatie in stap 1 moet een goede spreiding helpen verzekeren, te veel 0 gewichten kan voor problemen zorgen. In de meeste gevallen zullen deze gewichten gedurende de volgende stappen van het algoritme terug naar 0 veranderen. Af en toe 2
Noteer dat dit minimum negatief kan zijn.
58
5.2 Portefeuilleopbouw met GA
HOOFDSTUK 5. GENETISCHE ALGORITMEN
Algoritme 5.1 opleggen van randvoorwaarden aan oplossing Zij s de fractie die short mag gegaan worden, f de fractie van aandelen uit de totale lijst die gewenst wordt te gebruiken, maxF rac en minF rac de maximum en minimum fractie die een aandeel van het portfolio mag uitmaken en een fout met normale distributie rond 0 en een grootte verwaarloosbaar tegenover de gewichten. Dan worden de randvoorwaarden als volgt opgelegd: 1. Als eerste stap worden alle gewichten die 0 zijn ge¨ınitialiseerd op een waarde zodat alle gewichten een teken hebben. 2. Vervolgens wordt de gewichtenvector w ~ gesplitst in twee vectoren, de positieve gewichten w~+ en de negatieve gewichten w~− . 3. Nu worden de vectoren zo geschaald dat ze voldoen aan de voorwaarden max(wi+ ) = maxF rac, min(wi− ) = −maxF rac. 4. De (1 + s)f grootste gewichten van w~+ worden geselecteerd, de anderen worden op 0 gezet. Het zelfde wordt gedaan met de s · f grootste (|wi− |) gewichten van w~− .
5. De gewichten die niet 0 zijn worden nu zo geschaald dat ze allen tussen minF rac wi+ +0 + ~ en maxF rac komen te liggen. Voor w houdt dit in wi = (maxF rac− maxF rac minF rac) + minF rac. Idem voor w~− . 6. Daarna worden w~+ en w~− zo geschaald dat ze voldoen aan de voorwaarden P + P − i wi = 1 + s, i wi = −s 7. Tenslotte wordt w ~ terug samen gesteld door w~+ en w~− te sommeren. w ~ = w~+ +w~−
59
5.3 Resultaten
HOOFDSTUK 5. GENETISCHE ALGORITMEN
zal dit niet het geval zijn en zal er een kleine mutatie ontstaan. Deze zal normaal niet veel groter zijn dan minF rac. Deze randvoorwaarden worden bij elke verandering (afdaling, reproductie of mutatie) opgelegd.
5.2.7
Kapitaalallocatie
Het zou onverstandig zijn van tijdens de portefeuilleconstructie de risicovrije investering buiten beschouwing te laten. Hierbij wordt, zoals in 2.3.2 aangegeven het scheidingprincipe gerespecteerd. Eerst wordt met GA de optimale risicohoudende portefeuille gezocht. Vervolgens wordt de optimale verdeling tussen de risicohoudende portefeuille en de risicovrije investering gevonden. Dit werd opnieuw met gradient descent ge¨ımplementeerd.
5.3
Resultaten
Om de resultaten weer te geven die deze component zelfstandig realiseert werden 4 scenario’s beschouwd. In scenario 1 wordt Standard & Poor’s 500 (S&P 500) als referentie weergegeven. In scenario 2 wordt de referentieportefeuille gebaseerd op de beschouwde lijst van
aandelen (6.3.4). In scenario 3 worden de effectieve toekomstige opbrengsten als voorspellingen
gebruikt. In scenario 4 worden de veranderingen van de voorbije periode gebruikt als voor-
spellingen. Parameters die gebruik werden zijn een populatie van 200. De evolutie stopt bij 20 generaties of 3 opeenvolgende generaties waarbij de beste oplossing niet verandert 3 . 3
merk op dat dit een stuk minder is of gangbaar is bij GA, de combinatie met gradient descent
zorgt echter dat een stuk meer kandidaatoplossingen ge¨evalueerd worden en dus na 20 generaties al
60
5.3 Resultaten
HOOFDSTUK 5. GENETISCHE ALGORITMEN
Elitism wordt toegepast, dus generatie op generatie overleven 1/4 van de individuen. De crossover α is 0,6, de kans op mutatie 0,5 en de kans per gen op mutatie 0,01. De gradient descent α is 0,005 en per uitvoering mag maximaal 100 keer worden gedaald 4
. De covariantiematrix wordt berekend op basis van minimaal 10 en maximaal 48
waarnemingen, over de eerste 10 waarnemingen wordt dus geen investeringsbeslissing genomen. De gebruikte waarde van risico-aversie (zie 2.3.1) A is 3,0. Als fractie f wordt 20% gebruikt voor long scenario’s en 7 voor short scenario’s
5
. In dit geval is
de beschouwde periode 01/1975 tot 01/2010. Met E[r] het rekenkundige gemiddelde van de jaaropbrengsten en Sharpe ratio en utility berekend op basis van rekenkundige gemiddeldes. De resultaten zijn te vinden in tabel 5.1 (voor verduidelijking rond effective annual return (EAR), Sharpe ratio en utility zie 2.1, bij het berekenen van de utility werd gebruik gemaakt van een risico-aversie A = 3).
6
Tabel 5.1: gemiddeld opbrengst per jaar (GA) long(s = 0)
short(s = 1)
EAR
E[r]
Sharpe
utility
EAR
E[r]
Sharpe
utility
s1
7,9%
8,5%
0,16
5,1%
7,9%
8,5%
0,16
5,1%
s2
33,7%
37,8%
0,91
19,6%
33,7%
37,8%
0,91
19,6%
s3
176%
209%
0,86
-626%
331%
390%
1,06
-1580%
s4
6,5%
6,9%
0.07
4,6%
-
-
-
-
Het blijkt dat, bij perfecte voorspellingen, zo veel winst wordt opgezocht dat dit leidt tot een grote variantie en bijgevolg een negatief effect heeft op de utility. Het valt te stellen dat in deze context de waarde van de utility function niet meer de beoogde evaluatie bereikt. De resultaten vallen dan ook ver buiten realistische waarden. een goede oplossing kan gevonden worden 4 Aanvankelijke zal deze limiet bereikt worden, na verloop van tijd zijn slechts een aantal iteraties nodig. Merk ook op dat dit een bijzonder kostelijke operatie is. Er moet namelijk telkens een numerieke gradi¨ent van een kwadratische vorm van orde 160 gevonden worden. 5 7 · (1 + 2s) = 7 · 3 = 21, beiden ±30 aandelen (zie ook appendix B.4). 6 Merk op dat long en short geen betekenis hebben voor s1 en s2
61
5.3 Resultaten
HOOFDSTUK 5. GENETISCHE ALGORITMEN
Verder kunnen we enkel vaststellen dat het verleden inderdaad geen goede voorspelling is voor de toekomst en hier dus leidt tot zwakke resultaten. Bij het shorten in scenario 4 ging meer geld verloren dan de originele investering, de waarden die thuishoren in de tabel zijn dus onberekenbaar.
62
Hoofdstuk 6 Architectuur en Implementatie Nu de theoretische aspecten van deze masterproef uit de doeken zijn gedaan en vooraleer de finale resultaten te bespreken is het moment gekomen om enkele praktische zaken te behandelen.
6.1
Architectuur
De software die instaat voor het verbinden van de verschillende componenten is ge¨ımplementeerd als een vorm van hybride tussen de patronen blackboard en pipeline. Het laat een aaneenschakeling van componenten toe, waarbij deze componenten interagerend met het universum (ophalen van inputs en het afleveren van resultaten). Doch is aan deze componenten een sequentie opgelegd, de resultaten van de ene component dienen namelijk als input voor de volgende. (te zien in figuur 6.1) De samenstelling van componenten tot een geheel, teneinde een specifiek thema te onderzoeken gebeurt via XML configuratie. Teneinde fouten vroegtijdig te detecteren, wordt voor aanvang van het programma een validatiestap uitgevoerd. Deze controleert van elke stap of, voor de gevraagde resultaten, de vereiste inputs beschikbaar zullen zijn op het moment dat de stap aan bod komt en of deze van het juiste type zijn. Verder is een checkpointing mechanisme voorzien. Dit laat toe de toestand van het universum, weg te schrijven naar een bestand. Dit kan dan gebruikt worden bij een eventueel falen, of hergebruik met andere opvolgstappen.
63
6.1 Architectuur
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
universum
stap
stap
stap
Figuur 6.1: architectuur (conceptueel)
6.1.1
Componenten
Het wordt afgeraden deze sectie als proza te lezen, ze is vooral bedoeld als naslagwerk voor de andere hoofdstukken van deze scriptie. DBSimpleSelector Laat toe om records uit een database te halen. Te kiezen valt voor welke aandelen of indicatoren en tussen welke tijdstippen. Discretifier Laat toe om velden te discretiseren. Hierbij kan de discretisatie afhankelijk zijn van een ander veld, zodat bvb. categorie¨en per aandeel kunnen bekomen worden. IndexTextLinker Laat toe om aan records nieuwsberichten te koppelen. Het maakt hiervoor gebruikt van het archief van The New York Times [37]. De artikelen zijn ge¨ındexeerd door Apache Lucene [39] en opvraagbaar op basis van een alias (bedrijfsnaam) en datum. Voor elk van de 160 aandelen is een mapping van symbool naar alias opgeslagen in een database. De index leidt naar een 160 bit sleutel (SHA-1 van de oorsponkelijke url).
64
6.1 Architectuur
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
De artikels zelf zijn in een text-only formaat (geen html) opgeslagen in een Berkley DB. ThemeArticleRetriever Werkt op dezelfde technologie en data als IndexTextLinker, maar laat zoeken toe op basis van thema. ClassBasedAverage Laat toe om gemiddeldes van velden te berekenen, afhankelijk van andere velden. Werd gebruikt om resultaat van deel 4.5 te berekenen. ConfusionMatrixBuilder Bouwt de confusion matrix, op basis van dewelke de graad van correcte classificaties kon berekend worden in vorige hoofdstukken. Filter Laat scheiden van de dataset in verschillende delen toe. Mogelijke criteria zijn, datum, probabilistisch of als een multiplexer(volgens een vaste verhouding, maar dan op een voorspelbare manier). De probabilistische filter werd bvb. gebruikt bij 4.5. De filter is ook in staat van datasets terug samen te voegen. NGramBuilder Implementatie van de trainingsstap van hoofdstuk 4. AntMinerBuilder Implementatie van de trainingsstap van hoofdstuk 3. PortFolioBuilder Implementatie van hoofdstuk 5.
65
6.1 Architectuur
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
FunctionApplicator Laat toe om functies en inverse functies toe te passen op records. Voorbeelden van functies zijn deze geproduceerd door AntMinerBuilder, NGramBuilder en Discretifier. FileWriter Laat toe om resultaten weg te schrijven naar het bestandssysteem. In tegenstelling tot het checkpointing mechanisme, schrijft deze component in een vorm die door mensen leesbaar is. Op voorwaarde van de juiste configuratie natuurlijk. FieldAverage Laat toe het gemiddelde van twee velden te berekenen. Gebruikt om de voorspellingen van Ant-Miner en TextCat samen te stellen. Folder Splitst de dataset op in een aantal vouwen op basis van een veld. Werd het meest gebruikt om de dataset op te splitsen per jaar.
6.1.2
Subpipeline
De Subpipeline component fungeert in principe zoals andere componenten, maar krijgt extra aandacht omdat de gebruikte strategie¨en belangrijk zijn voor de interpretatie van de resultaten. De Subpipeline laat toe een pijplijn te encapsuleren en vormt op die manier een soort van lus in de pijplijn. Het neemt vouwen van de Folder aan en doorloopt een aantal iteraties op basis van een welbepaalde strategie. kfold De kfold strategie implementeert k-fold cross validation. Hierbij is elke vouw (elk jaar) ´e´en keer de testset. De andere vouwen vormen samen de trainingset. Uitzondering zijn de twee aan de testset aangrenzende vouwen. Deze worden niet opgenomen
66
6.2 Bibliotheken en Tools
om contaminatie
1
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
van de trainingset te vermijden.
chrono De chrono strategie implementeert chronologisch afgaan van vouwen. Hierbij is elke vouw (elk jaar) ´e´en keer de testset. De vouwen die aan de testset vooraf gaan, vormen samen de trainingset. Uitzondering is de aan de testset aangrenzende vouw. Deze wordt niet opgenomen om de zelfe reden als bij de kfold strategie. Deze manier van opbouwen van testset en trainingset respecteert de tijdlijn.
6.2 6.2.1
Bibliotheken en Tools Tools
Java 6 Was de gebruikte programmeertaal. Deze keuze vloeide voort uit eerdere ervaringen. Deze taal maakt een goede balans tussen de snelheid van een gecompileerde taal, de gemakken betreffende geheugengebruik van een gemanagede runtime en de verminderde foutgevoeligheid van tengevolge van de sterke typering. Ook de beschikbaarheid van goede gratis tools speelde hierbij een rol [40]. Eclipse IDE Werd gebruikt als ontwikkelomgeving, het is ´e´en van de topomgevingen beschikbaar voor Java ontwikkeling en bovendien gratis [41]. Apache Maven Werd gebruikt als build en integratietool. Wegens zijn goede integratie met de Java context [42]. Apache Cayenne Werd gebruikt als tool om de databanken te modeleren [43].
6.2.2
Bibliotheken
Apache Derby Was de gebruikte database. Gekozen voor zijn volledige integratie met Java [44]. 1
Vermijden dat de trainingset enige informatie bevat die overlapt met de testset
67
6.2 Bibliotheken en Tools
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
Apache Cayenne De modelingtool van Cayenne is slecht een deel, de voornaamste reden waarvoor Cayenne gebruikt werd is de ORM-functionaliteit. Apache Lucene Werd gebruikt om de het archief van de The New York Times [37] te indexeren. Waarna in deze index de artikels horend bij bepaalde aandelen en op specifieke dagen of in specifieke maanden konden worden opgezocht [39]. Apache Commons Dit is een verzameling van implementaties van veel terug komend problemen. Werden onder andere gebruikt: logging, cli, math, collection, config, HttpComponents. Oracle Berkeley DB Java Edition Java implementatie van de Berkekely DB (vroeger van Sleepycat). Werd gebruikt om de nieuwsartikels in te stockeren. Eerst werd dit gedaan in een Derby DB, maar relationele databanken blijken problemen te hebben met grote volumes. Deze key-value store kan daar beduidend beter mee overweg [45]. Beanshell Voor de interactie met het draaiende programma via terminal of telnet [46]. Htmlparser Voor het omzetten van de nieuwsartikels van html naar plaintext [47].
6.2.3
Implementaties
Onder implementatie wordt verstaan, bestaand werk dat gebruikt wordt, maar dat in tegenstelling tot bibliotheken niet als “as is”gebruikt wordt, maar wordt aangepast waar nodig. Myra Werd gebruikt als basis van implementatie voor hoofdstuk 3 [48]. Java TextCat Werd gebruikt als basis van implementatie voor hoofdstuk 4 [33].
68
6.3 Gegevensbronnen
6.3 6.3.1
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
Gegevensbronnen Cijfers
Aandelen NYSE en NASDAQ Voor een lijst van aandelen werd het web afgezocht. De uiteindelijke lijst, waren aandelen genoteerd op New York Stock Exchange (NYSE), NASDAQ of NYSE:AMEX [49] [50]. Yahoo! Finance Yahoo! voorzag de effectieve beursdata. De functionaliteit “historical prices” laat toe van vele in de Verenigde Staten genoteerde aandelen de volledige historiek op te vragen. Voor sommige noteringen gaat dit terug tot 1950. Ook de historiek van Standard & Poor’s 500 (S&P 500) index en verscheidene staatsobligaties van de VS werden door Yahoo! voozien. Indicatoren
®
St. Louis Fed: Economic Data - FRED
Wat indicatoren betreft was FRED
na een tijdje zoeken een bijzonder aangename verrassing. Uiteindelijk leverde FRED op ´e´en na alle economische indicatoren [51]. goldprices.com De geschiedenis van de goudprijs werd aangeleverd door goldprices.com [52].
6.3.2
Nieuws
The New York Times De naam is reeds meermaals gevallen, maar het archief The New York Times bleek een gratis beschikbare verzameling nieuwsartikels die ietwat aligneerde met de reeds beschikbare beursdata. Enkel de artikels gepubliceerd tussen 01/1987 en 09/2004 waren op een doenbare manier (via een crawler) te verzamelen. Goed voor 1,6 miljoen artikels vormden deze de input voor hoofdstuk 4 [37].
69
6.3 Gegevensbronnen
6.3.3
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
Voorbereiding en Selectie
Na de verzamelfase was het vertrekpunt een lijst met 6100+ aandelensymbolen. 6053 daarvan konden worden afgehaald van Yahoo! Finance. Van deze aandelen werden voorwaartse en achterwaartse veranderingen berekenend in het continuously compounded (CC) domein voor periodes van 1, 2, 3 dagen, 1, 2, 3 weken en 1, 2, 3, 6, 9, 12, 18, 24 maanden (ook voor de indicatoren werd dit gedaan). Ook het contextvrij volume werd voor alle aandelen berekend. Eens beslist werd toch tekstclassificatie bij deze masterproef te betrekken werden de aandelen gefilterd op volgend criterium: “20 nieuwsartikels moeten betrekking hebben op het bedrijf verbonden aan het aandeel in periode 1995 en 1998 ”. Aandelen die aan dit criterium voldeden bleven in de beschouwde dataset (lijst, zie appendix E), andere aandelen werden verwijderd. De specifieke periode werd gekozen met het oog op per aandeel voldoende tekstdata ter beschikking te hebben om uit te leren 2 . Dit criterium leverde een handige doch zinvolle manier om de dataset te reduceren naar een grootte die meer handelbaar was binnen de beperkt beschikbare tijd.
6.3.4
Een Waardige Referentie
Na ingebruikname van de ingekorte lijst van aandelen werd duidelijk dat de nieuwsgebaseerde selectie van de aandelen een belangrijke rol speelt bij het te oogsten potentieel 1 3 . Een portefeuille samengesteld door aan elk aandeel een gelijk gewicht (wi ≈ ), 160 maakte snel duidelijk dat deze lijst zal neigen tot beter presteren dan de voor de hand liggende referentie, de S&P 500 index. Detailanalyse van de gelijke gewichten portefeuille leerde echter dat dit geen geschikte (eerlijke) referentie is. Van een referentieportefeuille die verdeeld is over de hele lijst van beschouwde aandelen verwachten we namelijk dat ze passief beleggen benadert. Elke poging beursvoorspellingen te maken vertegenwoordigt namelijk het doel via actief beleggen beter te presteren dan passief 2
De originele bedoeling was het het scheiden van trainingset en testset op 1998. Pas later werd
gekozen om gebruik te maken van de kfold en chrono strategie¨en. 3 Hiermee wordt bedoeld dat de samenstelling van de lijst een belangrijke invloed heeft op de resultaten van elke mogelijke portefeuille (portfolio) die eruit geselecteerd wordt
70
6.3 Gegevensbronnen
HOOFDSTUK 6. ARCHITECTUUR EN IMPLEMENTATIE
beleggen. Om aan te tonen dat de gelijke gewichten portefeuille hier niet aan voldoet, volgend voorbeeld: De lijst van aandelen (appendix E) bevat onder andere AIG en Barclays (BCS). Tijdens de financieel-economische crisis van 07-08 kwamen deze twee financi¨ele instellingen aan de rand van de afgrond. Hun aandelen werden zo goed als waardeloos. Uiteindelijk bleven ze overeind en in de herstelwoede vanaf maart 2009 schoten de koersen als een raket de lucht in. Een gelijke gewichten portefeuille zou hier inhouden dat bij het kelderen van een aandeel, grote hoeveelheden van het aandeel zouden worden aangekocht om de proporties binnen de portefeuille terug op orde te stellen. In geval van herstelwoede heeft dat natuurlijk een bijzonder krachtig effect op het rendement van de portefeuille. Het op deze manier herschikken van de portefeuille is echter alles behalve passief beleggen. Het inkopen op sterk gezakte aandelen is evenmin een daad van een passieve belegger. In de zoektocht naar een goed alternatief werden verscheidene mogelijkheden getest. De gekozen methode heeft als doelstelling vergelijkbaar te zijn met een marktkapitalisatie gewogen index zoals de S&P 500 . Omdat in de dataset geen informatie over de historische marktkapitalisatie van de verschillende aandelen beschikbaar was, werd cashV olume hiervoor als een proxy gebruikt (zie B.2). Hiervoor wordt aangenomen dat de liquiditeit en de waarde van een aandeel in verhouding staat tot de marktkapitalisatie. Zij E[cashV olumei ] het ´e´enjarig gemiddelde van het cashV olume van aandeel i, dan is het gewicht van aandeel i:
E[cashV olumei ] wi = P i E[cashV olumei ]
(6.1)
Deze gewichten worden voor elke waarneming (elke maand) herberekend en het gewichten van aandelen die nog niet genoteerd zijn is dus 0.
71
Hoofdstuk 7 Resultaten 7.1
Herhaling van de Afzonderlijke Resultaten
Tot nu toe werd vastgesteld dat voorspellingen van notering van een index met AntMiner enig maar toch beperkt succes kennen (tabel 3.1). Dat het voorspellen van afzonderlijke aandelen gemiddeld gezien minder succesvol zijn (tabel 3.2), maar dat dit sterk afhankelijk is van aandeel tot aandeel (voorbeeld UTX ). Verder werd vastgesteld dat TextCat goed presteert op gebied van themaclassificatie en dat deze prestatie nog licht verbetert met de voorgestelde uitbereidingen (tabel 4.1). Een eenvoudige toepassing van TextCat op verwachte opbrengsten leverde echter behoorlijk zwakke resultaten op (4.2). Wel bleek dat aandelen gemiddeld 9% meer verhandeld worden op dagen dat ze in het nieuws vermeld worden. Als laatste werden genetische algoritmes (GAs) toegepast op de constructie ven een portefeuille (portfolio). Perfecte voorspellingen bleken in bijzondere winsten te resulteren, maar de verleiding van grote winsten gingen ten koste van het risicoprofiel van de portefeuille. Opbrengsten uit het nabije verleden gebruiken als voorspelling voor de toekomst bleek geen groot succes te zijn. Ook kon reeds worden vastgesteld dat de lijst van geselecteerde aandelen (aandelen die voldoende voorkomen in het nieuws zie deel 6.3.3), in de voorbije jaren gemiddeld een stuk meer stegen dan het marktgemiddelde (tabel 5.1).
72
7.2 Resultaten van de Samengestelde Voorspelling
7.2
HOOFDSTUK 7. RESULTATEN
Resultaten van de Samengestelde Voorspelling
De afzonderlijke resultaten blijken geen tot slechts een beperkt succes te zijn. Op dit punt is de situatie de volgende: Er is een techniek, Ant-Miner , die, op basis van wat rationele regels zouden
moeten zijn, een voorspelling maakt. Deze voorspelling kent echter geen enkele notie van risico. Een techniek voor portefeuilleopbouw, Markowitz Portfolio Selection, die sterk is
in het construeren van een portefeuille met een goede riscico-rendement verhouding, maar die afhankelijk is van een voorspelling van opbrengst. Het op deze manier formuleren maakt duidelijk waarom het een interessante oefening kan zijn de twee te combineren. Verder zal blijken dat ook TextCat een rol kan spelen.
7.2.1
Vergelijking van de Samenstellingen
Op basis van de voorgesteld componenten zijn er drie combinaties die portefeuilles genereren mogelijk: AntMiner+GA, TextCat+GA en AntMiner+TextCat+GA. AntMiner+GA en TextCat+GA houden in dat voorspelde opbrengsten van Ant-Miner of TextCat gedediscretiseerd worden (met de mediaan van de klasse als waarde), waarna deze als input dienen voor de GA component. Bij AntMiner+TextCat+GA wordt na dediscretisatie nog een gemiddelde berekend van de twee waarden. Om deze drie combinaties combinaties te testen werd de periode 01/1987 tot 01/2005 beschouwd(09/2004+3 maanden, zie 6.3.2). Doorheen dit hoofdstuk werden de voorspellingsresultaten van de kfold-strategie met 3 klasses gebruikt(zie 3.5,4.4en 6.1.2). Voor het GA gedeelte werden parameters gebruikt zoals in hoofdstuk 5 met een long strategie. Met E[r] het rekenkundige gemiddelde van de jaaropbrengsten en Sharpe ratio en utility berekend op basis van rekenkundige gemiddeldes. De resultaten zijn te vinden in tabel 7.1 (voor verduidelijking rond effective annual return (EAR), Sharpe ratio en
73
7.2 Resultaten van de Samengestelde Voorspelling
HOOFDSTUK 7. RESULTATEN
utility zie 2.1, bij het berekenen van de utility werd gebruik gemaakt van een risicoaversie A = 3). Tabel 7.1: vergelijkende tabel (verschillende combinaties) combinatie
EAR
E[r]
Sharpe
utility
AntMiner+GA
27,3%
28,7%
1,33
23,9%
TextCat+GA
23,0%
23,9%
1,33
20,8%
AntMiner+TextCat+GA 27,5%
28,8%
1,45
24,7%
In figuur A.1 is de evolutie van de waarde van de verschillende portefeuilles weergeven in functie van de tijd. Alle portfolio starten genormeerd op 100%, de schaal is logaritmisch zodat voldoende detail is over de hele periode
1
. Op de grafiek is te zien
hoe AntMiner+GA en AntMiner+TextCat+GA aan elkaar gewaagd zijn, maar TextCat+GA onderdoet. Uit de cijfers in tabel 7.1 blijkt dat AntMiner+TextCat+GA nipt de beste combinatie is, hiermee zal verder gewerkt worden. In figuren A.3 en A.4 zijn het tijdverloop van de Sharpe ratio en utility function te zien. Ze worden vermeld voor de volledigheid, hier is niet veel aan op te merken buiten dat deze in elkaars buurt blijven. Het is echter wel interessant om de opbrengst (return) van de periode 2000 tot 2005 in detail te bekijken. In figuur A.1 was reeds te zien hoe AntMiner+TextCat+GA erin slaagt om AntMiner+GA in deze periode bij te benen. In figuur A.2 worden de portefeuilles van de combinaties vergeleken met een gemeenschappelijke vertrekpunt in 2000. Het lijkt erop dat AntMiner+GA en TextCat+GA quasi gelijk lopen, met een licht voordeel voor AntMiner+GA. De reden dat TextCat+GA hier beter presteert dan voorheen heeft mogelijk te maken met het feit dat alle beschouwde aandelen ondertussen ietwat stabiel in de markt liggen en er over alle aandelen reeds een aantal nieuwsartikels 1
Omdat winsten geometrisch accumuleren zullen op een lineaire schaal de beginwaarden veel kleiner
zijn dan de eindwaarden, waardoor enkel in het laatste deel van de grafiek voldoende detail zou zijn. De logaritmische schaal geeft ook een correcter beeld over de effectieve waardevermeerdering van opeenvolgende tijdstippen.
74
7.2 Resultaten van de Samengestelde Voorspelling
HOOFDSTUK 7. RESULTATEN
gepubliceerd zijn die opgenomen zijn in het klasseprofiel.
2
.
Wat opvalt is het feit dat AntMiner+TextCat+GA erin slaagt beduidend beter te presteren dan de andere twee en dit terwijl de gebruikte voorspelling enkel de combinatie is van die twee. Een plausible verklaring kan zijn dat een verhoogde precisie 3 en het temperen van de voorspellingen 4 een positief effect hebben op het samenstellen van de portefeuille. Het feit dat de omgeving van het jaar 2000 woelige beurstijden waren door het barsten van de .com zeepbel versterken deze these. Getemperde voorspelde opbrengsten zullen de invloed van de variantie en covariantie en dus de invloed van risico tijdens de GA stap versterken.
7.2.2
Vergelijking met Referentieportefeuilles
Nu de beste combinatie geselecteerd is, kan deze vergeleken worden met een aantal referentieportefeuilles. Deze keer wordt de periode 01/1975 tot 01/2010 beschouwd
5
.
Verder worden dezelfde parameters als voorheen gebruikt. De verschillende referenties zijn, de riscovrije belegging RF
6
, de Standard & Poor’s
500 (S&P 500) index en de lijstgebaseerde referentieportefeuille LRP (zie 6.3.4). Resultaten zijn te vinden in tabel 7.2 (voor verduidelijking rond α en β zie 2.4.1). In de getabelleerde resultaten valt te zien hoe op gebied van totaal rendement, AntMiner+TextCat+GA een stuk beter presteert dan de S&P 500. Met in gedachten dat de lijst van beschouwde aandelen hier een invloed zou op kunnen hebben werd de LRP index geconstrueerd. De gemiddelde opbrengsten van de LRP index(EAR en E[r]) tonen inderdaad dat de potenti¨ele waarde vervat in de beschouwde lijst bijzonder groot is. Op gebied van opbrengst doet AntMiner+TextCat+GA erg onder tegenover 2
Het is namelijk zo dat het laatste van de beschouwde aandelen slechts sinds eind 97 op de beurs
verhandeld werd. 3 Door het nemen van gemiddeldes ontstaan er bij gebruik van 3 klasses 6 onderscheiden niveaus. 4 Als alle drie de klasses een even grote kans hebben om gekozen de worden, dan is de combinatie van twee voorspellingen een stap naar een normaaldistributie. Bovendien werd bij TextCat een voorkeur voor de middelste klasse waargenomen, wat dit effect versterkt. 5 Merk op dat AntMiner+TextCat+GA enkel binnen de periode 01/1987-01/2005 actief is, daarbuiten wordt AntMiner+GA gebruikt. 6 Kortetermijn VS staatsobligatie, zie T-Bill .
75
7.2 Resultaten van de Samengestelde Voorspelling
HOOFDSTUK 7. RESULTATEN
Tabel 7.2: vergelijkende tabel (t.o.v referenties) EAR
E[r]
Sharpe
utility
α
β
RF
5,9%
6,1%
-
6,1%
0%
0
S&P 500
7,9%
8,5%
0,16
5,1%
0%
1
LRP
33,7%
37,8%
0,91
19,6%
28,0%
1,54
AntMiner+TextCat+GA 22,8%
24,6%
1,00
19,4%
16,9%
0,65
de LRP index. Bekijken we echter het Sharpe ratio en de utility, twee waarden die zowel opbrengst als risico in rekening brengen, dan zien we dat beiden aan elkaar gewaagd zijn. Dit is geen onbelangrijk resultaat. Het maakt duidelijk dat AntMiner+TextCat+GA met een selectie van aandelen (50-tal, zie B.4) erin slaagt op een effici¨ente manier de risicorendement verhoudingen op niveau te brengen van een volledig gespreide passieve portefeuille. In figuren A.5, A.6 en A.7 zijn het verloop in de tijd van van de opbrengst, Sharpe ratio en utility te zien. Opbrengst maakt terug gebruik van een logaritmische schaal. Bij figuren A.6 en A.7 start de tijdlijn pas op 1980, zodat er voldoende informatie beschikbaar is om de standaardafwijking (σ) te berekenen. De figuren tonen wat verwacht kan worden uit de getabelleerde resultaten, LRP presteert best in de opbrengstgrafiek, gevolgd door AntMiner+TextCat+GA. In de Sharpe ratio en utility grafieken zijn ze aan elkaar gewaagd. Op het eerste zicht zitten er dus geen verrassingen in deze grafieken. Een aandachtig oog zal het hier echter oneens mee zijn. Wat opvalt in figuur A.5 is de relatief constante tot groeiende graad van stijging in de waarde van de LRP portefeuille tot in de buurt van het jaar 1998. Rond het jaar 1998 is een knik in de curve te zien, waarna de graad van stijging beduidend minder is. Dit doet zich niet voor bij de AntMiner+TextCat+GA curve, die nochtans gebruik maakt van dezelfde lijst van aandelen. Kijken we op de evolutie van de utility in figuur A.7 dan zien we een vergelijkbare anomalie. Voor 1998 zijn AntMiner+TextCat+GA en LRP aan elkaar gewaagd, met een licht voordeel voor LRP . Tussen 1998 en 2000 piekt de utility van LRP om vervol-
76
7.2 Resultaten van de Samengestelde Voorspelling
HOOFDSTUK 7. RESULTATEN
gens weg te zakken. Na 2000 neemt AntMiner+TextCat+GA duidelijk de bovenhand op gebied van utility. We weten dat 1998 relevant was in de constructie van de lijst van aandelen (zie 6.3.3). Vooraleer in te gaan op mogelijke oorzaken wordt duidelijk gemaakt wat de invloed van deze effecten op de resultaten kan zijn. Hiervoor beschouwen we het laatste decennium [2000,2010[ van de dataset afzonderlijk. Afgaand op figuur A.7 zouden in deze de periode de “overgangsverschijnselen”(verder wordt ingegaan op waarom de keuze voor deze terminologie) verdwenen moeten zijn. De stelling dat keuze van dit interval onverdeeld in het voordeel speelt van de onderzochte modellen kan hierbij gecounterd worden met volgend punt. Deze periode kende 2 van de zwaarste crisissen in de geschiedenis van de financi¨ele wereld, het barsten van de .com zeepbel in het jaar 2000 en de hypotheek- en daarop volgende financieeleconomische crisis van 2007-08. Dit is dus allerminst een gunstig beursklimaat, waarvan de prestatie van de S&P 500 index getuigen. In figuur A.8 worden de waardes van de verschillende portefeuilles opnieuw vergeleken, maar dan voor de periode [2000,2010[. Alle portefeuilles hebben een gemeenschappelijk vertrekpunt in het jaar 2000. Nu kan worden vastgesteld dat AntMiner+TextCat+GA beduidend beter presteert dan alle andere portefeuilles. Terwijl zowel S&P 500 als LRP het in de nawee¨en van de .com zeepbel bijzonder slecht doen, slaagt AntMiner+TextCat+GA erin in deze periode een voorsprong te nemen (dit is des te opmerkelijker omdat AntMiner+TextCat+GA wordt samengesteld door selectie uit de lijst waar LRP op gebaseerd is). Ook onder de crisis in 2007-08 lijkt AntMiner+TextCat+GA het minst te lijden. De cijfers in tabel 7.3 vertellen hetzelfde verhaal. Op elk gebied presteert AntMiner+TextCat+GA het best. Ook de slechte prestaties van de markt tijdens deze periode worden hieruit duidelijk. Het gebruik van de kfold strategie zorgt ervoor dat de trainingset voor een klein gedeelte bestaat uit toekomstige data (zie 6.1.2). Om de praktische haalbaarheid te controleren werd specifiek voor deze periode ook de chrono strategie ge¨evalueerd (A+T+G(chrono)). Het is geen verrassing dat bij deze strategie de resultaten een stuk
77
7.2 Resultaten van de Samengestelde Voorspelling
HOOFDSTUK 7. RESULTATEN
Tabel 7.3: vergelijkende tabel (t.o.v referenties)(00-10) EAR
E[r]
Sharpe
utility
α
β
RF
2,7%
2,7%
-
2,7%
0%
0
S&P 500
-2,4%
-1,7%
-0,31
-6,2%
0%
1
LRP
14,3%
15,2%
0,68
11,3%
15,7%
0,87
AntMiner+TextCat+GA 20,8%
22,2%
1,40
19,7%
19,6%
0,34
15,6%
1,10
13,6%
15,3%
0,51
A+T+G(chrono)
14,7%
minder zijn. Dit kan toegeschreven worden aan het ontbreken van voorkennis of een te beperkte trainingset, of een combinatie daarvan. A+T+G(chrono) slaagt er echter in toch de LRP index voor de blijven op gebied van opbrengst en het een stuk beter te doen op gebied van risicoprofiel. In de grafiek blijkt dit ook duidelijk, rond 2007-2008 heeft de LRP index A+T+G(chrono) quasi bijgebeend, maar A+T+G(chrono) komt een stuk beter door de daarop volgende crisis. Het gedrag van de α is ietwat vreemd, dit heeft te maken met het feit dat de β met vergelijking 2.40 wordt brekend en de security market line (SML) een negatieve helling heeft. Wordt de α bepaald via risco-rendement (bvb. grafisch, zoals ge¨ıllustreerd in figuur 2.6), dan is deze voor LRP , AntMiner+TextCat+GA en A+T+G(chrono) respectievelijk 16,0%, 21,8% en 16,1%. Verklaring Deze laatste resultaten zijn bijzonder positief. Eigenlijk werkt AntMiner+TextCat+GA tijdens het laatste decennium zoals we het verwachten of op zijn minst hopen van een actieve beleggingsstrategie. Waarom lukt het dan pas in deze periode om beter te presteren dan de LRP index en waarom daarvoor niet?
De meest plausibele verklaring is te vinden in een variatie op de survival bias. Hiervoor eerst een woordje uitleg. Inherent aan de studie van beurdata, in de manier waarop de dataset wordt
78
7.2 Resultaten van de Samengestelde Voorspelling
HOOFDSTUK 7. RESULTATEN
opgebouwd, is een “survival bias” aanwezig. Hiermee wordt bedoeld dat aandelen van bedrijven die in de loop der jaren overkop gingen, niet in de dataset zijn opgenomen, omdat ze op het tijdstip van constructie van de dataset geen notering meer hebben.
7
.
Deze survival bias is sowieso doorheen de hele dataset aanwezig, maar de manier waarop de lijst van beschouwde aandelen werd opgebouwd (zie 6.3.3) heeft hier een erg uitgesproken versterkende werking op gehad. Aandelen werden geselecteerd op voldoende grote nieuwsdekking tussen 1995 en 1998. Van de bedrijven die op dat moment in het nieuws kwamen zijn er twee types te onderscheiden: Een eerste type bedrijven zijn deze die reeds jaren voor 1995 bestonden. Dit zullen
eerder gevestigde waarden zijn zoals bvb. Coca-Cola of Berkshire Hathaway. Het feit dat deze bedrijven in de periode 95-98 voldoende nieuwsdekking kregen zegt iets over het belang en dus de grootte van de bedrijven. De LRP index representeert het inkopen op bedrijven vanaf het moment dat ze beursgenoteerd zijn. Het in 1975 inkopen op een bedrijf dat in 1998 belang en omvang zal hebben, is duidelijk een uitgesproken competitievoordeel. Het tweede type bedrijven van belang in de periode 95-98 zijn de .com’ers.
Microsoft opende in 1995 met Windows 95 de deuren van het internet voor het grote publiek. In de nasleep hiervan ontstonden ontelbaar veel bedrijfjes om deze nieuwe markt te vullen. Op de beurs was the sky the limit. Banken waren gretig om aandelen van al deze bedrijfjes op de markt te brengen (en de commissies op te strijken). De volledige technologiesector kreeg een boost. 7
Prominente voorbeelden zijn Enron en WorldCom. Een manier om dit te omzeilen is natuurlijk
het bijhouden van historische lijsten van noteringen. Dit is echter bijzonder gespecialiseerde data en is dus moeilijk te bekomen, zeker voor een student computerwetenschappen.
79
7.3 Besluit
HOOFDSTUK 7. RESULTATEN
Na 2000 gingen vele van deze internetbedrijfjes op de fles. De technologiebedrijven in beschouwde lijst overleefden echter tot 2009. De in de lijst aanwezige technologiebedrijven, zoals Cisco Systems, profiteerden dus mee van het .com-effect. Dat verklaart dus de piek in utility tussen 1998 en 2000 om daarna in elkaar te zakken. De LRP index gaat uit van een strategie van het kopen van een aandeel van bij de notering. Over de hele periode 1975-2000 houdt dit dus in een sterke doch gespreide portefeuille, maar gespreid over allemaal aandelen die zullen groeien. Daarmee is duidelijk dat in deze context het moeilijk is om tijdens deze periode de LRP index te verslaan door selectie uit dezelfde lijst met aandelen. Eens het voordeel van de lijstconstructie verdwenen is (de “overgangsverschijnselen”) blijkt het inderdaad mogelijk de LRP index te verslaan. Bijgevolg is daar vast te stellen dat AntMiner+TextCat+GA inderdaad werkt zoals ervan verwacht wordt.
7.3
Besluit
Met de bias die in de dataset geslopen is, is het moeilijk om tot eenduidig besluit te komen.
Oordelend op de gehele periode 1975-2010 zou men kunnen stellen dat gangbare economische theori¨een stand houden. Arbitrage, de efficient-market hypothesis (EMH ) en reflexivity werden niet aangehaald als bladvulling. Ze moeten dienen als grond van verklaring voor enige terughoudendheid. Weinig omgevingen zijn zo snel en zo competitief in het verwerken van informatie als de financi¨ele markten. De eerste zijn die een winstkans ziet, kan een wereld van verschil maken, maar vele duizenden analisten en computers zijn hiervoor in competitie. Omdat ze maximaal wordt uitgebuit blijkt een groot deel van de voorspellende waarde van informatie te verdwijnen. Daarbij komen de effecten van angsten die kunnen leiden tot hysterie en dromen die een zeepbel kunnen opblazen. Als gevolg kunnen markten evengoed bewegen in
80
7.3 Besluit
HOOFDSTUK 7. RESULTATEN
irrationele patronen als gedreven worden door ratio. Een situatie die in dit onderzoek effectief kon worden vastgesteld voor de periode 1998-2000 (de .com zeepbel ). In dergelijke omgeving is het moeilijk markten samen te vatten in een stel if-then regels, waarvan verwacht kan worden dat ze enige rationaliteit dragen. Deze eenvoud n(n + 1) uitbreiden met de onafhankelijke waarden van de covariantiematrix (onderde2 len 2.3.2 en 5) en de conceptueel eenvoudige, maar desalniettemin als model complexe taalprofielen (zie 4), leiden tot een model dat met een beperkte selectie aandelen beter kan doen dan, of op zijn minst competitief zijn met, de risico-rendement eigenschappen van erg gespreide passieve portefeuilles.
De resultaten van de periode 2000-2010 kunnen echter niet genegeerd worden. Deze periode zou in principe vrij (of toch armer) moeten zijn van bias. Het is de opvatting van de auteur dat het op deze wijze combineren van de drie gebruikte modellen (Ant-Miner , n-gram gebaseerde tekstclassificatie (TextCat) en Markowitz Portfolio Selection + genetisch algoritme (GA)), toelaat dat ze elkaars imperfecties wegwerken. Het laatste decennium in de dataset periode lijkt dit op succesvolle wijze te demonstreren. Dit is helaas een conclusie onder voorbehoud. Staven van theorie¨en door selectie van de best presterende delen van een dataset is een gevaarlijke piste, ook al zijn er plausibele verantwoordingen om dat te doen. Toch zijn de resultaten van de periode 2000-2010 op zijn minst een interessante vaststelling.
Een finale conclusie, die wel veilig getrokken kan worden is de volgende. Beursvoorspellingen die enkel opbrengsten voorspellen, zonder risico’s in rekening te brengen, zijn van weinig waarde. Het optimaliseren van risico-rendement is dan weer zinloos zonder voorspellingen. Gecombineerd vullen de twee elkaar echter perfect aan en slagen ze er zelfs in goede resultaten te presteren. Het behandelen van beide aspecten is dus essentieel voor het succesvol onderzoeken van financi¨ele markten.
81
7.4 Openstaande Vragen
7.4
HOOFDSTUK 7. RESULTATEN
Openstaande Vragen
Een aantal openstaande vragen zijn volgende: Voor deze masterproef werden 3 modellen gebruikt die een redelijk aantal para-
meters kennen. De combinatie van de 3 modellen leidt tot een quasi oneindige verzameling van parametercombinaties. De parameters die gebruikt werden waren een resultaat van beredeneerde keuzes en zoekwerk. Op dit gebied kan echter nog bijzonder veel ge¨exploreerd worden. Bij de GA component komen per uitvoering vele miljoenen tot zelfs miljarden
matrixoperaties voor. Het gaat hierbij bovendien over grote matrices. Een standaardprocessor en bij extensie de Java VM hebben hier een kluif aan. Dit offloaden naar bijvoorbeeld een GP-GPU, zoals mogelijk is met de CUDA technologie van NVidia zou hier een aanzienlijke versnelling betekenen. In deze masterproef werd een conceptueel erg eenvoudige tekstanalyse gebruikt.
Er zijn zeker geavanceerdere manieren om dit aan te pakken, zoals semantische analyse. Vage logica kan mogelijk nog een interessant pad zijn om te onderzoeken. De
tempering die hier plaatsvond door combinatie van modellen kan bij vage logica verder gedreven worden door onderlinge combinatie van regels. Andere financi¨ele producten, zoals fondsen kunnen misschien prominenter aan-
wezige patronen produceren (die meer in regels te bevatten zijn). Afgeleide financi¨ele producten zoals opties kunnen mogelijk nog een interessante
bron van informatie vormen bij pogingen tot het voorspellen van beurskoersen.
82
Bijlage A Figuren bij Hoofdstuk 7
83
Figuur A.1: vergelijking opbrengst verschillende combinaties
84
Figuur A.2: vergelijking opbrengst verschillende combinaties (2000-2005)
85
Figuur A.3: vergelijking Sharpe ratio verschillende combinaties
86
Figuur A.4: vergelijking utility verschillende combinaties
87
Figuur A.5: vergelijking opbrengst tegenover referenties
88
10% 1975
100%
1000%
10000%
100000%
1000000%
10000000%
1980
1985
1990
1995
2000
vergelijking opbrengst tegenover referenties
2005
RF S&P500 LRP Ant+Text+GA
Figuur A.6: vergelijking Sharpe ratio tegenover referenties
89
Figuur A.7: vergelijking utility tegenover referenties
90
-100%
-50%
0% 1980
50%
100%
150%
1985
1990
1995
2000
vergelijking utility tegenover referenties
2005
RF S&P500 LRP Ant+Text+GA
Figuur A.8: vergelijking opbrengst tegenover referenties (2000-2010)
91
10% 2000
100%
1000%
2001
2002
2003
2004
2005
2006
2007
2008
vergelijking opbrengst tegenover referenties (2000-2010)
2009
RF S&P500 LRP Ant+Text+GA A+T+G(chrono)
Bijlage B Randinformatie B.1
Constant-Growth Dividend Discount Model
Zij V0 de huidige waarde van het aandeel, D0 het laatste gekende dividend, g de verwachte constante van van groei en k de verwachte opbrengst horende bij het risico verbonden aan deze investering. Als een continue groei wordt veronderstelt, dan is de waarde van volgende dividenden: D1 = (1 + g)D0
(B.1)
D2 = (1 + g)D1 = (1 + g)2 D0
(B.2)
Dn = (1 + g)n D0
(B.3)
Indien slechts ´e´en dividend meer zou worden uitkeert, zou de huidige waarde van het aandeel V0 =
D1 (1 + g)D0 = (1 + k) (1 + k)
(B.4)
zijn. Bij het blijvend uitkeren van dividenden wordt dit: V0 =
(1 + g)D0 (1 + g)2 D0 + + ... (1 + k) (1 + k)2
(B.5)
Na wat rekenwerk(zie C.1) en voor g < k vinden we: V0 =
(1 + g)D0 D1 = k−g k−g
(B.6)
92
B.2 Contextvrij volume
B.2
BIJLAGE B. RANDINFORMATIE
Contextvrij volume
Het contextvrij volume werd bedacht met als doelstelling verhandeld volume onafhankelijk te maken van het splitsen of samen nemen van aandelen en onafhankelijk van eventuele prijsevolutie. Het moet een beeld geven van de verhandelde waarde in referentie tot andere dagen. Het werd als volgt berekend. Zij: V = volume P = price day average dan: open + high + low + close 4 = cashV olume = V · P
P = CV
(B.7) (B.8)
Zij (met adjustedClose een prijs die splitsen en dergelijke in rekening brengt): AC = adjustedClose E[AC] = one year running average AC ACV = adjustedCashV olume dan: ACV (t) = CV (t) ·
E[AC] AC(t)
(B.9)
Zij tenslotte: E[ACV ] = one year running average dan: CF V (t) = contextF reeV ol =
ACV (t) −1 E[ACV ]
(B.10)
93
B.3 Tijdscomplexiteit Ant-Miner
B.3
BIJLAGE B. RANDINFORMATIE
Tijdscomplexiteit Ant-Miner
Zij: b = batch r = ]rules z = no of ants a = ]attr n = ]records dan is in het slechtste geval de tijdscomplexiteit [4]: O(b · r · z · a3 · n)
B.4
(B.11)
De Rollende Portefeuilles
In de resultaten in hoofdstukken 5 en 7, wordt gebruik gemaakt van portefeuilles (portfolios) die werken op basis van driemaandenvoorspellingen, maar met een waarnemingsinterval van ´e´en maand. Maandelijks een portefeuille samenstellen waarvan het rendement voor ´e´en maand gerekend wordt op basis van de gewichten van de portefeuille incorrect. De rendementen gelden namelijk voor 3 maanden. De oplossing hiervoor is de eigenlijke portefeuille opdelen in drie afzonderlijke portefeuilles. Elk van dan drie portefeuilles heeft dan een looptijd van 3 maanden en elke maand word ´e´en van de drie portefeuilles herberekend. Zo wordt in maand 1 portefeuille 1, in maand 2 portefeuille 2 en maand 3 portefeuille 3 berekend. In maand 4 loopt de termijn van portefeuille 1 af en wordt deze herberekend. Zo zet deze cyclus zich de hele beschouwde periode verder. Deze manier van werken brengt echter een extra spreiding met zich mee 1 , daarom werd gecontroleerd of geen volledige spreiding tot stand kwam (wat passief beleggen zou benaderen). Hiervoor werden voor de resultaten van hoofdstuk 7 het gemiddelde aantal actieve aandelen op elk moment berekend, dit gaf volgende resultaten (tabel B.1). 1
In de tijd gespreid beleggen is ook in werkelijkheid geen slechte strategie [6].
94
B.4 De Rollende Portefeuilles
BIJLAGE B. RANDINFORMATIE
Tabel B.1: gemiddeld aantal aandelen in portefeuille periode
E[]aandelen]
75-10
45
00-10
58
Deze waarden zijn aanvaardbaar om als actief beleggen beschouwd te worden. Merk op dat de fractie f = 20 (zie hoofdstuk 5) aanleiding geeft tot 160 × 0.20 ≈ 30 beschouwde aandelen. Een blinde sommatie zou leiden tot 90 aandelen beschouwd over 3 maanden. De reden dat deze waarden beperkt blijven heeft te maken met het feit dat aandelen die goed presteren, herhaaldelijke kunnen worden opgenomen. De variatie in voorspelde opbrengstwaarden is namelijke beperkt en de standaardafwijking (σ) is een erg traag veranderde waarde. Een interessant neveneffect van Markowitz Portfolio Selection in combinatie met deze rollende portefeuilles is dat hoe onrustiger de beurs is, hoe breder de portefeuille gespreid zal zijn.
95
Bijlage C Berekeningen C.1
Constant-Growth Dividend Discount Model
Uitwerking van vergelijking B.6 [12]. Herhaling van vergelijking B.5 V0 =
(1 + g)D0 (1 + g)2 D0 + + ... (1 + k) (1 + k)2
(C.1)
V0 =
(1 + g)D0 (1 + g)2 D0 + + ... (1 + k) (1 + k)2
(C.2)
Schrijven we als
Vermenigvuldigen we dit met (1 + k)/(1 + g), dan krijgen we D1 D1 (1 + g)1 D1 (1 + k) V0 = + + + ... (1 + g) (1 + g) (1 + k) (1 + k)2
(C.3)
Trekken we nu C.2 af van C.3, dan krijgen we (1 + k) D1 V0 − V0 = (1 + g) (1 + g)
(C.4)
Die we kunnen herleiden naar k−g D1 V0 = 1+g (1 + g) D1 V0 = k−g
(C.5) (C.6)
96
C.2 Inflatiecorrectie
C.2
BIJLAGE C. BEREKENINGEN
Inflatiecorrectie
Inflatieberekening van 2.1.1.
(1 + rr )(1 + i) = 1 + rr + i + rr · i ≈ 1 + rr + i rn ≈ rr + i
(C.7) (C.8) (C.9)
Omdat rr · i rr + i. Dit is ook wel gekend als de Fisher vergelijking.
C.3
Kapitaal Alloceren
Vergelijking 2.23
r = w · ri + (1 − w) · rRF
(C.10)
E[r] = E[w · ri + (1 − w) · rRF ]
(C.11)
= w · E[ri ] + (1 − w) · E[rRF ]
(C.12)
= w · E [ri ] + (1 − w) · rRF
(C.13)
σ 2 = w2 · σi2 + (1 − w)2 · 0 + w(1 − w) · σi · 0
(C.14)
97
Bijlage D Lijst van Gebruikte Economische Indicatoren Tabel D.1: lijst van indicatoren
Symbool
Beschrijving
A038RC1
Supplements to wages and salaries
AAA
Moody’s Seasoned Aaa Corporate Bond Yield
AWHI
Aggregate Weekly Hours Index: Total Private Industries
BAA
Moody’s Seasoned Baa Corporate Bond Yield
CPIAUCSL
Consumer Price Index For All Urban Consumers: All Items
EMRATIO
Civilian Employment-Population Ratio
EXCHUS
China / U.S. Foreign Exchange Rate
EXJPUS
Japan / U.S. Foreign Exchange Rate
EXSZUS
Switzerland / U.S. Foreign Exchange Rate
EXUSEC
Foreign Exchange Rate: Euro Community (DISCONTINUED SERIES)
EXUSEU
U.S. / Euro Foreign Exchange Rate
FVX
Treasury Yield 5 Years
GOLD
London Gold Bullion Market Historical PM Gold Fix
Vervolg op volgende pagina. . . 98
BIJLAGE D. LIJST VAN GEBRUIKTE ECONOMISCHE INDICATOREN
Tabel D.1 – Vervolg Symbool
Beschrijving
GSPC
S&P 500 INDEX
HOUST1F
Privately Owned Housing Starts: 1-Unit Structures
HSN1F
New One Family Houses Sold: United States
INDPRO
Industrial Production Index
INVEST
Total Investments at All Commercial Banks
IPDCONGD
Industrial Production: Durable Consumer Goods
MCUMFN
Capacity Utilization: Manufacturing (NAICS)
MICH
University of Michigan Inflation Expectation
NAPM
ISM Manufacturing: PMI Composite Index
NAPMEI
ISM Manufacturing: Employment Index
NAPMII
ISM Manufacturing: Inventories Index
NAPMNOI
ISM Manufacturing: New Orders Index
NAPMPI
ISM Manufacturing: Production Index
OILPRICE
Spot Oil Price: West Texas Intermediate
OTHSEC
Other Securities at All Commercial Banks
PAYEMS
Total Nonfarm Payrolls: All Employees
PI
Personal Income
POP
Total Population: All Ages including Armed Forces Overseas
PPIACO
Producer Price Index: All Commodities
PPIFGS
Producer Price Index: Finished Goods
PSAVERT
Personal Saving Rate
RFRATE
13-WEEK TREASURY BILL
TCU
Capacity Utilization: Total Industry
TNX
CBOE Interest Rate 10-Year T-No
TYX
Treasury Yield 30 Years
Vervolg op volgende pagina. . .
99
BIJLAGE D. LIJST VAN GEBRUIKTE ECONOMISCHE INDICATOREN
Tabel D.1 – Vervolg Symbool
Beschrijving
UEMPMED
Median Duration of Unemployment
UMCSENT
University of Michigan: Consumer Sentiment
UNRATE
Civilian Unemployment Rate
USGSEC
U.S. Government Securities at All Commercial Banks
100
Bijlage E Lijst van Beschouwde Aandelen Tabel E.1: lijst van aandelen
Symbool
Naam
AAPL
Apple Inc.
ABT
Abbott Laboratories
ABX
Barrick Gold Corporation
ACE
Ace
ADM
Archer-Daniels-Midland Company
AET
Aetna Inc.
AIG
American International Group Inc.
ALL
Allstate Corporation (The)
ALU
Alcatel
AMAT
Applied Materials Inc.
AMD
Advanced Micro Devices Inc.
AMGN
Amgen Inc.
AMR
AMR Corporation
ASA
ASA
Vervolg op volgende pagina. . .
101
BIJLAGE E. LIJST VAN BESCHOUWDE AANDELEN
Tabel E.1 – Vervolg Symbool
Beschrijving
ASH
Ashland Inc.
AVP
Avon Products Inc.
AXA
AXA
AXP
American Express Company
BA
Boeing Company (The)
BAX
Baxter International Inc.
BCE
BCE Inc.
BCS
Barclays PLC
BKS
Barnes & Noble Inc.
BMO
Bank Of Montreal
BMY
Bristol-Myers Squibb Company
BRK.A
Berkshire Hathaway Inc.
BRK.B
Berkshire Hathaway Inc.
CAL
Continental Airlines Inc.
CAT
Caterpillar Inc.
CB
Chubb Corporation (The)
CCE
Coca-Cola Enterprises Inc.
CCL
Carnival Corporation
CI
CIGNA Corporation
CL
Colgate-Palmolive Company
CM
Canadian Imperial Bank of Commerce
CMCSA
Comcast Corporation
CMCSK
Comcast Corporation
COMS
3Com Corporation
CPB
Campbell Soup Company
Vervolg op volgende pagina. . .
102
BIJLAGE E. LIJST VAN BESCHOUWDE AANDELEN
Tabel E.1 – Vervolg Symbool
Beschrijving
CRUS
Cirrus Logic Inc.
CSC
Computer Sciences Corporation
CSCO
Cisco Systems Inc.
CSX
CSX Corporation
CVC
Cablevision Systems Corporation
CXW
Corrections Corporation of America
DB
Deutsche Bank AG
DE
Deere & Company
DIS
Walt Disney Company (the)
DNB
Dun & Bradstreet Corporation (The)
DOW
Dow Chemical Company (The)
DT
Deutsche Telekom AG
EFX
Equifax Inc.
EK
Eastman Kodak Company
ERTS
Electronic Arts Inc.
FNM
Federal National Mortgage Association
FORR
Forrester Research Inc.
FRE
Federal Home Loan Mortgage Corporation
GD
General Dynamics Corporation
GE
General Electric Company
GES
Guess?, Inc.
GIS
General Mills, Inc.
GPS
Gap, Inc. (the)
HAL
Halliburton Company
HAS
Hasbro, Inc.
Vervolg op volgende pagina. . .
103
BIJLAGE E. LIJST VAN BESCHOUWDE AANDELEN
Tabel E.1 – Vervolg Symbool
Beschrijving
HD
Home Depot, Inc. (the)
HES
Hess Corporation
HIT
Hitachi, Ltd.
HPQ
Hewlett-packard Company
HSY
Hershey Foods Corporation
HUM
Humana Inc.
IBM
International Business Machines
INTC
Intel Corporation
INTU
Intuit Inc.
IP
International Paper Company
IR
Ingersoll-rand Company
JAVA
Sun Microsystems Inc.
JCI
Johnson Controls, Inc.
JNJ
Johnson & Johnson
JWN
Nordstrom, Inc.
K
Kellogg Company
KEY
Keycorp
KMB
Kimberly-clark Corporation
KO
Coca-Cola Company (The)
KSU
Kansas City Southern
L
Liberty Media Corporation
LIZ
Liz Claiborne, Inc.
LM
Legg Mason, Inc.
LMT
Lockheed Martin Corporation
LPX
Louisiana-pacific Corporation
Vervolg op volgende pagina. . .
104
BIJLAGE E. LIJST VAN BESCHOUWDE AANDELEN
Tabel E.1 – Vervolg Symbool
Beschrijving
MAN
Manpower Inc
MAT
MATTEL INC
MBI
Mbia, Inc.
MCD
Mcdonald’s Corporation
MCK
Mckesson Corporation
MDP
Meredith Corporation
MOT
Motorola, Inc.
MS
Morgan Stanley
MSFT
Microsoft Corporation
MU
Micron Technology, Inc.
NCR
Ncr Corporation
NKE
Nike, Inc.
NOC
Northrop Grumman Corporation
NOVL
Novell Inc.
NSM
National Semiconductor Corporation
NTT
Nippon Telegraph And Telephone
NU
Northeast Utilities
NVS
Novartis Ag
NWS
NEWS CORP
NYT
New York Times Company (the)
OCR
Omnicare, Inc.
ODP
Office Depot, Inc.
OLN
Olin Corporation
ORCL
Oracle Corporation
OXY
Occidental Petroleum Corporation
Vervolg op volgende pagina. . .
105
BIJLAGE E. LIJST VAN BESCHOUWDE AANDELEN
Tabel E.1 – Vervolg Symbool
Beschrijving
PEP
Pepsico, Inc.
PFE
Pfizer, Inc.
PG
Procter & Gamble Company (the)
PX
Praxair, Inc.
R
Ryder System, Inc.
RAD
Rite Aid Corporation
REV
Revlon, Inc.
RTN
Raytheon Company
RUK
Reed Elsevier Plc
RY
Royal Bank Of Canada
SCHW
Charles Schwab Corporation (The)
SCI
Service Corporation International
SLE
Sara Lee Corporation
SNE
Sony Corporation
SO
Southern Company (the)
SPLS
Staples Inc.
SWK
Stanley Works (the)
SWY
Safeway Inc.
SY
Sybase, Inc.
TFONY
Telefonos de Mexico
THC
Tenet Healthcare Corporation
TKR
Timken Company (the)
TM
Toyota Motor Corporation
TMX
Telefonos De Mexico
TSN
Tyson Foods, Inc.
Vervolg op volgende pagina. . .
106
BIJLAGE E. LIJST VAN BESCHOUWDE AANDELEN
Tabel E.1 – Vervolg Symbool
Beschrijving
TWX
Time Warner Inc.
TXT
Textron Inc.
TYC
Tyco International, Ltd.
UIS
Unisys Corporation
UL
Unilever Plc
UN
Unilever Nv
UNP
Union Pacific Corporation
USB
U.s. Bancorp
UTX
United Technologies Corporation
VFC
V.f. Corporation
VNO
Vornado Realty Trust
WEN
Wendy’s International, Inc.
WFC
Wells Fargo & Company
WHR
Whirlpool Corporation
WMT
Wal-mart Stores, Inc.
WPO
Washington Post Company (the)
WY
Weyerhaeuser Company
X
Usx Corporation
XRX
Xerox Corporation
YHOO
Yahoo! Inc.
107
Bibliografie [1] “Ant colony optimization.” http://en.wikipedia.org/wiki/Ant colony optimization, 2010. [2] Y. Saeys and S. Schockaert, “Computationele intelligentie.” opleidingsonderdeel. [3] M. Pickavet, “Multimedianetwerken.” opleidingsonderdeel. [4] R. S. Parpinelli, H. S. Lopes, and A. A. Freitas, “Data mining with an ant colony optimization algorithm,” Evolutionary Computation, IEEE Transactions on, vol. 6, no. 4, pp. 321–332, 2002. [5] D. Martens, M. De Backer, R. Haesen, B. Baesens, C. Mues, and J. Vanthienen, “Ant-based approach to the knowledge fusion problem,” open access publications from katholieke universiteit leuven, Katholieke Universiteit Leuven, 2006. [6] P. D’Hoore, Rijk in 100 dagen. Sea-n, 2008. [7] “Genetic algorithm.” http://en.wikipedia.org/wiki/Genetic algorithm, 2010. [8] W. B. Cavnar and J. M. Trenkle, “N-gram-based text categorization,” 1994. [9] “Warren buffett.” http://en.wikipedia.org/wiki/Warren Buffett, 2010. [10] W. D. Vijlder, “Economics of financial markets.” opleidingsonderdeel. [11] “George soros.” http://en.wikipedia.org/wiki/George Soros, 2010. [12] Z. Bodie, A. Kane, and A. J. Marcus, Investments + Standard and Poor’s Educational Version of Market Insight. McGraw-Hill Higher Education, 8 ed., 9 2008.
108
BIBLIOGRAFIE
BIBLIOGRAFIE
[13] “Economic bubble.” http://en.wikipedia.org/wiki/Economic bubble, 2010. [14] “Tulip mania.” http://en.wikipedia.org/wiki/Tulip mania, 2010. [15] “Stock market.” http://en.wikipedia.org/wiki/Stock market#History, 2010. [16] “Bernard
madoff.”
http://en.wikipedia.org/wiki/Bernard Madoff#Investment
scandal, 2010. [17] “Goldman
sachs.”
http://en.wikipedia.org/wiki/Abacus-2007AC1#Abacus
mortgage-backed CDOs, 2010. [18] “Black monday (1987).” http://en.wikipedia.org/wiki/Black Monday %281987% 29#Causes, 2010. [19] “Program trading.” http://en.wikipedia.org/wiki/Program trading, 2010. [20] “The stock market rebounds!.” http://curiouscapitalist.blogs.time.com/2010/05/ 10/the-stock-market-rebounds/#ixzz0nhoBvr6k, 2010. [21] “Glitches send dow on wild ride.” http://money.cnn.com/2010/05/06/markets/ markets newyork/, 2010. [22] “Dow jones crash scare thanks to good old-fashioned tech error? (update2).” http://www.geekosystem.com/dow-jones-crash-error/, 2010. [23] M. Fr¨ommel, “Investment analysis.” opleidingsonderdeel. [24] M. Lemmon, “Asset return predictability.” http://www.business.utah.edu/∼finmll/ fin787/slides/intro 2007.ppt, 2007. [25] “S&p 500.” http://en.wikipedia.org/wiki/S%26P 500, 2010. [26] “List of s&p 500 companies.” http://en.wikipedia.org/wiki/List of S%26P 500 companies, 2010. [27] “Index fund.” http://en.wikipedia.org/wiki/Index fund, 2010.
109
BIBLIOGRAFIE
BIBLIOGRAFIE
[28] “Flash trading.” http://en.wikipedia.org/wiki/Flash trading, 2010. [29] “Efficient-market
hypothesis.”
http://en.wikipedia.org/wiki/Efficient-
market hypothesis, 2010. [30] G. Soros, “General theory of reflexivity and its application to financial markets.” five-part lecture series. [31] “Reflexivity (social theory).” http://en.wikipedia.org/wiki/Reflexivity %28social theory%29, 2010. [32] “Irrational exuberance).” http://en.wikipedia.org/wiki/Irrational exuberance, 2010. [33] “Java text categorizing library.” http://textcat.sourceforge.net/, 2006. [34] “Standardanalyzer.”
http://lucene.apache.org/java/3 0 1/api/all/org/apache/
lucene/analysis/standard/StandardAnalyzer.html, 2010. [35] B. Wuthrich, D. Permunetilleke, S. Leung, V. Cho, J. Zhang, and W. Lam, “Daily prediction of major stock indices from textual www data,” in Knowledge Discovery and Data Mining, pp. 364–368, 1998. [36] M. L. Gillam, “Economic news and stock market correlation: A study of the uk.” [37] “Nytimes.com.” http://spiderbites.nytimes.com/, 2010. [38] H. D. Schepper, “Meetkunde.” opleidingsonderdeel. [39] “Apache lucene.” http://lucene.apache.org/, 2010. [40] “Java se at a glance.” http://www.oracle.com/technetwork/java/javase/overview/ index.html, 2010. [41] “Eclipse.org home.” http://www.eclipse.org, 2010. [42] “Welcome to apache maven.” http://maven.apache.org/, 2010. [43] “Apache cayenne.” http://cayenne.apache.org/, 2010.
110
BIBLIOGRAFIE
BIBLIOGRAFIE
[44] “Apache derby.” http://db.apache.org/derby/, 2010. [45] “Oracle berkeley db java edition.” http://www.oracle.com/us/products/database/ berkeley-db/index-066529.html, 2010. [46] “Beanshell.” http://www.beanshell.org/, 2009. [47] “Html parser.” http://htmlparser.sourceforge.net/, 2010. [48] “myra.” http://sourceforge.net/projects/myra/, 2010. [49] “Nyse.” http://www.nyse.com/, 2010. [50] “Nasdaq.” http://www.nasdaq.com/, 2010. [51] “St. louis fed: Economic data - fred®.” http://research.stlouisfed.org/fred2/, 2010. [52] “London gold bullion market historical pm gold fix monthly average gold prices (1968 - 2010).” http://goldprices.com/GoldHistory.htm, 2010.
111
Lijst van figuren 2.1
indifferentiecurves (utility) . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2
indifferentiecurves (risk aversion) . . . . . . . . . . . . . . . . . . . . .
12
2.3
combinatie van een risicovrije en een risicohoudende investering. . . . .
19
2.4
combinatie van twee risicohoudende investeringen . . . . . . . . . . . .
20
2.5
combinatie van vele risicohoudende investeringen . . . . . . . . . . . . .
22
2.6
security market line . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.7
klassieke visie op de marktwerking . . . . . . . . . . . . . . . . . . . . .
28
2.8
visie van marktwerking in de context van reflexivity . . . . . . . . . . .
29
3.1
mieren zoeken het kortste pad . . . . . . . . . . . . . . . . . . . . . . .
32
3.2
conceptuele graaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.3
werkelijke graaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
6.1
architectuur (conceptueel) . . . . . . . . . . . . . . . . . . . . . . . . .
64
A.1 vergelijking opbrengst verschillende combinaties . . . . . . . . . . . . .
84
A.2 vergelijking opbrengst verschillende combinaties (2000-2005) . . . . . .
85
A.3 vergelijking Sharpe ratio verschillende combinaties . . . . . . . . . . . .
86
A.4 vergelijking utility verschillende combinaties . . . . . . . . . . . . . . .
87
A.5 vergelijking opbrengst tegenover referenties . . . . . . . . . . . . . . . .
88
A.6 vergelijking Sharpe ratio tegenover referenties . . . . . . . . . . . . . .
89
A.7 vergelijking utility tegenover referenties . . . . . . . . . . . . . . . . . .
90
A.8 vergelijking opbrengst tegenover referenties (2000-2010) . . . . . . . . .
91
112
Lijst van tabellen 2.1
voorspelde opbrengst en kans. . . . . . . . . . . . . . . . . . . . . . . .
9
2.2
voorbeeld van wisselkoersen . . . . . . . . . . . . . . . . . . . . . . . .
26
3.1
graad van correcte classificatie(Ant-Miner index) . . . . . . . . . . . . .
43
3.2
graad van correcte classificatie(Ant-Miner aandelen) . . . . . . . . . . .
44
4.1
graad van correcte classificatie (TextCat thema) . . . . . . . . . . . . .
51
4.2
graad van correcte classificatie(TextCat aandelen) . . . . . . . . . . . .
52
4.3
handelsvolume bij nieuwsberichten . . . . . . . . . . . . . . . . . . . .
53
5.1
gemiddeld opbrengst per jaar (GA) . . . . . . . . . . . . . . . . . . . .
61
7.1
vergelijkende tabel (verschillende combinaties) . . . . . . . . . . . . . .
74
7.2
vergelijkende tabel (t.o.v referenties) . . . . . . . . . . . . . . . . . . .
76
7.3
vergelijkende tabel (t.o.v referenties)(00-10) . . . . . . . . . . . . . . .
78
B.1 gemiddeld aantal aandelen in portefeuille . . . . . . . . . . . . . . . . .
95
D.1 lijst van indicatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
E.1 lijst van aandelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
113
Lijst van algoritmes 3.1
iteratief regels zoeken . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.2
regel zoeken in dataset . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.3
pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.4
voorbeeld van classificatieregels . . . . . . . . . . . . . . . . . . . . . .
44
4.1
n-gram tekstclassificatie . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.2
tekstprofiel berekenen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.1
opleggen van randvoorwaarden aan oplossing . . . . . . . . . . . . . . .
59
114