Автоматизация торговых стратегий сегодня доступна даже тем инвесторам, которые не сильно «дружат» с программированием. Какие программные комплексы и платформы помогут начинающему алготрейдеру создать собственного торгового робота? Разбираемся вместе с Finversia.ru.
В данном материале мы предлагаем вашему вниманию обзор существующего на рынке софта для алгоритмической системной торговли на финансовых рынках. Введение в тему алгоритмического трейдинга можно прочитать в предыдущей статье.
В настоящее время для начинающих трейдеров доступен очень широкий выбор различных программных продуктов (чего не сказать, например, о ситуации десятилетней давности). Весь доступный софт можно условно разделить на две категории: торговые терминалы и программные комплексы для разработки и тестирования торговых систем.
Торговые терминалы, как правило, бесплатно предоставляются брокером, через них трейдер заключает сделки на бирже. Самой распространенной является программа Quik (квик), разработанная компанией Arqa Technologies в 2001 году. Доступ через нее дают практически все брокеры. В основном квик используется для получения информации о ходе биржевых торгов и заключения сделок в ручном режиме, но есть «примочки» и для алготрейдеров. В квике реализован скриптовый язык qpile и в более поздних версиях язык qlua, благодаря которым пользователь может запрограммировать прямо внутри терминала простых торговых роботов. Однако, плюсов у таких скриптов немного, а вот минусов более чем достаточно. Например, скрипты на qpile получаются очень громоздкие и неудобные в использовании, в квике отсутствует компилятор (как следствие неудобства в написании и отладке кода), нет возможности провести тестирование стратегии на исторических данных, существуют проблемы с созданием графического интерфейса, медленная скорость обработки скрипта.
Наверное, поэтому практически никто не использует встроенные языки для проектирования торговых роботов. Куда популярнее использование квика в связке с другими более серьезными платформами для разработки и тестирования торговых стратегий. Квик в таком случае используется в качестве источника данных о ходе биржевых торгов и как последнее звено для отправки заявок на покупку и продажу ценных бумаг. Схема работы обычно выглядит следующим образом: квик >> программа-адаптер >> платформа для созданий и тестирования торговых роботов. Программа-адаптер выступает в роли «прослойки» и выполняет связывающую функцию.
Платформа для создания и тестирования – это уже более серьезный софт с хорошим функционалом, в нем обычно и пишутся скрипты для торговых роботов. Более подробно остановимся на данных платформах и рассмотрим самые распространенные варианты автоматизации торговых стратегий.
TSLab
Это отечественная разработка, присутствующая на рынке с 2009 года. Данный софт дает возможность как исторического тестирования, так и реальной торговли через прямое подключение к бирже (протокол PlazaII) либо через сервер брокера. Отлично подходит для новичков, т.к. содержит в себе технологию создания стратегий в «визуальном редакторе», с помощью интуитивно понятных блок-схем. Таким образом, подходит даже тем, кто вообще не знаком даже с азами написания программного кода.
Для опытных программистов существует возможность написания торгового робота, а также различных уникальных индикаторов на языке C# в TSLab API. Также на сайте разработчиков доступна достаточно качественная техническая поддержка, которая оперативно исправляет найденные пользователями баги в программе. TSLab активно развивается: в данный момент идет бета-тестирование версии программы 2.0, в которой анонсирован целый ряд принципиально новых возможностей (например, «опционный модуль» для работы с опционами в автоматическом режиме). На форуме программы каждый день идут обсуждения, что свидетельствует о большой базе пользователей.
Программа бесплатная при использовании в «оффлайн» режиме, т.е. пользователи могут самостоятельно загружать в нее исторические данные за произвольный период и разрабатывать/тестировать различные стратегии. Но если у вас появится желание запустить торговые стратегии в реальные торги – тут уже придется заплатить. Стоимость «онлайн» версии (возможность соединяться с сервером брокера, получать оттуда реальные данные и заключать сделки) в данный момент начинается от 2400 рублей в месяц у брокеров-партнеров (Алор, Открытие, Солид, БКС, Церих) и до 4000 рублей в месяц при работе напрямую через шлюз биржи.
Из основных недостатков отметим отсутствие портфельного тестера (т.е. провести тест стратегии по одному активу – легко, а вот сразу по портфелю из 10 активов – уже не получится). Также некоторые варианты подключения (особенно это касается доступа в связке TSLab + Quik и доступ через коннектор SmartCom брокера ITInvest) работают нестабильно и несут в себе высокий риск финансовых потерь от разного рода «багов» и «глюков». Еще одним минусом является непонятная ценовая политика. Например, два года назад коннектор TSLab+Quik стоил менее 1000 рублей в месяц, сейчас цена выросла до 4000 рублей в месяц. При этом функционал остался тот же, на качественно новый уровень стабильности связка с квиком не вышла. Почему произошел такой серьезный рост цен – непонятно. Если для крупных счетов от 1 млн рублей рост цен еще мог пройти незамеченным, то для мелких инвесторов с капиталом порядка 100 000 рублей абонентская плата на уровне 4% в месяц может сделать алгоритмическую торговлю через TSLab совсем нерентабельной.
Wealth-Lab
Разработка американской компании Fidelity. Функционал практически полностью идентичен предыдущей программе, но адаптирован для работы с глобальными брокерами. Более того, первые версии TSLab были как две капли воды похожи на Wealth-Lab, что позволяет сделать вывод о том, что WL был неким эталоном для программ своего времени. В программе также существует возможность создавать стратегии в визуальном редакторе (при этом конструктор состоит не из блок-схем, а из древа взаимосвязанных правил), а для более опытных программистов использовать язык C#. Также в WL доступно портфельное тестирование. Более того, запустить, например, торговую стратегию на американском рынке, которая бы исполняла сделки по 500+ бумагам, не составит особого труда.
На сайте разработчиков существует интересный сервис: любой пользователь может подписаться на сигналы выбранной торговой стратегии, которые будут поступать в терминал Wealth-Lab в режиме онлайн. За это автор торговой стратегии (к слову, автором может стать любой пользователь, если его стратегия показывает хорошие результаты) получает ежемесячную плату от подписчиков на торговые сигналы. Функционал выглядит достаточно интересно, да и результаты некоторых стратегий более чем достойные. К сожалению, представленные стратегии торгуются только на американской бирже. Подписаться на сигналы в России уже не получится.
С российскими брокерами WL может работать в связке с Quik через специальную программу-адаптер. Т.е. из Quik в WL поступают данные в режиме реал-тайм, далее, написанный в WL скрипт, генерирует сигнал для входа в сделку, после чего информация о сигнале поступает в Quik, где и происходит исполнение сделки. Пожалуй, основным минусом данной связки является низкая скорость работы и низкая надежность (в цепочке имеется 3 звена, если хотя бы в одном произойдет сбой, то автоматическая торговля остановится).
Цена на лицензионную версию Wealth-Lab составляет 799$ за одну лицензию (порядка 52 000 рублей по текущему курсу), при приобретении сразу 3 лицензий компания делает скидку до 466$ за штуку. Разновидностей адаптеров к квику довольно много, начиная от ряда бесплатных для версии WL 4.0 (текущая версия 6.9), которые созданы отдельными умельцами «на коленке», и до почти профессиональных адаптеров к последним версиям по цене от 3000 руб. в месяц.
Multicharts
Разработка одноименной компании, базирующейся в США и ориентированной на западные площадки. Данная платформа также как и WL обладает всем необходимым для разработки, тестирования и запуска торговых стратегий функционалом. Компания сотрудничает с рядом брокеров из США, через которых можно осуществлять автоматическую торговлю внутри Multicharts. В программе имеется неплохой портфельный тестер. Однако визуального редактора для построения стратегий здесь нет. Вместо него в качестве языка программирования используется Power Language. Это достаточно простой язык, который состоит из несложных конструкций (например, написание простого торгового робота в нем займет не более 10 строк). По заверениям разработчиков, изучить его не составит труда даже далеким от «кодинга» людям. Для более продвинутых пользователей существует возможность писать роботов на C#.
Для торговли на российском рынке трейдеры используют специальную программу-адаптер к квику (также и в WL). Адаптеры существуют как бесплатные (собственные разработки отдельных бескорыстных пользователей), так и платные. Бессрочная лицензия MC обойдется сейчас в 1497$.
S# (СтокШарп)
Это российский продукт, который, в свое время, мог стать прямым конкурентом TSLab. Однако по факту так им и не стал. Программа ориентирована уже на опытных программистов и представляет собой открытую библиотеку для создания торговых роботов на языке C#. Библиотека поддерживает работу с 28 брокерами и покрывает практически все основные финансовые рынки (российские, американские, азиатские, форекс и даже биткоины). Для Московской биржи работа может идти через Quik, Transaq, SmartCom, PlazaII (прямое подключение к бирже). Функционал достаточно серьезный и вполне подходит для решения самых сложных задач. Например, S# дает возможность провести тестирование по тиковым данным и даже по срезам биржевого «стакана» в конкретный момент времени. Многие разработчики HFT-стратегий (высокочастотные системы) пользуются данной библиотекой.
Три месяца назад для новичков команда S# запустила продукт S#.Designer , в котором пользователь может создавать торговых роботов в визуальном редакторе (по аналогии с TSLab).
Однако, судя по отзывам на форуме разработчиков, продукт еще «сырой». И в отличие от того же TSLab, где визуальному редактору уже более 5 лет, еще предстоит длительный этап поиска и отладки разного рода «багов».
Для частного инвестора продукт S# предоставляется бесплатно, для корпоративных клиентов стоимость бессрочной лицензии от 59 тыс. рублей (за коннектор) до 165 тыс. рублей (коннектор с исходным кодом). Также отметим, что техническая поддержка предоставляется разработчиками только после покупки курсов обучения, которые обойдутся еще примерно в 500$.
Выборы, выборы…
Конечно, данный обзор не покрывает даже 30% от доступного на рынке софта. Есть и другие варианты автоматизации торговых стратегий, возможно, для кого-то они покажутся более интересными. Однако представленные платформы являются наиболее популярными в сообществе алгоритмических трейдеров. У каждой есть свои сильные и слабые стороны. Существенно облегчить выбор может постановка конкретных торговых задач (как любят выражаться разработчики торговых роботов – технического задания). Например, для простых стратегий в условиях дефицита финансов, лучший вариант – тестирование на истории в бесплатном TSLab, после чего перенос кода и параметров готового скрипта в квик на qlua. Если не пугает ежемесячная абонентская плата в 2400 рублей, то можно запускать робота сразу в TSLab. Если же стоит задача построить торгового робота, к примеру, по HFT-стратегиям и анализу изменений «в стакане», то здесь оптимальное решение – это платформа S#.
Для алготрейдинга на американских биржах (особенно если речь идет о портфельных стратегиях на акциях) отличным вариантом будет Wealth-lab, но здесь уже придется неплохо раскошелиться. Также для тех, кто терпеть не может «блок-схемы» в визуальном редакторе и совсем далек от языка C#, может подойти Multicharts со встроенным языком PowerLanguage. На мой взгляд, данный язык является наиболее понятным и легким в освоении среди всех остальных.
Впрочем, не стоит забывать, что самое важное – это не уметь запрограммировать торгового робота, а разработать прибыльную торговую логику (т.е. набор правил, на базе которых будет осуществлен вход и выход из позиции). Без нее никакой софт не поможет добиться успеха на финансовом рынке