Термин глоссария

Торговля через API

Выставление ордеров и управление ими из собственного программного обеспечения с помощью программного интерфейса брокера.

6 мин чтения

Что означает торговля через API

Торговля через API — это отправка ордеров, запрос цен и чтение данных счёта через программный интерфейс брокера (application programming interface) вместо нажатий кнопок в торговой платформе. API, то есть интерфейс прикладного программирования, — это определённый способ, которым одна программа обращается к другой. Ваше собственное программное обеспечение подключается к серверам брокера, проходит аутентификацию и затем отдаёт команды: разместить ордер, отменить ордер, получить позиции или транслировать котировки.

Им пользуются несколько групп людей. Систематические трейдеры запускают стратегии с чёткими правилами, которые сами запрограммировали. Квантитативные аналитики и студенты проверяют идеи на реальных данных. Разработчики создают собственные панели, инструменты ребалансировки портфеля или оповещения. Некоторые компании используют API, чтобы подключать к счёту системы управления рисками или журналы сделок. Использование API не делает стратегию лучше. Оно лишь меняет путь, по которому инструкции доходят до брокера.

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

Как это работает

Брокеры предоставляют API в нескольких распространённых стилях, и многие предлагают более одного.

  • REST. Ваша программа отправляет запрос по HTTPS и получает ответ. Подходит для размещения ордеров, проверки остатков и загрузки истории.
  • WebSocket, или потоковая передача. Постоянное соединение передаёт вам живые цены и обновления по ордерам без повторных запросов.
  • FIX. Протокол Financial Information eXchange — отраслевой стандарт, который используют институциональные участники и некоторые розничные брокеры; он рассчитан на низкую задержку и большой объём сообщений.
  • Библиотеки производителя. Некоторые брокеры предоставляют наборы для разработки (SDK) для таких языков, как Python, Java или C#.

Типичный порядок работы выглядит так.

  1. Создайте учётные данные API, обычно ключ и секрет либо токен, в настройках счёта.
  2. Проходите аутентификацию в каждой сессии. Многие брокеры позволяют ограничить ключ определёнными правами, например только чтением.
  3. Подпишитесь на рыночные данные и считайте текущие цены бид и аск.
  4. Запустите свою логику и отправьте сообщение с ордером: инструмент, направление, объём, тип ордера и цена.
  5. Прочитайте подтверждение или отказ и отслеживайте исполнение по обновлениям статуса ордера.
  6. Обрабатывайте ошибки, переподключения и лимиты частоты запросов.

Рабочий пример

Эти числа условные. Разработчик пишет скрипт, который каждую минуту проверяет EUR/USD и ребалансирует позицию до целевого значения в 1 стандартный лот, то есть 100 000 единиц базовой валюты.

  • Текущая позиция — 0,60 лота, значит, скрипту нужно купить 0,40 лота.
  • Он считывает цену аск, допустим 1,0852, и отправляет лимитный ордер на покупку 0,40 лота по 1,0852.
  • Брокер ограничивает ключ 60 запросами в минуту. Скрипт отправляет за цикл один запрос цены и один запрос ордера, то есть использует 2 из 60 разрешённых, оставляя запас на повторные попытки.
  • Ордер исполняется частично, на 0,25 лота. Скрипт получает обновление, фиксирует оставшиеся 0,15 лота и решает, ждать или отменять.
  • Номинальная стоимость исполненной части: 0,25 × 100 000 × 1,0852 = 27 130 USD.

Код несложен. Основные усилия уходят на неброские вещи: частичные исполнения, потерю соединения и дублирующиеся ордера.

Почему это важно

API даёт последовательность и скорость, потому что программа не колеблется и не забывает. Он позволяет проверить набор правил на исторических данных, а затем запустить его в реальной торговле с той же логикой. Он также может сократить ручные ошибки, когда вы управляете многими инструментами.

