[Из песочницы] Война задержек: Почему низкая задержка так важна?

Предлагаю вниманию читателей «Хабрахабра» перевод показавшейся мне интересной статьи «Latency War» с сайта quantinsti.com.

Это какое-то безумие с задержками! Дэвид Черитон однажды сказал, что если у вас есть сетевое соединение с низкой пропускной способностью, то легко сделать несколько параллельных устройств для того, чтобы создать комбинированную связь с более высокой пропускной способностью, но если ваше сетевое соединение обладает плохой задержкой, то никакие деньги не смогут превратить любое число элементов в единую связную структуру с хорошей задержкой.

Давайте посмотрим на конкретный пример, чтобы разобраться с техническим жаргоном по задержкам. Боинг 747 может взять на борт 500 пассажиров, в то время как Boeing 737 — 150. Можно ли сказать, что 747-ой Боинг в 3 раза быстрее, чем 737-ой? Boeing 747 в 3 раза больше, чем 737, но не быстрее, так как оба летят со скоростью 500 миль в час. Задержка играет жизненно важную роль в алгоритмической торговле, где скорость является ключевым фактором при осуществлении сделки.

Приведем краткое сравнение между архитектурой традиционной и автоматизированной системы.
image
Рисунок: Архитектура традиционной торговой системы

Традиционная торговая система будет состоять из системы для считывания данных, хранилища исторических данных, инструмента для анализа исторических данных, системы для представления торговых входных данных и системы маршрутизации заявок к бирже. Биржа отправляет тик в виде данных тиковых котировок. Сервер, в основном, используется для хранения данных, он аналогичен стационарному компьютеру. Рыночные данные извлекаются с сервера на инструмент трейдера, где логика выдает команды (купить, продать, ничего не делать). Эти действия затем передаются через Менеджер Заявок на биржу. Эти действия являются последовательными. Инструмент трейдера может только обрабатывать и генерировать заявки по получении рыночных данных.

Появление прямого доступа к рынку, известного как DMA, принесло с собой радикальные изменения в архитектуре торговых систем.

image
Рисунок: Архитектура автоматизированной торговой системы

В традиционной системе поток данных идет от брокера к терминалу трейдера. Это было улучшено в автоматизированной торговой системе с помощью DMA. Он значительно сократил время доставки потока данных от биржи к торговому инструменту. Даже в автоматизированной торговой системе эти действия с потоком данных и генерацией торговых операций остаются последовательными. Задержку между торговым терминалом (наступлением события) и формированием заявки можно уменьшить, чтобы достичь большей эффективности. Это можно сделать путем уменьшения задержки до порядка миллисекунд и ниже. Управление рисками должно осуществляться в режиме реального времени без вмешательства человека.

Почему низкая задержка так важна? Чтобы ответить на этот вопрос, подумайте о торговле как о забеге. Чем выше скорость, по сравнению с вашими конкурентами, тем выше ваши шансы на победу. Целью в торговле является исполнение сделки по конкурентоспособной цене. Желательно уменьшить задержку, чтобы ваши конкуренты вас не обошли. Нужно внедрять правильную технологию для уменьшения задержки, так как системы с низкой задержкой стоят дорого. Следовательно, необходимо достичь правильного баланса между инвестициями в низкий уровень задержки и рентабельностью инвестиций в эту самую низкую задержку.

На снимке ниже показана задержка для различных стратегий.

image

Задержка может быть представлена в виде уравнения.

L = P + N + S + I + AP

Здесь Р — время прохождения сигнала отправки битов по проводу, N — обработка сетевого пакета: маршрутизация, коммутация и защита, S — время сериализации — перемещение битов по проводу (вне провода), I — время обработки прерываний: прием пакета на сервере, AP — время обработки приложения.

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

image

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

image

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

© Habrahabr.ru