amBrain
FinTechMar 14, 202612 мин чтения

Почему важны миллисекунды: простое руководство по задержкам в торговых платформах

ЗадержкаТрейдингВысокая производительностьВремя откликаФинансовые рынки
Ошибка загрузки изображения

Вы нажимаете «Купить». Ожидаете, что сделка пройдёт. Но между кликом и фактическим исполнением происходит многое — и это время может стоить реальных денег. Разбираем, что такое задержка на самом деле, где она прячется и почему она значит гораздо больше, чем принято думать.

На задержку редко обращают внимание, пока она не начинает стоить денег. Трейдер нажимает «купить» или «продать», ордер исполняется, экран обновляется. Процесс кажется мгновенным.

Затем выходит новость. Цена прыгает. Исполнение возвращается на 3 пункта хуже ожидаемого. Стакан заявок замирает на полсекунды. Этот разрыв между действием и результатом и есть задержка — и он проявляется ровно тогда, когда рынок требует от платформы максимума.

Что значит задержка в трейдинге

Задержка — это время между действием трейдера и ответом платформы. На практике она складывается из трёх этапов:

  • Заявка уходит с устройства трейдера и доходит до платформы
  • Платформа проверяет её, маршрутизирует и отправляет на биржу
  • Подтверждение исполнения возвращается на экран трейдера

Когда время отклика низкое и стабильное, процесс незаметен. Когда нет — результат: проскальзывание, реквоты и пользовательский опыт, который подрывает доверие к платформе.

Ошибка загрузки изображения
Каждый элемент торгового экрана зависит от доставки данных с низкой задержкой

Жизненный цикл ордера: семь шагов, где прячется задержка

Одна сделка проходит больше этапов, чем представляет себе большинство трейдеров:

  • Ордер покидает устройство — браузер, мобильное приложение или десктопный терминал
  • Она доходит до серверов брокера или платформы через интернет-соединение
  • Выполняются предторговые проверки: баланс, риск-лимиты, валидация типа ордера
  • Платформа передаёт ордер на биржу или поставщику ликвидности
  • Площадка сводит ордер с доступной ликвидностью
  • Возвращается ответ об исполнении — исполнен, частично исполнен или отклонён
  • Экран обновляется: позиции, P&L, графики, статус ордеров

Каждый шаг добавляет 5-20ms. В хорошо построенной системе сумма остаётся ниже порога, который заметил бы трейдер. В плохо построенной эти миллисекунды накапливаются — всегда именно в тех рыночных условиях, когда скорость важнее всего.

Пять слоёв, где накапливается задержка

Чаще всего винят скорость сети, но это лишь один слой. Задержка накапливается по всему стеку исполнения:

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

По нашему опыту, плохая задержка редко бывает одним узким местом на 300 мс. Это четыре-пять задержек по 30-50 мс, которые складываются. Они проявляются только при всплесках объёма данных - ровно тогда, когда трейдерам нужна скорость.

Почему быстрые рынки обнажают плохую задержку

На спокойных рынках лишние 100ms безобидны. Спреды узкие, поток ровный, и никто ничего не замечает.

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

  • Актив торгуется по цене 100,00
  • Выходит новость, и цена за две секунды уходит на 105.00
  • Платформа отстаёт на 150-200 мс
  • Ордер доходит до площадки по 103 или 104
  • Трейдер получает исполнение на 2-3 пункта хуже, чем показывал экран
Ошибка загрузки изображения
Когда цены двигаются так быстро, разница между 50ms и 200ms — это реальные деньги

С плечом это проскальзывание умножается. Для высокочастотных стратегий с тонкой маржой 2-3 пункта неблагоприятного исполнения полностью съедают преимущество.

Институциональные дески, проводящие крупные блоки, несут реальные издержки исполнения из-за повышенной задержки на быстрых рынках.

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

Целевые задержки по профилю трейдера

Допустимый диапазон зависит от участника. Общее требование — стабильность, а не голая скорость:

  • Портфельные управляющие — в повседневном режиме терпимы к более высоким временам отклика. Но мобильное приложение не должно зависать на новостном событии. Устойчивость при скачках цен — базовое требование.
  • Дей-трейдеры — нужен отклик в пределах первых десятков миллисекунд на всём пути заявки. Задержку меряют от клика до исполнения, а не только по сетевому round-trip. Решает стабильность на активных сессиях.
  • Профессиональные дески и алгостратегии — работают на микросекундной границе. Любая задержка отражается в P&L. Такие команды непрерывно замеряют latency и уведут поток в другое место, если исполнение просядет на 20 мс.

