Всем привет!
Сегодня хочу рассказать про нашу реализацию автоследования и чем она отличается от торговли по сигналам на группе счетов.
Итак, базовый функционал
AutoTrade умеет торговать группой счетов (пулом) как одним целым. Пришел сигнал от робота — AutoTrade купил согласно задаче нужное количество акций / фьючерсов всей группе клиентов. Но бывают ситуации, когда такая архитектура не подходит трейдеру. И в качестве сигналов на сделки надо взять просто другой брокерский счет и повторять изменения по этому счету на дочерних счетах последователей.
Наша реализация
Имея доступ к мастер счету через один из коннекторов (квик, транзак и др), мы можем отслеживать изменения следующих объектов:
— заявки
— сделки
— позиции по инструментам.
Классический подход состоит в репликации позиций в терминах весов. Есть у мастер счета акций Сбера на 10% от портфеля, значит нужно всем последователям тоже установить 10% позицию по Сберу. Кому-то купить, а кому-то может и продать. Именно так (или почти так) работает самый популярный сервис автоследования на нашем рынке Comon.
Ключевые задачи такого сервиса: сделать стартовую синхронизацию портфелей, повторять сделки мастер счета и… не пробивать стакан от планки до планки, вываливая большие объемы по маркету в рынок. Именно проскальзывание является бичом автоследования, когда мастер счета плюс, а у подписчиков минус. :-(
Мы протестировали несколько вариантов, на какие события реагировать по мастер счету. Сделки — сразу нет, так как один ордер может разбиваться на несколько сделок и будет дергать модуль лишний раз. Второй кандидат, это ордера. Событие исполнение ордера. Казалось бы, получили filled ордер, посмотрели позицию по нужному тикеру и повторили ее на счетах подписчиков. Но есть «нюанс». Все данные с биржи приходят в асинхронном режиме! Например, сделка может прийти раньше, чем коллбэк по самому ордеру. Изменение позиции может прийти сколько угодно позднее, после статуса ордера Исполнен и т.д. В итоге, единственным быстрым и надежным способом без множества дополнительных проверок стало считывание просто изменение остатка по инструменту и повторение этой «дельты» на других счетах. Такой способ отлично подходит для торговли контрактами на срочном рынке.
Настройки автоследования
При разработке такого функционала главное, чтобы система не пошла в разнос и не натворила делов. (Это первое правило алготрейдинга :-) )
Для этого мы ввели несколько фильтров и настроек.
- активность самого сервиса
- коды клиентов мастер счетов, которые будут генерировать события для подписчиков
- белый список тикеров, доступных для автоследования (актуально, когда не требуется повторять весь счет автора)
Теперь осталось задать правила для исполнения сигналов с мастер счетов.
Из ключевых параметров здесь Рабочая область — это код клиента мастер счета и Кол-во — это коэффициент участия в стратегии мастер счета. Все сделки повторяются для клиентов из Группы с множителями Плечо для каждого клиента. Также можно задать алгоритм исполнения, чтобы совершить сделки последователям с минимальными комиссиями (мейкером, Book or Cancel ордера) и проскальзыванием (TWAP ордера).
Зачем мне автоследование
Варианты, как сэкономить на других сервисах, используя наш софт, я описывать не буду. Приведу очень интересную реализацию нашего модуля для трейдеров, кто торгует вручную. На виртуальном сервере работает
AutoTrade в режиме автоследования, к нему подключен мастер счет и счета последователей через те же квики. Трейдер через мобильное приложение брокера из любой точки мира совершает сделку и она повторяется у его последователей! И все это под вашим контролем!
Всем профитов и прибыльного автоследования!