Генетический алгоритм – бесплатная акция
Для тестирования на других компьютерах в целях выявления возможных ошибок работы библиотеки GA4TS, проводится бесплатная акция с 15 мая «Генетический Алгоритм для Omega TradeStation».
Мануал по использованию библиотеки будет опубликован на сайте в ближайшую неделю.
Условия проведения:
С 15 мая, начиная в 00-00, по Московскому времени, первые 20 человек, кто оставят сообщение в этой теме: «Генетический Алгоритм для задачи..», и два слова о задаче которую вы будете решать и не забудте указать свой e-mail. После чего со всеми, кто сформирует этот список, я свяжусь, помогу установить и объясню, как им пользовался.
Все кто получат библиотеку GA4TS, во время бесплатной акции, может пользоваться ей всегда, без ограничения срока действия, но только на том компьютере, на котором она была установлена изначально.
| Tags: генетический алгоритм, генетический алгоритм парето, генетический алгоритм omega tradestation, многокритериальные задачи, многокритериальная оптимизация |
GA4TS.DLL – Genetic algorithm for Omega TradeStation
GA4TS – is a dynamic library set aside for the optimization of strategies using one or multiobjective in TradeStation Omega (any version). The advantages of the algorithm embodied in GA4TS are:
- The possibility of searching multiobjective optimal solution (using Pareto Set).
- The search is carried out with a help of Genetic Algorithm.
- Greater speed of convergence in comparison with other methods (GA).
- High accuracy of all calculations.
The library includes:
- The library allows you to use all the opportunities of the algorithm.
- The opportunity of the utilization by means of special interface in all versions of Omega TradeStation.
- The opportunity of tuning and correction of the parameters of the reproductive cycle in the Genetic Algorithm.
- The addition of good and well-known decisions into the basic population.
- The bitwise accuracy of all calculations.
- The filtration of data while outputting it.
The use of GA is justified in such cases when an enormous calculating capacity is required. And quick convergence allows you to solve the tasks amounting 1050 in a several hours. The speed of convergence of this method is greater in comparison with other realizations of GA. As used here, the speed is understood to be the quality of the iterations done (calculations of one element or a strategy with specific parameters).
For that let s consider an example from MATLAB Rastrigin’s Function fig.1 in the description to “Genetic Algorithm and Direct Search Toolbox”. The function is:
Ras(x,y) = -(x2+y2)+10(-2 + cos(2x) + cos(2y)),
in which all the identical transformations aimed at presentation of calculations accuracy are done, as 1 +10-16 on PC is 1 as a rule.

Fig. 1. Rastrigin’s Function.
Тестирование опционных стратегий в Omega TradeStation
То что любая торговая стратегия на акциях проходит бэк-тэстинг, или проверку временем – не у кого не вызывает сомнения. Но с опционными стратегиями дело, как правило, обстоит несколько иначе. Возможно, это связано с предполагаемой сложностью реализации (это абсолютно не так), или как чаще всего бывает: тестирование ограничивается сложными формулами на бумаге или доказательством статистического преимущества. В любом случае, никакие формулы не заменят бэк-тэстинга, а как часто бывает, новые идеи, возникают во время осмысления полученных результатов. А оптимизация в этом смысле просто создаёт почву для размышления, и никак не для того что бы использовать полученные результаты в окончательном варианте для реальной торговле.
Иной раз приходилось использовать абсурдные вещи: делать сигнал на открытие позиции с параметром k контрактов, где k принимает +1/-1, т.е. на “как и было”/ “поменять покупку на продажу и наоборот”. Оптимизация это та чёрная работа, которую компьютер может сделать лучше человека. Это к тому что и опционов много и параметров тоже.
Итак, что бы провести тестирование стратегии на опционах Omega – наилучший инструмент для этого (после Excel конечно). Для этого не обязательно иметь данные по всем страйкам опционов, со всем возможными датами погашения. А достаточно иметь дневные свечи по активу (spot) и волатильности (implied volatility). Возьмем, к примеру на Yahoo Finance, QQQQ(Trust Shares NASDAQ 100) и ^QQV(QQQ Implied Volatility Index), и загрузим их в Omega как показано на рисунке ниже:

Рис. 1. Тестирование опционной стратегии.
Для этого сначала загружается QQQQ, после клавишей F5 добавляется Data2.
GA4TS.DLL – Генетический алгоритм для TradeStation
GA4TS – динамическая библиотека, предназначенная для оптимизации стратегий по одному или нескольким критериям в TradeStation Omega(any version).
Достоинства алгоритма реализованного в GA4TS:
- Возможность поиска оптимальных по Парето решений.
- Поиск осуществляется методом Генетического Алгоритма.
- Большáя скорость сходимости, на порядки выше других аналогичных методов (ГА).
- Высокая точность вычислений.
Данная библиотека в себя включает:
- Библиотека позволяет использовать все возможности алгоритма.
- Возможность использования через специальный интерфейс во всех версиях TradeStation Omega.
- Возможность настройки, и коррекции параметров репродуктивного цикла в Генетическом Алгоритме.
- Добавление в базовую популяцию, заведомо известных, хороших решений.
- Побитовая точность вычислений.
- Фильтрация данных, при выводе.
Использование ГА, оправдывает себя тех случаях, где требуются действительно, колоссальные вычислительные емкости. А быстрая сходимость ГА, позволяет решать задачи, эквивалентные перебору 1050, всего за несколько часов. Скорость же сходимости данного метода, на порядки выше других реализаций ГА. В данном контексте, под скоростью понимается, количество проделанных итераций (вычислений отдельного элемента или стратегии с конкретными параметрами).
Для этого рассмотрим пример из MATLAB’а: Rastrigin’s Function (рис. 1), в описании к Genetic Algorithm and Direct Search Toolbox. Функция имеет вид:
Ras(x,y) = -(x2+y2)+10(-2 + cos(2πx) + cos(2πy)),
в которой, совершены тождественные преобразование для сохранения точности вычислений, т.к 1 +10-16 на ПК как правило равно 1.

Рис. 1. Rastrigin’s Function.
Поиск оптимальных по Парето стратегий
Вопрос об использовании оптимизации для стратегий является спорным, но я никого переубеждать не собираюсь. Хочу лишь заметить, что, придумав какую-либо стратегию, без параметров, для исторических данных, можно сказать, что она работает именно на них, и делать выводы о перспективе её использования так же невозможно, как и для стратегии с параметрами. И уже в предположении о том, что в динамики изменения котировок присутствует связь с прошлым, можно эмпирически подбирать лучшие решения, будь то отдельные стратегии или их семейства, зависящие от параметров. Но возможна такая ситуация, когда параметров много, или тестируемых данных мало, на которых решение может себя вести очень обособленно. Это проверяется путём проведения дополнительных тестов на других данных.
Остановимся подробней на самом поиске оптимальных решений. Очевидно, основной критерий качества стратегии, это прибыль которую она может показать в будущем, поэтому, упростив условия задачи путём проведения тестов только на исторических данных, нельзя руководствоваться одним только этим показателем, потому что на истории он никак не отражает основную суть задачи. Таким образом, необходимо анализировать такой критерий, или несколько, который ведёт себя наиболее устойчиво к данным. Такими критериями могут быть PF(Profit Factor), DD(Drawdown), Percent Profitable, Ratio Avg. Win/Avg. Loss и т.д. Но при этом, получив решение, оптимально по одному из критериев, совсем не обязательно, что оно будет оптимально по какому-либо другому. А хотелось бы, например, решить задачу – минимизировать риск, максимизировать прибыль, причём одновременно.