Автор:Николай Камынин

В последнее время HFT ( высокачастотный трейдинг )  овладевает массами частных инвесторов.

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

Регулярно проводимый биржей конкурс ЛЧИ ненавязчиво подталкивает трейдеров к мысли, что высокочастотный алготрейдинг – это способ быстро заработать много денег.

На самом деле HFT-это много, очень много работы без гарантии результата.

Бесконечный поиск временно прибыльного алгоритма среди огромного числа убыточных.

Я не агитирую за HFT, даже скорее наоборот, предостерегаю: если вы решили заняться разработкой HFT автомата, подумайте, есть ли у вас время и деньги, которые вы бы могли потратить на упорный труд и остаться в итоге без результата?

Никто не пытается объяснить жаждущим богатства, что стоимость входа в HFT — не для частных инвесторов, что HFT – это война больших денег.

Возникает естественно вопрос, а как быстро надо отсылать заявки на биржу и как часто совершать сделки?

Я не берусь ответить — как быстро надо,

я попытаюсь ответить – как быстро можно.

Чем же ограничена скорость совершения транзакции на бирже.

Все числовые данные, представленные мною далее, взяты из официальных источников.

Итак начнем от печки.

Транзакция – это одна операция снятия или ввода или перестановки заявки на сервере биржи.

Таким образом, чтобы купить акцию –надо послать транзакцию, чтобы продать акцию –надо послать вторую транзакцию.

Время исполнения одной транзакции состоит из суммы следующих велечин:

1)     T0 –Время обработки информации трейдером.

2)     T2 -Время обработки информации компьютером трейдера ,

3)     T3+T4 –Время передачи информации через интернет от компа трейдера на сервер брокера и обратно;

4)     T5 –время обработки очереди заявок трейдеров (клиентов) сервером брокера

5)     T6 +T7–время передачи информации от брокера до сервера биржи и обратно

6)     T8 –время обработки очереди заявок брокеров сервером биржи

7)     T9 –задержка трансляции биржевой информации сервером биржи

8)     T10 – задержка трансляции биржевой информации сервером брокера

Для начала, я провел эксперимент по определению скорости выставления заявки с использованием интернет, торгового терминала QUIK и программы на QPILE в циклическом режиме.

Получил следующие результаты:

T3=T4=35 миллисекунд; T5+T6+T7+T8= 200 миллисекунд.

Величина задержки T9 и T10 мне не известна.

Но эти величины могут иметь существенное значение.

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

Таким образом, Вы можете наблюдать информацию с биржи с запаздыванием 0.2 секунды.

Величина T0  — время реакции человека на смену информации на экране монитора.

Среднее значение этой величины составляет 0.2 секунды.

Это значит, что если Вы увлекаетесь скальпингом в стакане, то совершаете сделку в среднем не менее, чем за 500 миллисекунд.

Но вернемся к роботам.

По данным биржи ММВБ ядро сервера биржи имеет задержку в 2 миллисекунды при очереди  не более 1000 транзакций в секунду.

Если очередь больше, то задержка увеличивается и в среднем составит 6 миллисекунд.  При сильных движениях цены акций задержка на сервере может дохожить до 3 секунд.

По оценкам работников ММВБ, при невысокой нагрузке на канал ,  данные от ядра к gate (шлюзу) дойдут примерно за 5 мс, данные до шлюза клиента с идеальной инфраструктурой — за 10 мс. В сумме получаем 15 мс.

По данным биржи РТС, технология такова, что минимальное время обработки одной транзакции составляет 15 мс.

Когда РТС внедряло протокол PLAZA2, то вводилась дополнительная задержка в 500 миллисекунд, которую в дальнейшем планировалось уменьшить.

По оценкам разработчиков QUIK минимальная задержка сервера QUIK  :

Запись транзакции в базу данных, обычно у брокеров на это уходит 2 мс.

Проверка сервером на достаточность средств (претрейд-контроль) — 2 мс.

Итого 2–4 мс по пути от сервера QUIK до шлюза биржи и далее в торговую систему, которая сгенерирует ответ на транзакцию. Это опять запись в базу данных за 2 мс.

Итого сервер QUIK вносит  6 мс дополнительного времени по задержке на транзакцию.

Таким образом, в идеальном случае T8=5 миллисекунд, T5=5 миллисекунд.

Сейчас для скоростной работы можно подключиться к серверу биржи по протоколу PLAZA2 или FIX.

Согласно данным биржи скорость передача одного канал PLAZA2 составляет не более 30 транзакций в секунду, а по протоколу FIX – 10 транзакций в секунду. Переводя эти параметры во время, получим 30 миллисекунд и 100 миллисекунд соответственно.

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

Если Вы работаете через торговый терминал QUIK и брокера, то время задержки получения информации о торгах составит не менее 200 миллисекунд, время транзакции тоже составит 200 миллисекунд плюс задержка по каналам интернет.

Что соответствует результатам, полученным мною экспериментально.

Если вы купите канал и софт, то ожидаемая задержка составит примерно 30-50 миллисекунд, что составляет 30 000 -50 000 микросекунд .

Так что микросекунды даже за миллионы – это фантастика.

 

This entry was posted on Четверг, 26 января, 2012 at 08:53 and is filed under торговые роботы (МТС), Фондовый рынок. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

4 comments so far

valenock
 1 

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

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

В итоге, по цене подписки на блумберг + платформы типа CQG получаем прямой доступ на биржу и можно начинать почти без оборотного капитала.

По скоростям, у меня робот вкалывает на секундах примерно — на квике, тем более на QPile это уже предел — стабильной работы на таких скоростях не получить, на плазе вполне реально. Для запада это очен медленно, у меня сервак за 200 баксов в месяц потянет ещё 20 таких роботов. Быстрее, чем сделка в секунду мне пока не надо, но я вполне понимаю ребят, кому это надо и кто готов этим заниматься и за этом платить.

26 января, 2012 at 15:39
Kamynin
 2 

Добрый день,valenock!
Я написал это, прочитав статью в журнале D-Штрих №23 от 13 декабря 2010 года «Тысячи рублей за микросекунды скорости»,
в которой рекламно рассказывается сколько стоит услуга подключения по «быстродействующему» каналу.
В статье говорится о цене, но полностью отсутствуют какие-либо временные характеристики каналов.
Мои расчеты следующие.
У меня робот на QPILE обеспечивает скорость 0.3 секунды.
Если поставить сервер в дата центре в Москве, то получим 0.1-0.2 секунды за 50$ в месяц ,
заплатив 200 баксов в месяц и сделав робота на FIX или PLAZA2 получим реально 0.1-0.05 секунды.

26 января, 2012 at 16:31
ChupaChups
 3 

Ваш робот Николай, к HFT отношения не имеет. Думаю ему не зачем гоняться за скоростью.

28 января, 2012 at 09:36
Kamynin
 4 

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

28 января, 2012 at 21:14