Использование генетических алгоритмов для прогнозирования финансовых рынков

В «Случайной прогулке по Уолл-стрит» (1973) Бертон Малкиел предположил: «Обезьяна с завязанными глазами, бросающая дротики в финансовые страницы газеты, могла бы выбрать портфель, который будет столь же хорош, как и портфель, тщательно отобранный экспертами». Хотя эволюция, возможно, сделала человека не более разумным в выборе акций, теория Чарльза Дарвина доказала свою эффективность при более непосредственном применении.

Генетические алгоритмы — это уникальные способы решения сложных проблем с помощью силы природы. Применяя эти методы для прогнозирования цен на ценные бумаги, трейдеры могут оптимизировать торговые правила, определяя наилучшие значения, которые следует использовать для каждого параметра данной ценной бумаги.

Ключевые выводы

  • Сложные компьютерные алгоритмы, основанные на правилах генетики и эволюционной теории, недавно добились определенного успеха в торговле ценными бумагами.
  • Применяя эти методы для прогнозирования цен на ценные бумаги, трейдеры могут оптимизировать правила торговли и создавать новые стратегии.
  • Индивидуальные трейдеры могут использовать возможности генетических алгоритмов, используя несколько программных пакетов, представленных на рынке.

Что такое генетические алгоритмы?

Генетические алгоритмы (ГА) — это методы решения проблем (или эвристики), имитирующие процесс естественной эволюции. В отличие от искусственных нейронных сетей (ИНС), предназначенных для работы как нейроны в мозгу, эти алгоритмы используют концепции естественного отбора для определения наилучшего решения проблемы.

В результате GA обычно используются в качестве оптимизаторов, которые регулируют параметры для минимизации или максимизации некоторой меры обратной связи, которую затем можно использовать независимо или при построении ИНС. (Чтобы узнать больше об ИНС, см. Нейронные сети: прогнозирование прибыли.)

На финансовых рынках генетические алгоритмы чаще всего используются для поиска наилучших комбинационных значений параметров в торговом правиле, и они могут быть встроены в модели ИНС, предназначенные для выбора акций и идентификации сделок.

Несколько исследований продемонстрировали эффективность этих методов, в том числе « Генетические алгоритмы: генезис оценки запасов » (2004 г.) и « Применение генетических алгоритмов в оптимизации интеллектуального анализа данных фондового рынка » (2004 г.). (Подробнее см.:  Как создаются торговые алгоритмы.)

Как работают генетические алгоритмы

Генетические алгоритмы создаются математически с использованием векторов — величин, имеющих направление и величину. Параметры для каждого правила торговли представлены одномерным вектором, который с генетической точки зрения можно рассматривать как хромосому. Между тем, значения, используемые в каждом параметре, можно рассматривать как гены, которые затем модифицируются с помощью естественного отбора.

Например, торговое правило может включать использование таких параметров, как  дивергенция схождения скользящих средних  (MACD),  экспоненциальная скользящая средняя  (EMA) и стохастик. Затем генетический алгоритм вводит значения в эти параметры с целью максимизации чистой прибыли. Со временем вносятся небольшие изменения, а те, которые оказывают желаемое влияние, сохраняются для следующего поколения.

(См. Также:  Основы алгоритмической торговли.)

Затем можно выполнить три типа генетических операций:

  • Кроссоверы представляют собой воспроизводство и кроссовер, наблюдаемые в биологии, когда ребенок перенимает определенные характеристики своих родителей.
  • Мутации представляют собой биологические мутации и используются для поддержания генетического разнообразия от одного поколения популяции к следующему путем внесения случайных небольших изменений.
  • Отбор — это этап, на котором отдельные геномы выбираются из популяции для последующего разведения (рекомбинации или кроссовера).

Эти три операции затем используются в пятиэтапном процессе:

  1. Инициализируйте случайную популяцию, где каждая хромосома имеет длину n, где n — количество параметров. То есть устанавливается случайное количество параметров с n элементами каждый.
  2. Выберите хромосомы или параметры, которые увеличивают желаемые результаты (предположительно чистую прибыль).
  3. Примените операторы мутации или кроссовера к выбранным родителям и создайте потомство.
  4. С помощью оператора выбора повторно объедините потомство и текущую популяцию, чтобы сформировать новую популяцию.
  5. Повторите шаги со второго по четвертый.

Со временем этот процесс приведет к тому, что хромосомы (или параметры) будут становиться все более подходящими для использования в торговом правиле. Затем процесс завершается, когда выполняются критерии остановки, которые могут включать время работы, пригодность, количество поколений или другие критерии.

Использование генетических алгоритмов в торговле

В то время как генетические алгоритмы в основном используются институциональными количественными трейдерами, индивидуальные трейдеры могут использовать возможности генетических алгоритмов, не обладая высшей математической степенью, используя несколько программных пакетов, имеющихся на рынке.

Эти решения варьируются от отдельных пакетов программного обеспечения, ориентированных на финансовые рынки, до надстроек Microsoft Excel, которые могут облегчить более практический анализ.

Используя эти приложения, трейдеры могут определять набор параметров, которые затем оптимизируются с использованием генетического алгоритма и набора исторических данных. Некоторые приложения могут оптимизировать используемые параметры и их значения, в то время как другие в основном ориентированы на простую оптимизацию значений для заданного набора параметров.

Подгонка кривой (т.е. переоснащение ) или проектирование торговой системы на основе исторических данных, а не определение повторяемого поведения, представляет собой потенциальный риск для трейдеров, использующих генетические алгоритмы. Любая торговая система, использующая GA, должна быть протестирована на бумаге перед использованием в реальном времени.

Выбор параметров — важная часть процесса, и трейдеры должны искать параметры, которые коррелируют с изменениями цены данной ценной бумаги. Например, попробуйте разные индикаторы, чтобы увидеть, коррелируют ли они с основными поворотами рынка.

Суть

Эти алгоритмы не являются Святым Граалем, и трейдеры должны быть осторожны, выбирая правильные параметры, а не подгонять кривую.

(Для дополнительного чтения, проверьте: Выбор подходящего алгоритмической торговли Программное обеспечение, Сила программы торгов, и  как закодировать свой собственный Algo Trading Robot.)