Но ответственность при этом переходит к вам. Ошибка в коде может отправить сотни ордеров за минуту. Брокеры отличаются тем, что они разрешают. Одни предоставляют API на любом счёте, другие — только на определённых типах счетов, а некоторые требуют минимального баланса или одобрения. Лимиты частоты запросов, поддерживаемые типы ордеров, плата за рыночные данные и доступные инструменты сильно различаются, а издержки вроде спредов и комиссий применяются к каждой автоматической сделке.

Как применять на практике

  • Изучите документацию для разработчиков брокера до открытия счёта. Обратите внимание на поддерживаемые языки, протоколы, типы ордеров и примеры кода.
  • Выясните, есть ли для API демо-среда или среда для бумажной торговли, и сначала используйте её.
  • Проверьте лимиты запросов, ограничения на число соединений и любую плату за данные или доступ к API.
  • Создавайте ключи с минимально необходимыми правами и храните их в менеджере секретов, а не в публичных репозиториях кода.
  • Заложите защитные механизмы. Ограничьте размер ордера, ограничьте дневной убыток, добавьте аварийный выключатель и записывайте в журнал каждое сообщение.
  • Проверьте переподключение и обработку ошибок, намеренно разорвав соединение.
  • Следите за процессом. Запускайте его на стабильном сервере и настройте оповещения о сбоях.

Типичные ошибки и заблуждения

  • Считать, что API делает вас быстрее других трейдеров. В большинстве розничных конфигураций определяющими являются задержка сети и исполнение у брокера.
  • Пропускать демо-среду. Реальные деньги — дорогой способ найти ошибку.
  • Игнорировать частичные исполнения и отказы, из-за чего ваш код считает, что есть позиция, которой на самом деле нет.
  • Жёстко прописывать секреты в коде. Утёкшие ключи использовались для размещения нежелательных ордеров.
  • Считать, что бэктест равен будущим результатам. Исторические тесты часто не учитывают проскальзывание, изменения спреда и ошибки в данных.
  • Забывать, что брокер может также изменить или вывести из эксплуатации версию API.

Риски и ограничения

Автоматизация усиливает как ошибки, так и идеи. Неисправный цикл, устаревшая лента цен или ошибка часового пояса могут быстро привести к крупным убыткам, а финансовые инструменты с плечом, такие как CFD, способны быстро терять в стоимости. Сбои у брокера или на вашем сервере могут оставить позиции без управления. Безопасность — серьёзный вопрос, поскольку украденный ключ позволяет торговать с вашего счёта. Условия обслуживания иногда ограничивают определённые виды высокочастотной активности. Ничто из изложенного здесь не является рекомендацией стратегии, а прошлые данные не предсказывают будущие результаты.

Как на это смотрит Brokeli

В наших исследованиях мы фиксируем, публикует ли брокер API, какие протоколы он поддерживает и какие условия с этим связаны, например тип счёта или минимальное пополнение. Качество документации и наличие демо-среды мы считаем практическими признаками и привязываем эти факты к опубликованному исследовательскому снимку для данного брокера и страны.

Часто задаваемые вопросы

Что такое торговля через API простыми словами?

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

Нужно ли уметь программировать, чтобы пользоваться API брокера?

Да, по меньшей мере на базовом уровне. Вам придётся самостоятельно разбираться с аутентификацией, форматами данных, ошибками и логикой ордеров. Некоторые брокеры предлагают библиотеки для популярных языков, которые это упрощают, но за тестирование и за любые ошибки в коде отвечаете вы.

Торговля через API — то же самое, что алгоритмическая торговля?

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

Доступ к API бесплатный?

По-разному. Одни брокеры включают его в любой счёт, другие требуют пополненный счёт или счёт более высокого уровня, а некоторые берут плату за рыночные данные. Торговые издержки, такие как спреды и комиссии, действуют так же, как и при ручных ордерах. Уточните это на странице для разработчиков у брокера.

Как безопасно торговать через API?

Начните с демо-среды, выдавайте ключам минимально необходимые права, задайте жёсткие лимиты на размер ордера и дневной убыток и записывайте в журнал каждое сообщение. Добавьте аварийный выключатель вручную и следите за процессом, так как ошибка в коде может быстро создать множество ордеров.

Торговля через API — Brokeli glossary · Brokeli