- PVSM.RU - https://www.pvsm.ru -
Мы довольно часто пишем об алгоритмической торговле [2] и связанными с этой область технологиями, но еще ни разу мы не говорили о программном обеспечении, с помощью которого, собственно, можно создать собственную торговую программу. Под катом – обзор распространенных программных средств для создания механических торговых систем, адаптированных под российский фондовый рынок.
Продукт компании Fidelity International [3] является одним из самых мощных средств для технического анализа, разработки и тестирования торговых стратегий. Встроенным языком программирования в ней является WealthScript, имеющий немало общего с Pascal, в последних версиях используется C# и другие .NET языки.
На российском фондовом рынке применяется в связке с брокерскими терминалами – в Wealth-Lab пользователь описывает свою стратегию, согласно которой программа генерирует заявки на совершение операций. С помощью специальных библиотек для интеграции, эти приказы затем передаются в торговый терминал, из которого и происходит их исполнение. Объективно такая схема накладывает довольно много ограничений, поэтому Wealth-Lab, конечно, нельзя назвать идеальным вариантом для российских бирж.
Еще один зарубежный продукт. MetaStock содержит большую библиотеку различных индикаторов и средств для создания собственных формул. Из плюсов – довольно простой встроенный язык программирования. С помощью дополнительных модулей можно генерировать приказы на покупку/продажу. Как и Wealth-Lab, на российском рынке применяется в связке с торговыми терминалами с помощью дополнительных библиотек, что влечет за собой примерно те же проблемы. Также к минусам можно отнести и тот факт, что простота встроенного языка программирования не позволяет описывать сложные торговые стратегии.
Средство для технического анализа, предназначенное для создания и тестирования механических торговых систем. Писать роботов можно на встроенном языке программирования Easy Language (синтаксис похож на Pascal). Как и в случае двух вышеперечисленных программ, на российском фондовом рынке используется с помощью «прокладок». Среди минусов, соответственно, стабильность работы подобной конструкции, а также сложность настройки Omega Research. Кроме того, программа работает только со своим форматом данных и не поддерживает конвертацию из текстовых файлов или форматов других программ технического анализа.
Помимо зарубежных продуктов, на отечественном фондовом рынке существует целый ряд программных решений от российских разработчиков. И вот лишь некоторые из них.
Как и предыдущий проект, TSLab разрабатывает – это платформа для создания и запуска механических торговых систем, «заточенная» именно под российский фондовый рынок. Одним из существенных для трейдеров, не владеющих навыками программирования, является возможность записи торгового алгоритма в виде блок-схемы.
Бесплатная (в базовой версии) платформа StockSharp с открытым исходным кодом и продукты на ее основе (S#. Studio). Как ясно из названия, программировать можно на языке C#. Из плюсов – возможность подключения к различным торговым терминалам и брокерским системам.
Линейка продуктов петербуржской компании Cofite. Благодаря API, с помощью торгового теринала LiveTrade Terminalможно запускать роботов, реализованных на платформе .NET. Есть возможность подключения к торговым терминалам и системам нескольких российских брокеров (в т.ч. к системе ITinvest с помощью API SmartCOM). Кроме того, у Cofite есть продукт Robotlab, который целиком и полностью предназначен для создания роботов. Как и в случае TSLab – торговые алгоритмы можно реализовывать с помощью визуального конструктора. Получившуюся блок-схему робота затем можно запустить в терминале.
Торговый терминал SmartX [4] представляет собой не обычный терминал в привычном понимании, а интегрированный программный продукт, который, помимо прочего, включает в себя и встроенный скриптовый язык программирования TradeScrip [5] – векторный язык, который был создан американской компанией Modulus Financial Engineering (США) специально для создания торговых роботов.
Из интересных функций терминала можно выделить:
Скриптовый язык довольно прост в изучении, и начать программировать несложных роботов можно уже в течение пары часов после знакомства с ним. Кроме того, многие алгоритмы схожи по написанию с Metastock, так что если пользователь ранее был знаком с этой программой, то ему практически не придется переучиваться.
Пример простого робота на 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 здесь нет необходимости создавать сложные конструкции и использовать для передачи приказов в терминал «прокладки» в виде дополнительных библиотек – все встроено и сразу подключено к брокерской торговой системе.
Кроме того пользователь может запускать столько одновременно работающих алгоритмов, сколько позволит тактовая частота процессора и память компьютера. Учитывая большое число слов и операндов скриптового языка, это означает возможность создания сколько угодно сложных торговых стратегий.
API нашей брокерской системы (подробнее в этом хабратопике [7]), с помощью которого можно создавать торговых роботов любой сложности. Существует дополнительный плагин [8] для AmiBroker, что значительно облегчает анализ данных.
На сегодня все. В следующих топиках мы более подробно поговорим о написании торговых роботов и приведем примеры конкретных механических систем, созданных с помощью различных инструментов. Спасибо за внимание!
Автор: itinvest
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/54836
Ссылки в тексте:
[1] Image: http://habrahabr.ru/company/itinvest/blog/212335/
[2] алгоритмической торговле: http://habrahabr.ru/post/207000/
[3] Fidelity International: https://www.fidelity.com/
[4] SmartX: http://www.itinvest.ru/software/comp/smartx/
[5] TradeScrip : http://www.itinvest.ru/editorfiles/File/smartx/TradeScript.pdf
[6] Image: http://i.imgur.com/Jf69i1e.png
[7] этом хабратопике: http://habrahabr.ru/post/201702/
[8] плагин: http://www.itinvest.ru/editorfiles/File/amibroker/SmartPlugin_2_2.zip
[9] Источник: http://habrahabr.ru/post/212335/
Нажмите здесь для печати.