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

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

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

Ниже приведено резюме:

Правило 1: Четко определите свою проблему

Правило 2: Вам не обязательно использовать машинное обучение

Правило 3: мыслите нестандартно

Правило 4. Используйте качественные данные

Правило 5: Не используйте модели, которые вы не понимаете

Правило 6. Избегайте отслеживания данных

Правило 1: Четко определите свою проблему

Дайте мне шесть часов, чтобы срубить дерево, и первые четыре часа я потрачу на то, чтобы точить топорАвраам Линкольн (16-й президент США)

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

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

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

На практике:

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

  1. Определите проблему: четко определите проблему, которую вы пытаетесь решить, например, разработку прибыльной торговой стратегии.
  2. Соберите информацию: изучите проблему и соберите данные, которые помогут вам лучше ее понять. Это может включать рыночные данные, новости и другую соответствующую информацию.
  3. Разбейте проблему: проанализируйте проблему и определите ее основные компоненты. Например, в алгоритмической торговле вы можете учитывать такие факторы, как рыночные тенденции, движение цен и поведение других трейдеров.
  4. Разработайте гипотезу: на основе вашего анализа разработайте гипотезу о причинах проблемы и о том, что можно сделать для ее решения.
  5. Проверьте гипотезу: используйте свою гипотезу для разработки и реализации решения. Протестируйте решение, чтобы увидеть, работает ли оно, а если нет, повторяйте, пока не найдете работающее решение.
  6. Оцените результаты: проанализируйте результаты своего решения и определите, обеспечивает ли оно желаемый результат. Если это не так, пересмотрите свою гипотезу и начните процесс заново.

Правило 2: Вам не обязательно использовать машинное обучение

Влюбляйтесь в проблему, а не в решениеУри Левин (соучредитель Waze)

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

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

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

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

На практике:

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

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

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

Правило 3: Думайте нестандартно

«Думай нестандартно, сломай коробку и возьми в нее чертовски острый нож». — Бэнкси (известный уличный художник)

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

Успешно прогнозировать движение цен с помощью ML на основе только рыночных данных очень сложно из-за основных предположений, лежащих в основе большинства моделей:

  1. Предположение о стационарности. Многие модели машинного обучения предполагают, что лежащий в основе процесс генерации данных является стационарным, что часто не имеет места на финансовых рынках. Это означает, что статистические свойства данных постоянно меняются с течением времени, что затрудняет точное предсказание будущих движений цен, поскольку модель может быть основана на отношениях, которые уже не соответствуют действительности.
  2. Предположение о линейности: некоторые модели предполагают линейную зависимость между входами и выходами, в то время как финансовые данные часто могут демонстрировать нелинейные закономерности.
  3. Предположение о независимости: некоторые модели предполагают, что наблюдения независимы, в то время как финансовые данные часто могут демонстрировать сильные зависимости и автокорреляции.
  4. Предположение о гомоскедастичности: в некоторых моделях предполагается, что ошибки имеют постоянную дисперсию, в то время как финансовые данные часто могут демонстрировать гетероскедастичные ошибки.
  5. Переобучение: модель легко подгонять к обучающим данным, что приводит к снижению производительности на новых, невидимых данных.
  6. Качество данных. Финансовые данные могут быть зашумлены и могут содержать ошибки или отсутствующие значения, что может повлиять на производительность модели.
  7. Изменения в динамике рынка. Динамика рынка может быстро меняться, что затрудняет разработку моделей, которые остаются актуальными с течением времени. Данные часто подвержены внезапным и значительным изменениям волатильности, например, во время рыночных крахов или циклов ажиотажа. Эти события могут сильно повлиять на отношения между различными переменными и вызвать быстрое изменение статистических свойств данных.

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

На практике:

Вот несколько примеров того, как творчески использовать ML в ваших проектах алгоритмической торговли:

  1. Использование его для анализа данных блокчейна, таких как история транзакций и сетевая активность, для выявления закономерностей, которые затем можно превратить в факторы для прогнозирования движения цены.
  2. Включение анализа настроений в социальных сетях и новостных статьях для оценки настроений рынка и превращения результатов в факторы для прогнозирования движения цен.
  3. Использование обработки естественного языка для извлечения информации с форумов, групп чатов и других онлайн-сообществ для выявления новых тенденций и потенциальных рыночных возможностей.
  4. Внедрение генеративных моделей для создания синтетических финансовых временных рядов данных для обучения моделей и более реалистичного моделирования рыночных условий.
  5. Применение обучения с подкреплением для обучения торговых алгоритмов, которые могут адаптироваться к изменяющимся рыночным условиям и выполнять сделки динамично и эффективно.
  6. Использование эволюционных алгоритмов для развития торговых стратегий таким образом, чтобы они могли адаптироваться к волатильности и неопределенности рынка криптовалют.
  7. Объединение всех этих методов для создания мультимодальной торговой системы ИИ, которая может анализировать несколько источников данных и делать прогнозы на основе различных входных данных.

Правило 4. Используйте качественные данные

«Мусор на входе, мусор на выходе» — популярное выражение в информатике.

Точность прогнозов, сделанных моделями ML, сильно зависит от качества входных данных.

Данные низкого качества могут привести к предвзятым или неверным прогнозам, что может негативно повлиять на общую эффективность стратегии.

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

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

На практике:

Вот несколько практических советов по использованию высококачественных данных:

  1. Источники данных: получайте данные из надежных источников, таких как авторитетные биржи (например, Binance в контексте криптовалют).
  2. Очистка данных: очистите и предварительно обработайте данные, чтобы исправить любые ошибки или выбросы. Удалите все ненужные данные, которые могут повлиять на результаты.
  3. Проверка данных: проверьте данные, сравнив их с другими источниками и проверив их согласованность.
  4. Увеличение данных: используйте дополнительные источники данных для увеличения основного набора данных. Например, включение новостей и данных из социальных сетей может быть полезно в контексте алгоритмической торговли.
  5. Мониторинг данных: постоянно отслеживайте данные на предмет любых изменений или обновлений и при необходимости корректируйте алгоритмическую торговую модель.
  6. Прозрачность данных: сделайте данные прозрачными и доступными для других, включая соответствующие заинтересованные стороны, чтобы гарантировать, что результаты заслуживают доверия и воспроизводимы.

Правило 5: Не используйте модели, которые вы не понимаете

«Инструмент, который не понимают, — это инструмент, который не стоит иметь». - неизвестный

Использование модели, которую вы не понимаете, может быть опасным по нескольким причинам.

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

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

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

Опять же, последствия всех этих пунктов – плохие результаты и финансовые потери.

Правило 6. Избегайте отслеживания данных

Если вы пытаете данные достаточно долго, они признаются в чем угодно. — Рональд Коуз (лауреат Нобелевской премии по экономике)

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

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

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

На практике:

Чтобы избежать отслеживания данных в алгоритмической торговле с машинным обучением, вот несколько практических советов:

  1. Разделите данные на наборы для обучения и тестирования перед предварительной обработкой: важно разделить данные на два набора, для обучения и тестирования, перед выполнением каких-либо шагов предварительной обработки. Это не позволяет модели использовать информацию из данных тестирования для прогнозирования, что может привести к переоснащению и нереалистичным показателям производительности.
  2. Используйте перекрестную проверку: перекрестная проверка — это метод, который разбивает данные на несколько сгибов и использует каждый сгиб для проверки модели. Это помогает снизить риск переобучения и обеспечивает более надежную оценку производительности модели.
  3. Будьте прозрачными и документируйте все шаги: ведите подробный учет всех шагов предварительной обработки и выбора модели, включая любые методы настройки параметров или выбора функций. Это помогает обеспечить прозрачность результатов и возможность их воспроизведения.
  4. Используйте несколько показателей производительности. Используйте несколько показателей производительности, таких как точность, полнота и оценка F1, для оценки производительности модели. Это помогает избежать чрезмерной зависимости от одной метрики, которая может ввести в заблуждение.

Заключение

В заключение мы поделились некоторыми из наших ключевых принципов включения алгоритмов машинного обучения в наши торговые стратегии. Эти принципы являются результатом нашего опыта и постоянных экспериментов, и мы считаем, что они могут помочь другим трейдерам также добиться успеха с ML. Мы надеемся, что эта статья была информативной и полезной. Если вам не хватает принципов, вторая часть статьи уже доступна. Удачной торговли!

Небольшая заметка о нас

В AlphaGrow мы стремимся помочь вам увеличить свой портфель, увеличив ваши доходы от торговли благодаря собственной полностью автоматизированной торговой системе, размещенной в надежной облачной инфраструктуре. Машинное обучение — лишь один из инструментов, имеющихся в нашем распоряжении для достижения этой цели. Мы также полагаемся на другие формы статистических методов, математических и компьютерных технологий.
Наша команда увлеченных количественных аналитиков постоянно работает над новыми стратегиями. Если вам интересно узнать больше о наших стратегиях и вы хотите обменяться идеями, не стесняйтесь обращаться к нам (см. ниже) 🙂 🚀

Как с нами связаться: [email protected]

Наш веб-сайт: https://alphagrow.io