Аэродинамика, электроника, химия, биохимия, планирование и бизнес — это только некоторые из областей, где используется оптимизация. Поскольку оптимизация важна для такого количества приложений, в этом направлении ведется множество исследований, создано множество инструментов и накоплено много информации. Где же можно найти эту информацию? Какие существуют доступные продукты и инструменты?
Оптимизаторы с лобовым подходом обычно встроены в программные пакеты, нацеленные на другие задачи, и редко доступны по отдельности.
В мире программ для трейдинга такие оптимизаторы встроены в TradeStation и SuperCharts фирмы Omega Research (800- 292- 3453), Excalibur фирмы Futures Truth (828- 697- 0273) и MetaStock фирмы Equis International (800- 882- 3040). Если вы пишете собственные программы, при помощи несложного программирования написать алгоритм лобовой оптимизации можно безо всяких дополнительных библиотек. Программы и алгоритмы для оптимизации с лобовым подходом также полезны при проведении оптимизации под управлением пользователя.
Хотя иногда генетические оптимизаторы бывают встроены в специализированные программы, они чаще встречаются в виде компонентов или библиотек классов, дополнений к различным пакетам или самостоятельных исследовательских инструментов. Примером библиотеки классов с учетом компонентного использования может служить OptEvolve, генетический оптимизатор на C++ фирмы Scientific Consultant Services (516- 6963333): этот многоцелевой генетический оптимизатор использует несколько алгоритмов, включая дифференциальную эволюцию, и продается в виде портативного кода на C++, пригодного для UNIX/LINUX, DOS и Windows.
TS- Evolve фирмы Ruggiero Associates (800- 211- 9785) дает пользователям TradeStation возможность провести полноценную генетическую оптимизацию. Evolver фирмы Palisade Corporation (800- 432- 7475) представляет собой многоцелевой генетический оптимизатор для таблиц MS Excel; с ним поставляется DLL- библиотека, которая может быть использована с любой программой на любом языке, способной вызывать функции DLL. Так, программа GENESIS, написанная Джоном Грефенштеттом (John Grefenstette) из Naval Research Laboratory, представляет собой самостоятельный инструмент для исследователей и доступна в виде исходных кодов. Хотя генетические оптимизаторы могут включаться в состав пакетов моделирования для химиков и в другие специализированные продукты, они до сих пор не включены как стандартный компонент в программные пакеты для трейдеров.
О генетических оптимизаторах существует достаточно много доступной информации. Генетические алгоритмы обсуждаются в ряде книг, журналов и изданий, на сайтах новостей в Интернете. Хороший анализ проблемы дан в книге Девиса Handbook of Genetic Algorithms (Davis, 1991). Прайсом и Стормом (Price и Storm, 1997) описан алгоритм для метода дифференциальной эволюции, который оказался чрезвычайно мощным инструментом для задач оптимизации с рациональными параметрами. Генетические алгоритмы сейчас являются темой многих научных изданий и конференций. Оживленные дискуссии ведутся на страницах ряда новостных сайтов в Интернете, из которых наиболее примечателен comp.ai.genetic.
Основы метода моделирования отжига приведены в книге Пресса и др.
Numerical Recipes for С (Press et al., 1992) вместе с функциями для написания оптимизаторов с этим алгоритмом для комбинаторных задач и задач с рациональными параметрами. Книга Мастерса Neural, Novel & Hybrid Algorithms for Time Series Prediction (Masters, 1995) также содержит рассмотрение задач моделирования отжига, причем коды представлены на CD- приложении к книге. Как и генетическая оптимизация, моделирование отжига также является темой многих научных исследований, докладов на конференциях, статей и дискуссий в Интернете.
Алгоритмы весьма сложных методов — сопряженных градиентов и переменной метрики — можно найти в исследованиях Пресса и др.
Numerical Recipes for С (Press et al., 1992) и Numerical Recipes (Press et al., 1986). Большой ассортимент процедур аналитической оптимизации содержится в уже упомянутом труде Мастерса Neural, Novel & Hybrid Algorithms for Time Series Prediction (Masters, 1995) и на прилагаемом к нему диске. Дополнительные процедуры для аналитической оптимизации доступны в составе библиотек IMSL и NAG (Visual Numerics и Numerical Algorithms Corp. соответственно) и в составе оптимизационного набора для MATLAB (многоцелевого математического пакета от Math Works, 508- 647- 7000, очень популярного в среде занимающихся финансовым планированием). Кроме того, в MS Excel встроен Solver — аналитический оптимизатор, основанный на методе Ньютона и сопряженных градиентах.
Как источник общей информации об оптимизации при разработке торговых систем можно порекомендовать книгу Роберта Пардо Design, Testing and Optimization of Trading Systems (Robert Pardo, 1992). Кроме прочего, в книге приведены примеры прибыльной оптимизации, избежания чрезмерной подгонки системы под ценовые данные и проведения тестов с прогонкой вперед.