Написание собственного робота для алгоритмической торговли

Многие трейдеры стремятся стать алгоритмическими трейдерами, но изо всех сил пытаются правильно кодировать своих торговых роботов.Эти трейдеры часто обнаруживают в Интернете дезорганизованную и вводящую в заблуждение информацию об алгоритмическом кодировании, а также ложные обещания быстрого процветания.Однако одним из потенциальных источников достоверной информации является Лукас Лью, создатель онлайн-курса по алгоритмической торговле AlgoTrading101.По состоянию на август 2020 года курс собрал более 33 000 студентов с момента его запуска в октябре 2014 года.

Программа Лью направлена ​​на организованное представление основ алгоритмической торговли. Он непреклонен в том, что алгоритмическая торговля — это «не схема быстрого обогащения». Ниже изложены основы того, что необходимо для разработки, создания и обслуживания собственного алгоритмического торгового робота  (взято из Лью и его курса).

Что такое торговый робот?

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

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

  • Многим амбициозным трейдерам сложно найти подходящее образование или руководство, чтобы правильно кодировать своих торговых роботов.
  • AlgoTrading101 является потенциальным источником надежного обучения и получил более 33000 между его запуском и 2014 августом 2020 г.
  • Торговый алгоритм или робот — это компьютерный код, который идентифицирует возможности покупки и продажи с возможностью выполнять приказы входа и выхода.
  • Чтобы быть прибыльным, робот должен определять регулярную и устойчивую рыночную эффективность.
  • Хотя примеров схем быстрого обогащения предостаточно, начинающим трейдерам алгоритмов лучше иметь скромные ожидания.

Очевидно, вам понадобится компьютер и подключение к Интернету, чтобы стать алгоритмическим трейдером.После этого потребуется операционная система Microsoft Windows или Mac для запуска Meta (признана экстремистской организацией, деятельность которой запрещена в Российской Федерации)Trader 4 (MT4), электронной торговой платформы, использующей язык Meta (признана экстремистской организацией, деятельность которой запрещена в Российской Федерации)Quotes Language 4 (MQL4) для кодирования торговых стратегий.Хотя MT4 — не единственное программное обеспечение, которое можно использовать для создания роботов, у него есть ряд существенных преимуществ.

Одним из преимуществ является то, что, хотя основным классом активов MT4 является иностранная валюта (FX), платформу также можно использовать для торговли акциями, индексами акций, товарами и биткойнами с использованием контрактов на разницу цен ( CFD ). Другие преимущества использования MT4 (по сравнению с другими платформами) заключаются в том, что его легко изучить, имеется множество доступных источников данных FX и он бесплатный.

Алгоритмические торговые стратегии

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

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

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

  • Макроэкономические новости (например, изменения заработной платы вне сельского хозяйства или процентных ставок)
  • Фундаментальный анализ (например, с использованием данных о доходах или примечаний к выпуску прибыли)
  • Статистический анализ (например, корреляция или совместная интеграция)
  • Технический анализ (например, скользящие средние)
  • Микроструктура рынка (например, арбитраж или торговая инфраструктура)

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

Бэктестирование и оптимизация

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

Теперь, когда вы запрограммировали работающего робота, максимизируйте его производительность, минимизируя при этом  систематическую ошибку переобучения. Чтобы максимизировать производительность, вам сначала нужно выбрать хороший показатель производительности, который фиксирует элементы риска и вознаграждения, а также согласованность (например, коэффициент Шарпа ). Между тем, ошибка переобучения возникает, когда ваш робот слишком близко основан на прошлых данных; такой робот создаст иллюзию высокой производительности, но, поскольку будущее никогда полностью не напоминает прошлое, он может фактически потерпеть неудачу.

Живое исполнение

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

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

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

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

Суть

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

Лью подчеркивает, что наиболее важной частью алгоритмической торговли является «понимание того, в каких типах рыночных условий будет работать ваш робот и когда он выйдет из строя» и «понимание того, когда следует вмешаться». Алгоритмическая торговля может быть полезной, но ключ к успеху — понимание; любой курс или учитель, обещающий высокие награды без достаточного понимания, должен быть серьезным предупреждающим знаком, чтобы держаться подальше.