EVOLVER VERSION 2.1 REVIEWED BY LOUIS MENDELSOHN
AXCÉLIS, INC.
4668 Eastern Avenue N.
Seattle, WA 98103-6932
Phone: 206 632-0885
Fax: 206 632-3681
Product: Genetic algorithm software
Equipment requirements:IBM-PC compatible; Microsoft Excel version 3.0 or higher; 1 megabyte (MB) hard disk space. Math coprocessor and mouse recommended.
Price: $349.00
Recent advancements in computer and telecommunications technologies have made the globalization of today’s financial markets easier. Already, sophisticated traders, cognizant of the influence of related markets on one another, are incorporating inter-market analysis in their trading decisions through a variety of means ranging from simple chart analysis to methods of performing statistical linear correlations. Yet the inter-market relationships hidden in this data are often quite complex and not readily apparent, while the scope of analysis is virtually unlimited.
As a result of the growing use of inter-market analysis, technical analysts and research-oriented traders are turning to various advanced computer technologies to analyze this data more effectively so as to trade more profitably. Neural networks is one tool that has generated a great deal of interest because it addresses the nonlinear nature of the financial markets. Genetic algorithms (GAs) offer a general-purpose tool for performing search and optimization functions. GAs, in addition to stand alone systems, are an excellent tool that can be used with other technologies including neural networks, machine learning systems and genetic programming. One provider of commercially available genetic algorithm software is Axcélis, which offers a genetic algorithm program called Evolver.
WHAT IT IS
Briefly, a genetic algorithm is a method of performing search and optimization based on the concepts of Darwinian evolution. Solutions to problems are coded into organisms and bred as populations. Relatively simple genetic operations are performed on these populations of organisms and, along with a function to evaluate each organism relative to the rest, a computerized environment is created in which only the fittest survive. Organisms that perform best (the solutions they represent are superior) continue on, while those that perform poorly are culled. The better-performing organisms are then able to pass their superior genetic material on to their children.
Evolver is an add-in tool for the Microsoft Excel spreadsheet program, as well as a set of dynamic link libraries (DLLs) that can be incorporated into customized Windows programs. This review will concentrate on using Evolver as an add-in tool for Excel, since that is how it would be typically used by traders. The set of DLLs provided with Evolver will be of most interest to software developers and will be discussed briefly.
INSTALLATION
Installation is easy and uneventful. Evolver simply becomes a new submenu option in Excel’s Formula menu or the Tools menu of Excel 5.0. Genetic algorithms like Evolver require the user to clearly specify the problem as well as a way of evaluating and comparing possible solutions. For Evolver, this is done by creating a model of the problem in Excel. Spreadsheet programs such as Excel provide an excellent environment for creating numerical models in an easy-to-use format.
Once a model is created, Evolver is selected from the appropriate Excel menu. The main window that appears allows you to specify which cells in the spreadsheet correspond to the various parts of the model (variables and target value to be optimized), as well as indicating the objectives, stopping criteria and whether to update the spreadsheet as it searches for a solution or draws a graph that visually displays the system’s progress. The variables that the model uses are entered into Evolver by simply specifying the cell ranges on the spreadsheet. All these features are made clear in an easy-to-understand tutorial and user’s guide.
When specifying variables in Evolver, you must specify one of six available solving methods. For example, in the tutorial, the model depicts 10 workers and 10 tasks. Each worker has been rated with a zero to 10 rating indicating how effectively they could be expected to perform each task. The goal is to assign various workers to various tasks in the most optimal fashion. In this example, the solving method used is the order method. This method is used whenever you have a set number of unique items (for example, 10 workers) that you want to order. Each of the other five solving methods are more appropriate for other types of problems. In addition, assuming that you can create a DLL, you can extend this set either by taking existing solving methods and changing their functionality or creating your own from scratch.
If this seems a bit complicated, don’t worry. Evolver comes with eight sample applications that were created in Excel to demonstrate the various ways the program can be used and the various models it will work on. These include:
- Determining the best location of multiple radio towers to maximize the potential listening audience.
- Portfolio balancing (Figure 1), basically a bin-packing problem, in which a number of securities are to be placed in five portfolios where the total value of each portfolio is to be as close to each of the others as possible.
- The traveling salesman problem, where the solution requires that you determine the shortest route that allows a salesman (boat, spaceship) to travel a specified set of cities (ports, planets).
- An annual budget example that determines the proper allocation of budgeted funds to maximize a company’s profit.
- A class scheduler that assigns classes to a finite number of rooms and time blocks while adhering to various constraints (Figure 2).
All the sample applications were easy to understand and follow. The applications cover a broad enough range of problems that you should be able to find one close to the problem you want to solve and then use the application provided as a template.
For software developers, Evolver provides DLLs to support all the various functionality provided by the add-in tool. Of course, you’ll need to have a programming language or an application that supports Windows DLLs and know how to use them. The best part is that they come standard as part of the cost of the system. In addition, for those working with Microsoft Visual BASIC, Axcélis is currently providing the Evolver/VB Toolkit with Evolver 2. 1. This toolkit makes it easier to call Evolver from programs written with Microsoft Visual BASIC.
Although genetic algorithms such as Evolver can be used on almost any type of optimization problem, they are especially suited for problems where the search space is large and many local optima or discontinuities exist. If your problem fits this bill, then Evolver will provide you with an easy-to-use, robust, extendible optimization tool for solving it. Of course, for those just interested in learning more about GAs, Evolver represents a reasonably priced means of exploring the application of this exciting technology to financial market analysis and trading.
While there’s a substantial amount of global market data now available, standard methods of single-market technical analysis are not able to make full use of it, particularly for inter-market analysis of related markets. Traders with the foresight and ability to take advantage of new analytic technologies such as neural networks and genetic algorithms will benefit financially from the increasing globalization of the world’s financial markets in the 1990s. Genetic algorithms is one of a new breed of analytic tools that have made their debut in the financial industry over the past several years. Stay tuned, for there’s a lot more to come!
Lou Mendelsohn, 813 973-0496, fax 813 973-2700, is president of Market Technologies, Wesley Chapel, FL, a research, software development and consulting firm involved in the application of artificial intelligence technologies to global market analysis.
Reprinted from Technical Analysis of
Stocks & Commodities magazine. (C) 1994 Technical Analysis, Inc.,
4757 California Avenue S.W., Seattle, WA 98116-4499, (800) 832-4642.