Reviewed by
Edmund Chattoe
University of Oxford
"… you may make fine arguments for it, but you cannot make a loud argument, an argument which would reach and rule the multitude." (Walter Bagehot)
This book is divided into three parts. The first three chapters provide an overview and tutorial. Chapter 1 (Chen, ‘Genetic Algorithms and Genetic Programming in Computational Finance: An Overview of the Book’, pp. 1-26) provides a background to the literature and thus situates the rest of the contributions in the volume. Like all the other chapters in the book, it provides extensive references. Chapter 2 (Drake and Marks, ‘Genetic Algorithms in Economics and Finance: Forecasting Stock Market Prices and Foreign Exchange – A Review’, pp. 29-54) is a clear and useful discussion of Genetic Algorithms (GA) and their early applications to finance. It even manages an impressively compact explication of the Schema Theorem. Chapter 3 (Chen and Kuo, ‘Genetic Programming: A Tutorial with the Software Simple GP’, pp. 55-77) is a Genetic Programming (GP) tutorial based around the CDROM provided with the volume that contains the menu-driven Simple GP package to be used with a PC. Beginning the book in this way is a very useful idea that makes the book more helpful as a teaching tool than the typical edited collection. The second part of the book (chapters 4-14) presents applications of GA/GP and Classifier Systems (CS) with some Neural Network (NN) components to a variety of financial prediction and optimisation tasks like stock trading, time series forecasting, cash flow management and portfolio selection. The third part of the book (chapters 15-21) considers Agent-Based Computational Finance (ABCF) applications. It is suggested in the introduction that the second section "provides a blueprint for modelling individual financial agents" (p. 2, italics in original) while the third part deals with "their collective interacting behaviour" (p. 2). In fact, this claim must be treated with some caution. Apart from some hand waving, all the research presented in the second section is instrumental rather than descriptive. That is to say that the criterion for success is not what the programmes tell us about the behaviour of real actors but how well they carry out prediction and optimisation tasks. Given this, it is possible to imagine both "normative" ABCF models (if all agents are behaving as they "should" – optimising for example, the market will do this) and "positive" ABCF models (since we know that traders behave something like this, what will the market do?) In fact, the papers in the third section do not tend to make a very clear distinction between what is (and how we know it to be so) and what ought to be. I shall return to this point.
To this reviewer, one of the interesting things about this book is that despite its instrumental orientation, social science issues of behaviour and data collection refuse to go away and their neglect weakens the research agenda presented.
The first thought-provoking aspect of the book is to consider the social process that the various programmes presented are actually trying to predict. This is the emergent behaviour of a population of "somewhat socialised" heterogeneous actors (by which I mean that business school or economic theory may inculcate some similarity in their approaches). Each actor (from a huge pension fund to a tiny day trader) is trying to develop a distinctive strategy that both predicts some aspect of the market and (as a side effect) influences it through the buying and selling which prediction advocates. To use the GP terminology, these strategies may differ in their terminals, operators, tree structure and intended outputs. This system is subject to "regime changes" (to use the terminology of the book) resulting from exogenous change (new markets and trading technologies), underlying fundamentals (profitable innovations by firms), the legal framework (trading restrictions) and side effects of changing "big player" strategies. In searching for regularities therefore, we might hope that the programmes discussed in the book could pick up socialisation effects, the strategies of big (sophisticated?) players, mass action by smaller but more numerous players ("naïve" trend following) or the "foot print" of the market framework itself. More worryingly, we might pick up an unstable mixture of these or different regularities at different times. If researchers succeed in finding some regularity and thus making effective predictions, their strategies may themselves become part of the set of tools available to traders. This may well destroy the regularities on which the original prediction was based, depending on the scale with which the strategy is adopted, although there is what seems a very remote chance of some kind of fixed-point effect. Given the task, it is no reflection on the techniques that performance is generally less than overwhelming. It may be that the fundamental reflexivity of financial markets makes them unsuitable for any sort of prediction based on the assumption of underlying regularity. It is interesting that the contributions which consider this issue at all (Armano, Machesi and Murru, ‘NXCS: Hybrid Approach to Stock Indexes Forecasting’, pp. 125-158) do so in terms of economic theories rather than considering the behaviour of real traders. In a tightly argued paper Thomas and Sycara (‘GP and the Predictive Power of Internet Message Traffic’, pp. 81-102) show that message board volumes can serve as effective predictors and, furthermore, that they contain additional "news" to that provided by the "usual suspects" historical variables. However, the authors don’t consider what might happen to this predictor once the discussants realise that their conversations are being used in this way! A little thought about the social aspects of the target system would thus be very useful in assessing the magnitude and difficulties of the prediction task.
Generally speaking, contributions to the volume are clearly written and rigorous, though there are quite a lot of minor typos and some chapters seem to have used the Google translator for the odd sentence. Nikolaev and Iba (‘Genetic Programming of Polynomial Models for Financial Forecasting’, pp. 103-123) present an interesting variant of the GP in which operators are a class of polynomials (rather than the commonly used arithmetic functions like + and –) which act on input variables to predict trends in financial time series. This has the drawback of removing all behavioural interpretability from the resulting trees. The next chapter (Tsang and Li, ‘EDDIE for Financial Forecasting’, pp. 161-174) begins by discussing the ability of GP to elicit knowledge from and aid understanding by traders but in practice falls back on a study of predictive accuracy rather than discussing any interaction of the system with real humans. This raises a general question about the purpose of representing problem solutions as GA/GP or CS systems. If the task is to interact with real traders, then a system that produces rules they can interpret (and that can encode the kind of rules of thumb they might use) will have obvious descriptive advantages. Unfortunately, there is none of this kind of work in the book, although several contributions hint at it. At best, two papers (Noe and Wang, ‘The Self-Evolving Logic of Financial Claim Prices’, pp. 249-262 and Caldarelli, Piccioni and Sciubba, ‘A Numerical Study on the Evolution of Portfolio Rules’, pp, 379-395) explore the encoding of theories of behaviour rather than actual behaviour – Black-Scholes option pricing and CAPM respectively. (The substitution of theories for data in this way is also to be found in the third section.) On the other hand, if the task is simply to predict well then interpretability doesn’t really matter and it would be interesting to see how the evolutionary algorithms perform against a wider class of machine learning approaches. Obviously GP has some intrinsic advantages (like freedom to "choose" its terminals and the form of its functions) which NN (for example) may lack, but it still needs to be shown that these advantages deliver predictive advantage in this domain particularly since they have recognised downsides like over fitting. I will return to this point. O’Neill, Brabrazon and Ryan (‘Forecasting Market Indices Using Evolutionary Automatic Programming: A Case Study’, pp. 175-195) present another novel evolutionary variant which, instead of representing programmes as syntax trees like GP does, uses GA bit strings to represent sets of "codons" which select production rules from a Backus Naur Form grammar. Lam, Lam and Ng (‘Genetic Fuzzy Expert Trading System for NASDAQ Stock Market Timing’, pp. 197-217) present a genetically trained fuzzy expert system which actually sounds rather similar in architecture to a CS. The paper by Lazo, Pacheco and Vellasco (‘Portfolio Selection and Management Using a Hybrid Intelligent and Statistical System’, pp. 221-238) raises another issue that might strike the reader who tackles the book at a sitting. Once prediction is the only criterion for programme design, software architecture tends to become rather baroque. This paper presents a system using a NN, two separate GA and a GARCH (Generalised Autoregressive Conditionally Heteroskedastic Model) module. Presumably such a system is potentially slow and large enough to increase the risk of programme bugs considerably. In these circumstances, it would have been nice to know more about what prompted some of the architectures chosen, particularly if the book has a teaching agenda. The last four chapters of this section present relatively standard GA and GP applications to cash flow (Pacheco, Vellasco, de Noronha and Lopes, ‘Intelligent Casah Flow: Planning and Optimisation Using Genetic Algorithms’, pp. 239-247), exchange rate volatility (Neely and Weller, ‘Using a Genetic Program to Predict Exchange Rate Volatility’, pp. 263-279) and arbitrage opportunities (Markose, Tsang and Er, ‘Evolutionary Decision Trees for Stock Index Options and Futures Arbitrage: How Not To Miss Opportunities’, pp. 281-308).
Overall, the methodological limitations of this approach can be illustrated by the conceit of presenting science itself as a kind of evolutionary process involving competing researchers and their theories. Unfortunately, the research presented in section two of the book conspicuously fails to evolve in this manner. The advantages of evolutionary algorithms, broadly sketched, are that each solution in a shared representation is tested on a common fitness function and that successes on that basis are recombined probabilistically to form the basis for further exploration. What is happening in this book is that each (apparently arbitrarily designed) programme is being tested on a different group of data sets and using a different standard for comparison (vanilla GP, "Buy and Hold" – surely an incredibly easy standard to beat, GARCH model). Furthermore, each paper seems concerned with different aspects of GP design: one with epistasis, another with proper out-of-sample testing, a third with the effect of problem representation and a fourth with the choice of fitness function. The net effect seems to be that all the results presented are "rather better" than whatever they are being compared with but that none are overwhelmingly impressive, hence the opening quote of this review. In addition, there is always a concern that the result might simply evaporate because one of the "challenges" of GP design hasn’t been considered in a particular paper. (One paper shows that its results are highly sensitive to problem representation but another just offers a single representation without justification.) This approach has both didactic and scientific weaknesses. Didactically, the reader has to be quite alert (in the face of lots of repetition) to develop a well balanced awareness of all the issues bearing on effective algorithm design. A textbook presentation might have been more useful for this task given the absence of "bottom line" effectiveness results that can be used across contributions to guide architecture choice. Scientifically, the fact that each paper chooses its own baseline comparison exerts insufficient selective pressure. In particular, while many authors recognise the risks of over fitting in their chosen algorithms, none seem to recognise it in their programmes. Data pre-processing, problem representation and fitness function are all selected on improved fit for a (typically) small number of data sets rather than in competition with other programmes or for general learning ability. Finally, there is an irony hinted at by Drake and Marks, that each researcher may have an incentive to develop a different (patentable?) architecture and that far from the best solutions forming the basis for subsequent scientific evolution, they (and their researchers) may be "bought out" of the academic breeding pool and become proprietary commercial information! So much for the happy alliance of commerce and science.
Ideally, the programmes presented in the book would compete against each other in an Axelrod style tournament. Each financial task (portfolio allocation, trading and so on) would have its own test sets of data of which only some were available for training. In vanilla GA, the De Jong "function test set" presented by Goldberg (1989, pp. 106-120) has long been used to compare algorithm performance. Each team would have to pay their programmers at an agreed rate, so the more complicated a programme was and the more tweaking and pre-processing was required, the less profit it could make for its owners. (A charge might also be made for CPU cycles on the same logic.) Each team would have to pay to participate and stand to win a share of the pot in proportion to predictive or allocative accuracy. The tournament would be open to any predictive technique so particular families of solutions (NN, GA, CS, GP) would have to outperform simple rules and econometric models to remain in the competition. (Rather as Tit-For-Tat proved surprisingly effective against much more complex strategies.) Under such circumstances, effort would focus on variants of more successful approaches and the performance stakes would continuously be raised. As things stand, far too many incompatible architectures can achieve the required "somewhat better than the status quo" standard. Given the goal of these programmes – to predict – it cannot even be argued that this blatantly "commercial" approach might harm the quality of research – as it plainly might if the task was understanding. It would really be a case of "If your algorithm is so smart, how come you aren’t rich?"
In fact, the final section of the book would be a good opportunity for just this kind of competition, focusing as it does on interacting traders. Instead, however, the contributions again focus very much on economic theory rather than real behaviour. Satisfyingly, economic theory proves highly unsuitable for this sort of adulation. Riechmann (‘A Model of Boundedly Rational Consumer Choice’, pp. 311-333) shows that while evolutionary algorithms allow a population of simulated consumers to learn not to exceed their budget constraints (!), they find it much harder to learn the optimal consumption bundle. Chen and Liao (‘Price Discovery in Agent-Based Computational Modelling of the Artificial Stock Market’, pp. 335-356) suggest that stock markets are not a particularly efficient way of discovering unbiased prices. Greed is not so good after all. Chen, Tai and Chie (‘Individual Rationality as a Partial Impediment to Market Efficiency’, pp. 357-377) show that smart behaviour in auctions does not enhance market performance. Finally, in this rather negative sequence of findings, Caldarelli, Piccioni and Sciubba (‘A Numerical Study on the Evolution of Portfolio Rules: Is CAPM fit for NASDAQ?’, pp. 379-395) show that traders using the CAPM strategy – something of a normative benchmark in the economics of asset pricing – will tend to die out in a dynamic population! All in all, this set of papers suggests that economic theory is a rather poor substitute for an understanding of human behaviour and that its normative ideology may be misguided (market solutions), hard to implement (consumption optimisation) or simply incorrect (use of CAPM). The contribution by Szeto (‘Adaptive Portfolio Managers in Stock Markets: An Approach Using Genetic Algorithms’, pp. 397-419) is more or less unique in the volume in that it begins with a description (albeit stylised) of a real trading situation and then explores the various behavioural components in the model. In particular, he focuses on the pattern recognition task for time series, something that real traders could plausibly consider in their deliberations. Although there is no real behavioural data in the paper, it is at least couched in terms that would make it compatible with the collection of such data. The final applied paper, by Birchenhall and Lin (‘Learning and Convergence to Pareto Optimality, pp. 421-439) avoids the descriptive/instrumental dichotomy by setting out explicitly to explore the properties of a formal system for its own sake. They show that several variants on GA learning are robustly capable of finding a Pareto superior equilibrium in an overlapping generations model previously explored by Bullard and Duffy (1999). This objective means that we neither have to ask whether the model tells us anything about the real world, nor whether it reflects particularly well (or badly) on the GA as a learning algorithm.
To sum up this section, it is highly surprising the extent to which the ability to model interacting agents fails to suggest a social simulation approach to the contributors. Instead, theory seems to be regarded as a substitute for data about how real actors behave. In the process, however, the theory seems to reveal its own poverty and the reader is left wondering where this leaves the approach.
The final chapter by Markose (‘The New Evolutionary Computational Paradigm of Complex Adaptive Systems’, pp. 443-484) is interesting from a scholarly point of view but extremely odd from the perspective of the book. Where one might expect a synthetic conclusion, a (sorely needed) discussion of general weaknesses and suggestions for further research, this chapter offers an exploration of the historical roots of the CAS paradigm that is both considerably more formal than the other contributions – with references to Gödel and an algorithmic unsolvability proof of Rational Expectations Equilibrium Asset Prices – and seems not to take much account of the fact that most of the contributions in the book are instrumental rather than descriptive. As such, they can hardly be argued to be incapable of algorithmic implementation since, for better or worse, they do what they do! (My technical skills are weak but if the proof shows what it purports to show then it would seem to bear on the ability of Chen, Tai and Chie to compare the behaviour of their artificial stock market with a "true" price.) All in all, despite its interest, this chapter gives the impression of having escaped from another book.
Overall, despite some technical novelties, I found this collection rather disappointing. It neither seems to take up the opportunities that simulation offers for exploring the macroscopic outcomes of real behaviour (in the third section), nor to provide a particularly acid test of the predictive power of CS/GA/GP (in the second). In this respect, for example, it compares unfavourably with both the social interest of Baker’s (1984) work on social structure in markets and the rigour of Weigend and Gershenfeld’s (1993) volume on NN prediction of time series. To use an evolutionary metaphor, many of the scholars in this field seem to have achieved premature convergence. They seem to agree on what they should assume and the kind of programmes they should build – while it is unclear to an outsider why they have reached this consensus – but unfortunately the result seems to be fragmentation rather than evolution.
BAKER W. E. 1984. The social structure of a national securities market. American Journal of Sociology, 89:775-811.
BULLARD J. and J. Duffy 1999. Using genetic algorithms to model the evolution of heterogeneous beliefs. Computational Economics, 13:41-60.
GOLDBERG D. E. 1989. Genetic Algorithms in Search, Optimisation and Machine Learning. Addison-Wesley, Redwood City, CA.
WEIGEND A. S. and N. A. Gershenfeld, editors, 1993. Time Series Prediction: Forecasting the Future and Understanding the Past. Addison-Wesley, Redwood City, CA.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2004