Инструменты для создания торговых роботов

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

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

Wealth-Lab

Относится к одним из самых продвинутых средств для технического анализа рынка, разработки и тестирования различных торговых стратегий на различных рынках. Продукт Fidelity International. Языком программирования этой программы является WealthScript, который имеет много общего с Pascal, хотя в последних версиях программы используется C# , а также другие NET языки.

instrumenty dlya sozdaniya torgovyx robotov 1

На фондовом рынке России применяется в тесной связке с брокерскими терминалами – пользователь описывает в Wealth-Lab свою торговую стратегию, согласно которой генерируются заявки на проведение торговых операций. Эти приказы с помощью специальных интеграционных библиотек передаются в торговый терминал, где и осуществляется их исполнение. Такая схема работы накладывает достаточно много ограничений, в связи с чем Wealth-Lab нельзя считать для российских бирж идеальным вариантом.

MetaStock

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

Omega Research

Программа для технического анализа рынка, предназначенное, главным образом для создания и тестирования торговых систем. Можно писать роботов на встроенном языке Easy Language. Как и две вышеперечисленные программы, используется для работы на российском фондовом рынке с помощью «прокладок». Соответственно, среди минусов - нестабильность работы такой конструкции и сложность настройки Omega Research. Еще одним недостатком является то, что программа работает исключительно со своим форматом данных и конвертацию из текстовых файлов не поддерживает, как и форматы сторонних программ для технического анализа.

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

TSLab

TSLab – это платформа для создания механических систем торговли, «заточенная» под условия работы российского фондового рынка. Существенным преимуществом для трейдеров, которые не владеют навыками программирования, является встроенная возможность записи в виде блок-схемы созданного торгового алгоритма.

instrumenty dlya sozdaniya torgovyx robotov 2

StockSharp

Это бесплатная платформа (в базовой версии) с открытым исходным кодом и продукты, созданные на основе платформы (S#. Studio). Как понятно из названия, программировать продукты можно на встроенном языке C#. Из серьезных плюсов платформы – возможность ее подключения к разным брокерским системам и торговым терминалам.

LiveTrade

Один из линейки продуктов компании Cofite. С помощью торгового терминала, благодаря API, можно запускать роботов, которые реализованных на платформе .NET. Также, существует возможность подключения к системам и торговым терминалам нескольких российских брокеров. Кроме того, Cofite имеет продукт Robotlab, который полностью и целиком предназначен для создания роботов. Имеется возможность реализовывать торговые алгоритмы с помощью визуального конструктора и затем, блок-схему робота можно запустить в торговом терминале.

instrumenty dlya sozdaniya torgovyx robotov 3

SmartX

Этот торговый терминал представляет собой интегрированный программный продукт, который в себя включает встроенный скриптовый язык TradeScript. Это векторный язык, созданный компанией из США Modulus Financial Engineering специально для написания торговых роботов.

Можно выделить несколько интересных функций:

  • Возможность проведения бэк-тестинга стратегий торговли — тестирования программы на исторических данных. И архивные данные, при этом, подгружаются терминалом автоматически.
  • Возможность тестирования стратегии торговли «на ходу» с использованием текущих данных с бирж.
  • Возможность создания алгоритмов по тиковым биржевым данным.

instrumenty dlya sozdaniya torgovyx robotov 4

Необходимо отметить, что скриптовый язык достаточно прост в изучении, и можно начать программировать простых роботов в течение 2-3 часов после знакомства с ним. Многие алгоритмы по написанию схожи с Metastock, так что если ранее пользователь был знаком с программой Metastock, то ему практически переучиваться не придется.

instrumenty dlya sozdaniya torgovyx robotov 5

Пример написания простого робота на языке TradeScript:

Buy Signals

# Покупаем, если волатильность снижается, а объем и цена имеют восходящий тренд

HistoricalVolatility(CLOSE, 15, 252, 2) < REF(HistoricalVolatility(CLOSE, 15, 365, 2), 15)

AND

TREND(VOLUME, 5) = UP AND TREND(CLOSE, 40) = UP

Sell Signals

# Продаем, если волатильность снижается, а объем и цена имеют нисходящий тренд

HistoricalVolatility(CLOSE, 15, 252, 2) < REF(HistoricalVolatility(CLOSE, 15, 365, 2), 15)

AND

TREND(VOLUME, 5) = UP AND TREND(CLOSE, 40) = DOWN

Большим достоинством этого способа написания роботов является то, что здесь нет необходимости, в отличие тех же Metastock и Wealth-Lab, создавать сложные конструкции и для передачи приказов в торговый терминал использовать «прокладки» в виде библиотек –  все встроено и подключено к торговой системе брокера.

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