Блог им. MBaum
Коллеги по цеху, считаете ли Вы важным показатель Скорости обработки ваших заявок (так называемый раунд-трип), то есть время с момента отправки вашей заявки на биржу до совершения сделки и получения обратной связи?
Наверняка многие ответят положительно, так как этот показатель весьма важен, особенно для внутридневной торговли и алготрейдинга!
Но и для инвесторов совершающих сделки более размеренно этот показатель может иметь существенное значение в случае закрытия позиций по стопу в условиях сильного движения против Вас (пример: открытие нашего рынка ГЭПом вниз в понедельник 3 марта 2014). Ведь в такой ситуации в лучшем положении окажется тот, у кого быстрее обработается стоп-заявка.
В данной статье речь пойдет о том, как улучшить раунд-трип своих заявок, используя простые бюджетные решения.
Приведу описание ряда факторов, которые могут влиять на этот показатель, а также результаты замера скорости отработки заявок на реальных счетах некоторых брокеров. Собственно изначально тестирование проводил чисто для своих практических нужд, но решил также поделиться с Вами уважаемые коллеги, полагаю тоже заинтересует!
Один из моих брокеров, где у меня открыт счет, провел обновление своих серверов и соответствующего софта и заявляет, что скорость обработки клиентских заявок на их серверах выросла в 100-200 раз!!! По их заявлениям, получается, что заявки на их серверах вообще не задерживаются и сразу летят на биржу, а скорость обработки заявок на их серверах стремится к нулю!
Мало кто сомневался, что их сервера действительно быстрые, но такие заявления воспринимаются как маркетинговый ход.
Собственно меня мало это занимало: ну работает и ладно, но любопытство все же взяло верх и как только появилось свободное время задался я вопросом как можно проверить эти амбициозные заявления брокера?
Действительно как: в святая святых – на свой сервер они никого не пустят чтоб там опыты и замеры проводить, но проверить хочется. На сервере брокера замеры сделать мы не можем, но можем замерить общую скорость обработки заявки (раунд-трип) с момента ее отправки трейдером со своего ПК до получения информации о ее исполнении. Для понимания пути, который преодолевает наша заявка по дороге к бирже приведу небольшую упрощенную иллюстрацию на рисунке выше. На рисунке обозначил примерное время прохождения каждого участка в одну сторону в миллисекундах, обратная связь о исполнении заявки идет по тому же пути то есть общее время будет еще больше.
Как видно из рисунка самый «проблемный» участок – это сервер брокера, на нем временные затраты составляют подчас более 100 мс.
Самое простое решение, которое приходит на ум – это просто подключиться непосредственно к бирже минуя сервер брокера используя прямой доступ типа PLAZAII. Но эта штука стоит несколько тысяч в месяц, да и затраты времени на прохождение через интернет сигнала остаются неизменны, так что этот вариант отпадает сам по себе. Но зачем он нужен вообще если наш брокер говорит о приближенных к нулю затратах времени на его серверах и все это доступно каждому его клиенту без дополнительной платы?!
Чтобы проверить заявления брокера необходимо сравнить общий раунд-трип через его сервера и общий раунд-трип через сервера конкурентов.
Доказательством достоверности заявлений брокера будет служить абсолютная разница по времени – более 100 мс: не смотря на то, что у «нашего» брокера задержка на серверах ноль, остальные звенья цепочки отраженной на рисунке остаются у него неизменны и разница должна составлять время, которое затрачивается серверами конкурентов на обработку заявок на их серверах, которая на мой взгляд тождественна тому показателю, который был у «нашего» брокера до апгрейда — 40-120 мс.
Для тестирования необходимы 2 вещи:
— выбрать быстрый софт, которым будем замерять раунд-трип,
— выбрать достойных (максимально быстрых) конкурентов-брокеров.
Что касается софта тут просто. Самый быстрый способ ввода заявок на биржу – скальперский привод со стаканом. Что имеем в общем доступе: QScalp, EasyScalp, LiveTradeScalping. Из всего перечисленного только EasyScalp имеет соответствующий функционал для замера раунд-трипа.
С брокерами чуть сложнее: в целях достижения наибольшей скорости привод EasyScalp необходимо подключить к серверу брокера напрямую! Любые программы-прокладки на пути привода являются обузой и отнимают время при подключении через них, типичный пример такого ущербного подключения – подключение через Quik. Несколькими брокерами давно разработаны собственные Протоколы прямого подключения стороннего ПО к свои серверам посредством так называемых API (COM)- интерфейсов. Перечень таких брокеров, подключение, к которым поддерживается приводом EasyScalp приводится на сайте привода. К сожалению их не так уж и много: ФИНАМ (TRANSAQ Connector) и ITinvest (SmartCOM) вот и собственно все. Ранее был коннектор на Алор, но ввиду его архаичности от его поддержки отказались, есть еще API-интерфейс под очень интересный терминал NetInvestor, но ввиду небольшого его распространения разработчики стороннего ПО его тоже мало поддерживают.
Придется использовать что есть, что в принципе тоже хороший вариант.
Финам в данном случае – это большой технологичный брокер, скорость работы его серверов должна быть очень высокой и пожалуй одной из лучших в своем классе. Так что его серверам в ходе тестирования предстоит защитить не только честь своей компании, но и ни много не мало – всей брокерской братии, так как у остальных показатели должны быть сопоставимы или хуже (на мой взгляд).
ITinvest– это и есть наш испытуемый брокер, который утверждает, что скорость работы его серверов 0,5 мс против 40-120 мс на предыдущей версии его торговой системы. Ссылка на информацию на его сайте: www.itinvest.ru/software/matrix
Как проводилось тестирование. В приводе EasyScalp было настроено одновременно 2 соединения (коннектора): ITinvest (SmartCOM) и Финам (TRANSAQ Connector).
Предварительно перед тестированием «пропинговал» сервера брокеров: у моего интернет-провайдера скорость составила 10-12 мс причем почти идентична на серверах обоих брокеров.
На каждом коннекторе попеременно заявками по-рынку осуществлялись сделки. Для большей объективности было сделано несколько сделок (10) по 1 контракту в каждой, открыто/закрыто по 5 позиций на инструменте фьючерс на акции Сбербанка. Протестирован и основной и резервный сервер брокеров. По ходу дела делал скрины экрана и затем перенес данные в таблицу.
№ сделки |
IT-Invest |
Финам |
||
основной |
резервный |
основной |
резервный |
|
1 |
78 |
80 |
180 |
157 |
2 |
54 |
72 |
182 |
210 |
3 |
53 |
91 |
220 |
203 |
4 |
56 |
70 |
220 |
200 |
5 |
55 |
80 |
197 |
196 |
6 |
55 |
68 |
248 |
140 |
7 |
55 |
82 |
183 |
137 |
8 |
54 |
87 |
131 |
144 |
9 |
53 |
79 |
191 |
140 |
10 |
60 |
83 |
143 |
184 |
Среднее значение: |
57 |
79 |
190 |
171 |
Результаты тестирования красноречиво говорят сами за себя. И меня весьма впечатлили: надцать лет назад, когда начитал работать внутри дня через квик и типичное время отработки заявки составляло 500 мс скорость в 50 мс мог соотнести разве что с Плазой.
Не смотря на то, что Финамовские сервера проиграли в чистую данное сражение, показав среднюю скорость более чем в 3 раза медленнее чем в ITinvest (190 / 57), тем не менее считаю показали они себя достойно, по крайней мере не каждый российский брокер даже с Финамом сможет тягаться…
Итоги. ITinvest подтвердил свои лидирующие позиции как самый быстрый брокер и свои громкие заявления по поводу скорости своих серверов: разница между раунд-трипами брокеров составила 133 мс (190-57), то есть что и требовалось доказать (разница более 100 мс, о чем писал выше).
Совершенно очевидно, почему именно этого брокера предпочитают большинство интрадейщиков и алготрейдеров. Бежим дружно на сайт Госуслуг и открываем там счета у этого брокера, если Вы этого еще не сделали!
Для тех кому интересно все попробовать самому, можете повторить мой эксперимент и сделать свои выводы, благо EasyScalp можно скачать бесплатно на 14 дней и поюзать от души (это НЕ реклама: в своей торговле использую другой терминал). Собственно цифровая информация по раунд-трипам отражается в нем в правом нижнем углу рядом со стаканом.
P.s. незначительно улучшить скорость отработки заявок можно путем небольшой оптимизации на клиентской стороне:
— пропинговав сервера брокера, выбрать самый «отзывчивый» и при необходимости поменять интернет-провайдера,
— не использовать морально устаревшие роутеры – они могут вносить заметную задержку, тоже относится и к морально устаревшим ПК: если ПК старый, не запускать на нем лишних приложений во время торговли,
— ну и наконец самое главное, то что вдохновит многих к действию: НЕ использовать QUIK!
кроме того надо понимать что плаза — это только фьючи, а если надо быстро торговать акции то придется брать еще и спектру
Никого в свою веру обращать не собирался, просто поделился результатами...
Мои реплики по поводу сайта Госуслуг и последняя по поводу Квика — это на 99 % стёб и юмореска, но при этом никого обидеть не хотел. Знаю по опыту, что люди у нас в этой сфере, как правило, очень консервативны и не готовы пробовать что-то новое. Нельзя скажем человеку Форекса зашедшему на огонек узнать условия твоей конторы лепить в лоб, что Форекс-это лохотрон, а многие форексные брокеры — мошенники, так клиента потеряешь!
Так и с Квиком: если 10-летиями все подряд укладывают в сознание человека мысль о том, что квик это самое лучшее решение на рынке и потому самый популярный, Нельзя лепить ему в лоб обратное.
Соответственно если бы мне хотелось обратить кого то в свою веру, я бы действовал более элегантно!
Да и к слову сказать, я не являюсь сторонником 1-го брокера, не собираюсь отказываться ни от Открытия ни от Финама, ни от других более мелких, в каждом есть для меня что-то лучшее (то что я использую), но если говорить про интрадей, то лучшим предложением на рынке считаю IT, поэтому данный вид торговли веду через них!
Тимофей Мартынов, если ты не хфт, то миллисекунды большого значения не имеют, стратегия в мильярд раз важнее. Не говоря уже о разных других операционно-брокерских рисках.
А если ты хфт то ты уже и так давно что тебе надо и интересно знаешь ))
по свечам на графике задержка не менее 250 мсек.
а заявки, мой робот например мне пишет что заявка отправлена
17: хх:11.920
а в квике стоит что выставлена
17: хх:11.941
соответственно раундтрип (хотя это только половина его) 21 миллисекунда. вполне себе норм я щитаю.
другое дело что у открытия сегодня даже их хвалёный сервер №4 отрубался не менее двух раз (или трёх?)
и да. робот подключен через квик.
PS: считаю в посте слишком много натяжек — протестировали двух брокеров и заявили что один из них _самый_ крутой (из всех? из двух?). с фига ли не использовать квик, если у вас задержки 250 мсек на заявку? ORLY? пфффф…
PS2: на открытии сессии (когда лаг больше)
отправлена
10:01: хх.326
выставлена по квик
10:01: хх.367
итого 41 миллисекунда
ещё одна
отправлена
10:00: хх.599
выставлена
10:00: хх.667
т.е. 68 мсек на самом открытии, в пике.
время немного похачил в целях конспирации :)
PS3: хотя пожалуй, главное что можно вынести из поста — лучше всё-таки уменьшать пинг до брокеровских серверов
мой брокер к сожалению пинговать свои сервера не даёт — экономит трафик. подозреваю что пинг в районе 2-3 мсек, по сравнению с 12 у автора.
я так же отмечаю и время ответа квика на регистрацию заявки, но эту информацию я только в консоли вывожу сейчас. когда-то я её оценивал тоже, сейчас не помю точно (консоль перетирается быстро). надо будет сделать отправку времени регистрации в журнал робота тоже.
а почему такой рассинхрон? я подробно тему не исследовал, остановился на том что визуально подобрал ntp сервер с близким к квиковому временем. биржа как реальность мне доступна только через брокера/квик.
с биржей по идее можно подсинхриться адекватно, если висеть на потоке всех сделок и ставить локальное время по последней пришедшей сделке, например, раз в полчаса.
Просто IT позиционирует себя как брокер для профессионалов и людей, кто думает и принимает решения своей головой, а не под давлением менеджера по продажам.
То что вам не перезвонили еще раз повторно, это скорее всего сознательный бизнес-процесс реализованный в компании, направленный на то, чтобы не доставать людей агрессивными звонками, иначе эффект может быть обратный.
Так например, я знаю многих людей которые вообще не берут трубки когда им звонят брокеры, банки, страховщики с целью навязать и Продать что-то. Более того есть те, для кого подобное Агрессивное поведение к клиенту, выражающее в намерении продать вам услугу любой ценой под девизом Волка с уолл-стрит «Купи или сдохни» будет являться Решающим фактором, чтобы не иметь с такой «продажной» конторой ничего общего!
из данного видео квик и smartcom примерно в одной категории… где квик отстаёт, где смарт
В вашем тесте нет равных боевых условий для проверки именно сервера. У вас участвуют в цепи посторонние звенья — это коннекторы. Которые реализованы совершенно по разному и разными людьми. Кто как их оптимизировал не понятно, тем более у Финама все сделано через xml, а это очень долго.
Вы сделайте все в квике. Там хоть софт будет у всех одинаковый. Тогда можно будет полагать, что в такие моменты пройдет проверка сервера.
Я бы на lua для этого написал скрипт, который будет долбить системное время и в hh:mm:01.000000 например отправлять заявку по обоим брокерам.
Если биржевое время заявок разных брокеров будет лежать в пределах 1-2млсек, то они примерно равны.
Просто во-первых целью теста была исключительно личная потребность проверить утверждение брокера;
во-вторых Квик не использую уже лет 5 наверное, EasyScalp года 3-4, как почитал инструкцию по подключению привода к квику: все желание пропало — пока настроишь руки переломаешь и лоб расшибешь, если кто-то вынужден на этой связке до сих пор работать, ребят мне вас по человечески жаль,
ну и Третье самое главное, как отделить тест коннектора от теста сервера? Разных Квиковских брокеров между собой конечно сравнить можно, а как быть с ITinvest? Там конечно с недавних пор тоже Квик появился, но его нельзя использовать параллельно системе Matrix, только одно из двух, а перейдя на квик в ай-ти уже никто ни о каких скоростных показателях не заявляет, то есть цель самого теста исчезает… Если тестить Квик в том же Финаме, там сервера на квике и на основной системе Транзак разные, тоже масло-масляное выходит...?
В 21 веке кормить клиентов этим блюдом — это беспредел!
Поделюсь эпизодом: был парнишка знакомый к трейдингу отношения никакого не имел, но как-то поинтересовался у меня с чего начать — может интересно будет. Бегло в течение часа загрузил я в его мозг основы (типы графиков, заявок, лонги шорты, инструменты плечи и тд), интернет-ссылки дал на бесплатное обучение и материалы, потом посоветовал демо открыть на квик, с таким расчетом что эта фича у всех есть, так что не придется изучать по-новой независимо от того у кого счет реальный будет открывать...
Через неделю спрашиваю что да как? «Да я говорит дня 3 пытался его изучить, да так и бросил это дело, мол эта камасутра не для начинающих!»
Ну что думаю, если проблема освоить квик, давай попробуем демку терминала SmartX от ITinvest загрузить: загрузили, запустили, жду стою около него когда помощь потребуется, а он сам щелк-щелк полетел побежал, графики заявки стаканы...
Что спрашиваю помощь не нужна?
Да говорит здесь и так все понятно, «руки сами тянутся» — говорит как на Фольцвагене — все продумано и находится на своих местах!
С тех пор про квик вообще молчу…