Задержка: сколько она реально стоит и когда за неё стоит платить
Задержка важна ровно в той мере, в какой быстро распадается ваше преимущество. Большинство стратегий к ней не чувствительны и тратят деньги так, будто чувствительны.
Инженеры Vizanix · об авторе
- РАЗДЕЛ
- Исследование и проверка
- ОПУБЛИКОВАНО
- 2026-08-28
- ГЛАВ
- 6
- ЧИТАТЬ ДАЛЬШЕ
- 3
- ЯЗЫК
- написано на русском
Задержка — самое обсуждаемое и наименее измеряемое свойство торговой системы. Полезный вопрос никогда не звучит как «насколько быстро», он звучит как «насколько распадается преимущество за время, которое нужно, чтобы среагировать».
Куда уходит время
От события до того, как ваш ордер лёг в стакан:
| Участок | Типичный порядок величины | Что на него влияет |
|---|---|---|
| Площадка → ваш хост | Десятки мс между регионами, единицы рядом | География, сетевой маршрут |
| Разбор и обновление состояния | Десятки мкс — единицы мс | Язык, аллокации, структуры данных |
| Решение стратегии | Мкс — сотни мс | Сложность модели, блокирующие вызовы |
| Проверки риска и объём | Мкс | Никогда не должно быть узким местом |
| Сериализация, подпись, отправка | Сотни мкс | Подпись, переиспользование соединений |
| Хост → площадка и матчинг | Десятки мс между регионами | География, нагрузка площадки |
Обратите внимание, где живёт разброс. Сетевые участки велики, но стабильны; участок стратегии — тот, что иногда занимает в сто раз дольше обычного, и происходит это ровно тогда, когда на рынке что-то происходит.
Значение имеет хвост, а не среднее
Средняя задержка почти бесполезна. Поведение системы определяется её p99 — а p99 приходит именно в тот волатильный момент, когда решение стоило дороже всего.
Обычные причины плохого хвоста находятся под вашим контролем: сборка мусора, блокирующая запись в лог, блокировка, удерживаемая через операцию ввода-вывода, операция над датафреймом на горячем пути. Наш микроструктурный движок держит признаки в преаллоцированных кольцевых буферах в оперативной памяти и не использует pandas в реалтайм-цикле именно поэтому. Pandas прекрасен для исследования и аллоцирует непредсказуемо, а это другое требование.
Слиппедж — это цена задержки
Сама задержка не стоит ничего. Денег стоит движение цены между вашим решением и вашим исполнением. Это измеряется напрямую: запишите среднюю цену в момент решения, цену исполнения и разницу.
# Логируйте на каждом исполнении. Это единственная честная цифра слиппеджа.
slip_bps = (fill_price - decision_mid) / decision_mid * 10_000
if side == "sell":
slip_bps = -slip_bps
metrics.observe("slippage_bps", slip_bps,
tags={"symbol": symbol, "urgency": order_type})Собранное на нескольких тысячах исполнений, это распределение показывает, во что задержка обходится на самом деле. Сравните его с допущением в бэктесте. Если бэктест предполагал 1 базисный пункт, а реальность даёт 4, то стратегия, которую вы валидировали, — не та, что у вас работает.
Решайте по бюджету, а не по вкусу
Посчитайте скорость распада преимущества для вашего сигнала — сколько ожидаемого хода уходит за 10 мс, 100 мс, за секунду — и сравните со стоимостью улучшения. Конкретно:
- Сигналы на закрытых свечах с интервалом в минуты: сто миллисекунд — это шум. Тратиться здесь на колокацию бессмысленно.
- Дисбаланс стакана и сигналы потока: распад измеряется десятками миллисекунд. Расположение сервера начинает иметь значение.
- Маркет-мейкинг: вы непрерывно подвержены adverse selection, и задержка отмены напрямую определяет, как часто вас снимают.
- Межбиржевой арбитраж: спред, который вы ловите, существует ровно столько, сколько нужно кому-то быстрее, чтобы его забрать.
Большинство стратегий живёт в первых двух строках. Большинство трат на задержку обосновывают двумя последними.
Сначала бесплатные улучшения
- Переиспользуйте соединения. TLS-рукопожатие на каждый запрос — самая частая самонанесённая рана.
- Никогда не блокируйте цикл событий логированием, диском или API чата.
- Преаллоцируйте. Не аллоцируйте на горячем пути.
- Перенесите хост в тот же регион, что и площадка, прежде чем думать об экзотике.
- Дайте отменам приоритет над обновлением котировок в очереди запросов.
- И только потом обсуждайте более быстрое железо.
По нашему опыту первые пять возвращают больше миллисекунд, чем шестой, за долю стоимости — и, в отличие от шестого, уменьшают хвост, а не только среднее.
Проверьте чувствительность, потом решайте
Прежде чем что-то тратить, прогоните бэктест по сетке задержек. Если прибыльность ровная от 10 до 200 мс — задержка не ваша проблема, и вы только что сэкономили бюджет. Если она рушится — вы узнали, что стратегия является ставкой на инфраструктуру. Это законная ставка, но она должна быть осознанной.
Статья описывает инженерную практику. Это не инвестиционная рекомендация. Vizanix разрабатывает программное обеспечение и не обещает торговую доходность.