В «Случайной прогулке по Уолл-стрит» (1973) Бертон Малкиел предложил: «Обезьяна с завязанными глазами, бросающая дротики в финансовые страницы газеты, могла бы выбрать портфель, который подошел бы так же хорошо, как и тщательно отобранный экспертами». В то время как эволюция, возможно, сделала человека не более умным при выборе акций, теория Чарльза Дарвина оказалась весьма эффективной при более непосредственном применении.
Учебное пособие: стратегии выбора запаса
Что такое генетические алгоритмы?
Генетические алгоритмы (GA) - это методы решения проблем (или эвристики), которые имитируют процесс естественной эволюции. В отличие от искусственных нейронных сетей (ИНС), разработанных для функционирования подобно нейронам в мозге, эти алгоритмы используют концепции естественного отбора для определения наилучшего решения проблемы. В результате, GA обычно используются в качестве оптимизаторов, которые корректируют параметры, чтобы минимизировать или максимизировать некоторую меру обратной связи, которая затем может использоваться независимо или при построении ANN. (Чтобы узнать больше о ANN, см.: Нейронные сети: прогнозирование прибыли .)
На финансовых рынках генетические алгоритмы чаще всего используются для поиска наилучших комбинационных значений параметров в правиле торговли, и их можно встроить в модели ANN, предназначенные для выбора акций и определения сделок. Несколько исследований продемонстрировали эффективность этих методов, в том числе «Генетические алгоритмы: генезис оценки запасов» (2004) и «Применение генетических алгоритмов в оптимизации добычи данных фондового рынка» (2004). (Подробнее см.: Как создаются торговые алгоритмы .)
Что такое генетические алгоритмы?
Как работают генетические алгоритмы
Генетические алгоритмы создаются математически с использованием векторов, которые представляют собой величины, имеющие направление и величину. Параметры для каждого правила торговли представлены одномерным вектором, который в генетических терминах можно рассматривать как хромосому. Между тем, значения, используемые в каждом параметре, могут рассматриваться как гены, которые затем модифицируются с помощью естественного отбора.
Например, правило торговли может включать использование таких параметров, как расхождение сходимости скользящего среднего (MACD), экспоненциальное скользящее среднее (EMA) и стохастик. Затем генетический алгоритм будет вводить значения в эти параметры с целью максимизации чистой прибыли. Со временем вносятся небольшие изменения, и те, которые оказывают желаемое влияние, сохраняются для следующего поколения.
Есть три типа генетических операций, которые затем могут быть выполнены:
- Пересечения представляют воспроизводство и пересечение, наблюдаемое в биологии, когда ребенок приобретает определенные характеристики своих родителей. Мутации представляют биологическую мутацию и используются для поддержания генетического разнообразия от одного поколения популяции к другому путем внесения случайных небольших изменений. стадия, на которой отдельные геномы выбираются из популяции для последующего размножения (рекомбинация или кроссовер).
Эти три операции затем используются в пятиступенчатом процессе:
- Инициализируйте случайную популяцию, где каждая хромосома имеет n- длину, а n является числом параметров. То есть, случайное число параметров устанавливается с n элементами в каждом. Выберите хромосомы или параметры, которые увеличивают желаемые результаты (предположительно, чистую прибыль). Примените операторы мутации или кроссовера к выбранным родителям и сгенерируйте потомство. Рекомбинируйте потомство и текущее население, чтобы сформировать новое население с оператором выбора. Повторите шаги со второго по четвертое.
Со временем этот процесс приведет к появлению все более выгодных хромосом (или параметров) для использования в правилах торговли. Затем процесс завершается, когда удовлетворяются критерии остановки, которые могут включать время работы, пригодность, количество поколений или другие критерии.
Использование генетических алгоритмов в трейдинге
Хотя генетические алгоритмы в основном используются институциональными количественными трейдерами, отдельные трейдеры могут использовать возможности генетических алгоритмов - без какой-либо степени в углубленной математике - используя несколько пакетов программного обеспечения на рынке. Эти решения варьируются от автономных пакетов программного обеспечения, ориентированных на финансовые рынки, до надстроек Microsoft Excel, которые могут облегчить практический анализ.
При использовании этих приложений трейдеры могут определять набор параметров, которые затем оптимизируются с использованием генетического алгоритма и набора исторических данных. Некоторые приложения могут оптимизировать используемые параметры и значения для них, в то время как другие в первую очередь ориентированы на простую оптимизацию значений для данного набора параметров. (Чтобы узнать больше об этих программных стратегиях, см.: Сила программных сделок .)
Подгонка кривой (переоснащение) или разработка торговой системы на основе исторических данных, а не идентификация повторяемого поведения, представляет потенциальный риск для трейдеров, использующих генетические алгоритмы. Любая торговая система, использующая GA, должна быть протестирована на бумаге перед использованием в реальном времени.
Выбор параметров является важной частью процесса, и трейдеры должны искать параметры, которые соответствуют изменениям в цене данной ценной бумаги. Например, попробуйте разные индикаторы, чтобы увидеть, если какие-либо, кажется, коррелируют с основными поворотами рынка. (Подробнее см.: Выбор правильного программного обеспечения для алгоритмической торговли .)
Суть
Генетические алгоритмы - это уникальные способы решения сложных проблем, используя силу природы. Применяя эти методы для прогнозирования цен на ценные бумаги, трейдеры могут оптимизировать торговые правила, определяя наилучшие значения для каждого параметра для данной ценной бумаги. Однако эти алгоритмы не являются Святым Граалем, и трейдеры должны быть осторожны, чтобы выбрать правильные параметры, а не подгонку кривой. (Для получения дополнительной информации ознакомьтесь с разделом: Как кодировать собственного торгового робота Algo .)
