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

в 9:53, , рубрики: Без рубрики

image

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

Wealth-Lab

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

image

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

MetaStock

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

Omega Research

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

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

TSLab

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

image

StockSharp

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

LiveTrade

Линейка продуктов петербуржской компании Cofite. Благодаря API, с помощью торгового теринала LiveTrade Terminalможно запускать роботов, реализованных на платформе .NET. Есть возможность подключения к торговым терминалам и системам нескольких российских брокеров (в т.ч. к системе ITinvest с помощью API SmartCOM). Кроме того, у Cofite есть продукт Robotlab, который целиком и полностью предназначен для создания роботов. Как и в случае TSLab – торговые алгоритмы можно реализовывать с помощью визуального конструктора. Получившуюся блок-схему робота затем можно запустить в терминале.

image

SmartX

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

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

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

image

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

image

Пример простого робота на 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

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

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

SmartCOM

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

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

Автор: itinvest

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js