Search This Blog

Tuesday, 18 November 2014

OPTIMIZER TOOLS AND INFORMATION

Aerodynamics, electronics, chemistry, biochemistry, planning, and business are just a few of the fields in which optimization plays a role. Because optimization is of interest to so many problem-solving areas, research goes on everywhere, information is abundant, and optimization tools proliferate. Where can this information be found? What tools and products are available?

Brute force optimizers are usually buried in software packages aimed primarily at tasks other than optimization; they are usually not available on their own. In the world of trading, products like TradeStation and SuperCharts from Omega Research (800-292.3453), Excalibur from Futures Truth (828-697-0273), and MetaStock from Equis International (800-882-3040) have built-in brute force optimizers. If you write your own software, brute force optimization is so trivial to implement using in-line progranuning code that the use of special libraries or components is superfluous. Products and code able to carry out brute force optimization may also serve well for user-guided optimization.

Although sometimes appearing as built-in tools in specialized programs, genetic optimizers are more often distributed in the form of class libraries or  software components, add-ons to various application packages, or stand-alone research instruments. As an example of a class library written with the component paradigm in mind, consider OptEvolve, the C+ + genetic optimizer from Scientific Consultant Services (516-696-3333): This general-purpose genetic optimizer implements several algorithms, including differential evolution, and is sold in the form of highly portable C+ + code that can be used in UNIXiLINUX, DOS, and Windows environments. TS-Evolve, available from Ruggiero Associates (800-21 l-9785) gives users of TradeStation the ability to perform full-blown genetic optimizations. The Evolver, which can be purchased from Palisade Corporation (800.432.7475) is a general-purpose genetic optimizer for Microsoft’s Excel spreadsheet; it comes with a dynamic link library (DLL) that can provide genetic optimization services to user programs written in any language able to call DLL functions. GENESIS, a standalone instrument aimed at the research community, was written by John Grefenstette of the Naval Research Laboratory; the product is available in the form of generic C source code. While genetic optimizers can occasionally be found in modeling tools for chemists and in other specialized products, they do not yet form a native part of popular software packages designed for traders.

Information about genetic optimization is readily available. Genetic algorithms are discussed in many books, magazines, and journals and on Internet newsgroups. A good overview of the field of genetic optimization can be found in the Handbook of Generic Algorithms (Davis, 1991). Price and Storm (1997) described an algorithm for “differential evolution,” which has been shown to be an exceptionally powerful technique for optimization problems involving real-valued parameters. Genetic algorithms are currently the focus of many academic journals and conference proceedings. Lively discussions on all aspects of genetic optimization take place in several Internet newsgroups of which compaigenetic is the most noteworthy.

A basic exposition of simulated annealing can be found in Numericnl Recipes in C (Press et al., 1992), as can C functions implementing optimizers for both combinatorial and real-valued problems. Neural, Novel & Hybrid Algorithms for Time Series Prediction (Masters, 1995) also discusses annealing-based optimization and contains relevant C+ + code on the included CD-ROM. Like genetic optimization, simulated annealing is the focus of many research studies, conference presentations, journal articles, and Internet newsgroup discussions. Algorithms and code for conjugate gradient and variable metric optimization, two fairly sophisticated analytic methods, can be found in Numerical Recipes in C (Press et al., 1992) and Numerical Recipes (Press et al., 1986). Masters (1995) provides an assortment of analytic optimization procedures in C+ + (on the CDROM that comes with his book), as well as a good discussion of the subject.

Additional procedures for analytic optimization are available in the IMSL and the NAG library (from Visual Numerics, Inc., and Numerical Algorithms Group, respectively) and in the optimization toolbox for MATLAB (a general-purpose mathematical package from The MathWorks, 508-647-7000, that has gamed popularity in the financial engineering community). Finally, Microsoft’s Excel spreadsheet contains a built-in analytic optimizer-the Solver-that employs conjugate gradient or Newtonian methods.

As a source of general information about optimization applied to trading system development, consult Design, Testing and Optimization qf Trading Systems by Robert Pardo (1992). Among other things, this book shows the reader how to optimize profitably, how to avoid undesirable curve-fitting, and how to carry out walkforward tests.

No comments:

Post a Comment