Цель — не нулевая задержка, а низкое и стабильное исполнение под нагрузкой. Высокая производительность означает, что p99 близок к p50 — даже в худшие дни.

Видимая задержка и скрытая задержка

Что видит трейдер:

  • Обновления стакана, которые пропускаются или зависают
  • Графики обновляются с опозданием при быстрых движениях
  • Отставание отображения P&L и позиций

Что работает за кулисами:

  • Ордера висят в ожидании дольше, чем должны
  • Исполнения приходят по ценам, которых трейдер не видел
  • Стоп-лоссы и тейк-профиты срабатывают с опозданием

Плавный интерфейс при медленном движке исполнения всё равно подводит трейдера. Быстрый бэкенд в паре с медленным фронтендом - тоже. Работать должны обе стороны.

Шесть проверенных способов снизить задержку

Эти подходы дают измеримый выигрыш на всех платформах, которые мы построили:

  • Колокация — размещайте серверы в дата-центрах рядом с биржей. Оптоволокно задаёт жёсткий физический предел скорости. Сокращение расстояния — самое результативное отдельное изменение.
  • Системные языки на горячем пути — используйте Rust или C++ для маршрутизации ордеров, риск-проверок и рыночных данных. Языки более высокого уровня оставьте для админ-инструментов и отчётности.
  • Разделяйте быстрые и медленные пути — заявки и потоки реального времени не должны конкурировать за CPU и память с аналитикой, батчами и отчётностью.
  • Считайте заранее и кешируйте — держите часто запрашиваемые данные в памяти. Задайте чёткие правила обновления. Не пересчитывайте то, что можно подготовить заранее.
  • Событийные пайплайны — замените блокирующие цепочки асинхронной обработкой. Синхронные вызовы — самый частый и самый легко устранимый источник накопленной задержки.
  • Сквозной мониторинг — отслеживайте каждый этап от клика «купить» или «продать» через риск, маршрутизацию и исполнение. Без измерения задержки по всему пути оптимизация превращается в гадание.
Ошибка загрузки изображения
Физически приблизиться к биржам — одно из самых результативных решений для платформы

Команды, которые относятся к задержке как к продуктовой характеристике — измеряют, закладывают бюджет и тестируют перед каждым релизом, — стабильно опережают тех, кто берётся за неё после жалоб.

Пять вопросов, которые вскрывают приоритеты по задержкам

Задайте эти вопросы, когда оцениваете или строите платформу:

  • Измеряете ли вы задержку end-to-end — от клика пользователя до площадки и обратно?
  • Что будет с вашими показателями, когда трафик вырастет вдвое или втрое?
  • Как ваши риск-проверки остаются быстрыми и не срезают углы в комплаенсе?
  • Что вы будете делать с рыночными данными, когда частота обновлений подскакивает при резких движениях цен?
  • Как интерфейс остаётся отзывчивым, когда бэкенд под нагрузкой?

Конкретные цифры и честные компромиссы — хороший знак. Расплывчатые отсылки к облачной инфраструктуре — нет.

Задержка и доверие клиентов

Задержка - метрика доверия, а не метрика бэкенда.

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

Для брокеров и операторов это проявляется так:

  • Снижение торгового объёма из-за осторожности клиентов
  • Рост оттока среди раздражённых трейдеров
  • Репутационный ущерб в трейдерских сообществах
  • Разработка продукта замедляется, когда фундамент ненадёжен

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

Инфраструктура, стоящая за скоростью исполнения

Большая часть задержки возникает в слоях, которых трейдеры никогда не видят. Интернет-соединение с биржей — лишь одна переменная. Дата-центры, связанные оптоволокном, передают данные за микросекунды. Узкое место обычно в другом.

Когда объём данных резко растёт на быстром рынке, под давлением оказываются даже хорошо построенные системы.

Замеры задержки на всём пути — от клика «купить» или «продать» через риск-проверки и маршрутизацию до исполнения — показывают, что время отклика зависит от времени, проведённого в комплаенсе, расстояния до матчинг-движка и того, как платформа параллельно обрабатывает разные классы активов.

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

Итог

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

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

На столе похожая архитектура?

Принесите текущую архитектуру и тот сценарий отказа, который вас беспокоит, — разберём его вместе за полчаса.