yurikon
yurikon личный блог
13 сентября 2024, 14:08

AutoTrade 5. Коннекторы к брокерам и биржам

AutoTrade 5. Коннекторы к брокерам и биржам

Всем доброго дня!

Назвался груздем, пиши посты. Сегодня я расскажу про различные подключения (коннекторы) к биржевым терминалам и самим биржам, которые есть в нашей программе AutoTradePro. Вы же все равно сидите в LQDT и вам все равно, какая там ставка.

QUIK

Начнем с терминала QUIK, который как сильно любят, также сильно и ненавидят. :-) QUIK я увидел впервые в 2003 году, на заре интернет-трейдинга. Симпатичная программа, она и 20 лет назад также выглядела. Создана программистами для программистов. Не дай бог закрыть табличку с котировками, можно заново инсталлировать. Но для целей алготрейдинга квик хорош, надежен. Мой личный рекорд непрерывной работы квика без перезагрузки 9 месяцев на виртуальном сервере.

Действующий коннектор к QUIK осуществляет взаимодействие через Lua-скрипт, который обеспечивает транспорт основных данных. Из квика отдаются:

  • справочники инструментов

  • лимиты по деньгам и бумагам

  • клиентские портфели

  • позиции по фьючерсам и ограничения по счетам (информация ФОРТС)

  • таблица всех сделок (лента сделок)

  • таблица текущих параметров, котировок

  • срезы стаканов (глубина рынка).

Также через LUA передаются ордера и обратная связь на ордера, свои сделки, разрывы соединений с сервером.

Чтобы все работало как надо, следует учесть “нюансы” квика. Первый, в последних версиях квика по дефолту не поступают тиковые данные, их нужно заказывать у брокера (каждое утро). Второй, сам квик должен быть правильно настроен на прием данных, тикер может быть в фильтре и по нему не будут идти котировки. Третий, выбрать настройку Сохранять только текущее состояние, иначе к вечеру активного торгового дня квик будет занимать в памяти 10 Гб и сломает вам компьютер. Несмотря на то, что квик освобождает память при смене даты, иногда его надо перегружать, так как освобождается не все. Если квик долго грузится, то смело удаляем все файлы *.dat и *.log в папке квика. Оптимизированный квик при старте занимает 300+ Мб в памяти.

Из особенностей работы API квика замечены следующие. Коллбэки на ордера могут прийти позже, чем сделки на эти ордера. Поэтому бесхозные сделки бережно сохраняем, пока не объявится ордер-хозяин. Кроме этого, квик может прислать кучу коллбэков на один и тот же ордер. Это нормально.

Такие небольшие лайф хаки позволят долго и стабильно работать вашим квикам.

TRANSAQ CONNECTOR

В отличии от квика, которым пользуются почти все брокеры, TRANSAQ CONNECTOR предоставляет только брокер Финам, это их разработка. Огромным плюсом этой библиотеки является простота ее использования. Берем логин и пароль у брокера, подключаем к торговому или игровому серверу и погнали торговать. Не надо запускать отдельного клиента, как в случае с квиком. При первом коннекте к серверу надо будет сменить пароль.

Также есть HFT версия библиотеки, но она не поддерживала раньше единые счета (спот+фортс). Обычная версия библиотеки никуда не торопится. При пинге до сервера брокера 2 мс между посылкой ордера и ответом проходит примерно 200-300 мс. Квик на спокойном рынке укладывает в 50-100 мс.

Из плюшек коннектора — это рил тайм дата по западным акциям и фьючерсам CME. Также есть исторические данные по акциям и фьючерсам МосБиржи.

PLAZA2

Plaza2 — это нативный протокол прямого доступа на срочную секцию МосБиржи. Чтобы получить логин доступа, нужно подать заявку своему брокеру и указать разработчика. У каждого разработчика есть свой ключ, который указывается при коннекте к серверу. В этом плане я не совсем понимаю, как коннектор Plaza2 может быть опенсорсным. Логины бывают просмотровыми (только дата), транзакционными (только ордера), полными (дата+ордера) и с данными полного ордер лога.

Ваш сервер может быть за периметром коллокации биржи, но доступ обязательно идет через ВПН. ВПН и логин стоят денег. Поэтому надо понимать, нужно ли это вам. Моя рекомендация: получать данные через Plaza2, а исполнять можно и в квике ордера. Это оптимально, так как наибольшие проблемы на пиковых нагрузках возникают при получении данных от брокера через квик. В случае с потоком из Plaza2 вы получаете маркет дату наравне с серверами квиков (брокеров) и можете уже отреагировать на панику, пока в квике “паровозик дымит и не едет”.

С точки зрения ресурсов этот коннектор самый легкий. Роутер сообщений P2MQRouter.exe почти ничего не занимает в памяти (в отличии от квика :-) ). Из данных есть только лента сделок с начала торгового дня, который начинается в 19-00 предыдущего дня. Никакой истории минутных или дневных данных здесь нет. Правда есть дополнительные потоки данных, позволяющих получать маркет дату по акциям и валютам через отдельный порт подключения к роутеру.


Вот так выглядят самые топовые коннекторы к нашей бирже, поддерживаемые AutoTrade. Мы внимательно следим за новым типом коннектора к бирже Alor API и FinamTrade API. Самая вкуснятина, что эти коннекторы не имеют клиентской части, и общаются напрямую с сервером. Это калька с API крипто бирж по стандарту Open API, где используется REST API и вэбсокеты. В далеком 2018 году я был поражен, когда мы сделали первый коннектор к криптобирже Bitfinex. Скорость ордеров была выше, чем через квики. Правда был и минус. На каждом резком движении рынка это API отваливалось.


Коннектитесь, торгуйте, получайте профит!

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн