Самий Швидкий брокер? (Тест швидкості серверів брокерів)
Колеги по цеху, чи вважаєте Ви важливим показник Швидкості обробки ваших заявок (так званий раунд-тріп), тобто час з моменту відправки вашої заявки на біржу до укладання угоди і отримання зворотного зв'язку?
Напевно багато хто відповість позитивно, так як цей показник дуже важливий, особливо для внутрішньоденної торгівлі і алготрейдінга!
У даній статті мова піде про те, як поліпшити раунд-тріп своїх заявок, використовуючи прості бюджетні рішення.
Наведу опис ряду факторів, які можуть впливати на цей показник, а також результати виміру швидкості відпрацювання заявок на реальних рахунках деяких брокерів. Власне спочатку тестування проводив чисто для своїх практичних потреб, але вирішив також поділитися з Вами шановні колеги, вважаю теж зацікавить!
Один з моїх брокерів, де у мене відкритий рахунок, провів оновлення своїх серверів і відповідного софта і заявляє, що швидкість обробки клієнтських заявок на їх серверах виросла в 100-200 разів. За їхніми заявами, виходить, що заявки на їх серверах взагалі не затримуються і відразу летять на біржу, а швидкість обробки заявок на їх серверах прагне до нуля!
Мало хто сумнівався, що їх сервера дійсно швидкі, але такі заяви сприймаються як маркетинговий хід.
Власне мене мало це займало: ну працює і добре, але цікавість все ж взяло верх і як тільки з'явився вільний час задався я питанням як можна перевірити ці амбітні заяви брокера?
Дійсно як: в святая святих - на свій сервер вони нікого не пустять щоб там досліди і виміри проводити, але перевірити хочеться. На сервері брокера виміри зробити ми не можемо, але можемо заміряти загальну швидкість обробки заявки (раунд-тріп) з моменту її відправки трейдером зі свого ПК до отримання інформації про її виконанні. Для розуміння шляху, який долає наша заявка по дорозі до біржі приведу невелику спрощену ілюстрацію на малюнку вище. На малюнку позначив приблизний час проходження кожної ділянки в одну сторону в мілісекундах, зворотний зв'язок про виконання заявки йде тим самим шляхом тобто загальний час буде ще більше.
Як видно з малюнка самий «проблемний» ділянку - це сервер брокера, на ньому тимчасові витрати становлять часом більше 100 мс.
Найпростіше рішення, яке приходить на розум - це просто підключитися безпосередньо до біржі минаючи сервер брокера використовуючи прямий доступ типу PLAZAII. Але ця штука коштує кілька тисяч на місяць, та й витрати часу на проходження через інтернет сигналу залишаються незмінні, так що цей варіант відпадає сам по собі. Але навіщо він потрібен взагалі якщо наш брокер говорить про наближених до нуля витратах часу на його серверах і все це доступно кожному його клієнту без додаткової плати ?!
Щоб перевірити заяви брокера необхідно порівняти загальний раунд-тріп через його сервера і загальний раунд-тріп через сервера конкурентів.
Доказом достовірності заяв брокера буде служити абсолютна різниця за часом - більше 100 мс. не дивлячись на те, що у «нашого» брокера затримка на серверах нуль, інші ланки ланцюжка відображеної на малюнку залишаються у нього незмінні і різниця повинна складати час, який витрачається серверами конкурентів на обробку заявок на їх серверах, яка на мій погляд тотожна тому показнику , який був у «нашого» брокера до апгрейда - 40-120 мс.
Для тестування необхідні 2 речі:
- вибрати швидкий софт, яким будемо заміряти раунд-тріп,
- вибрати гідних (максимально швидких) конкурентів-брокерів.
Що стосується софта тут просто. Найшвидший спосіб введення заявок на біржу - скальперскій привід зі склянкою. Що маємо в загальному доступі: QScalp, EasyScalp, LiveTradeScalping. З усього перерахованого тільки EasyScalp має відповідний функціонал для виміру раунд-тріп.
З брокерами трохи складніше: в цілях досягнення максимальної швидкості привід EasyScalp необхідно підключити до сервера брокера безпосередньо! Будь-які програми-прокладки на шляху приводу є тягарем і забирають час при підключенні через них, типовий приклад такого збиткового підключення - підключення через Quik. Кількома брокерами давно розроблені власні Протоколи прямого підключення стороннього ПО до свої серверів за допомогою так званих API (COM) - інтерфейсів. Перелік таких брокерів, підключення, до яких підтримується приводом EasyScalp наводиться на сайті приводу. На жаль їх не так вже й багато: ФІНАМ (TRANSAQ Connector) і ITinvest (SmartCOM) ось і власне все. Раніше був коннектор на Алор, але з огляду на його архаїчності від його підтримки відмовилися, є ще API-інтерфейс під дуже цікавий термінал NetInvestor, але з огляду на невелику його поширення розробники стороннього ПО його теж мало підтримують.
Доведеться використовувати що є, що в принципі теж хороший варіант.
Фінам в даному випадку - це великий технологічний брокер, швидкість роботи його серверів повинна бути дуже високою і мабуть однією з кращих у своєму класі. Так що його серверів в ході тестування належить захистити не тільки честь своєї компанії, але і ні багато не мало - всього брокерської братії, так як у інших показники повинні бути порівнянні або гірше (на мій погляд).
Як проводилося тестування. У приводі EasyScalp було налаштоване одночасно 2 з'єднання (коннектора): ITinvest (SmartCOM) і Фінам (TRANSAQ Connector).
Попередньо перед тестуванням «пропінгувати» сервера брокерів: у мого інтернет-провайдера швидкість склала 10-12 мс причому майже ідентична на серверах обох брокерів.
На кожному коннекторе поперемінно заявками по-ринку здійснювалися операції. Для більшої об'єктивності було зроблено декілька операцій (10) по 1 контрактом в кожній, відкрито / закрито по 5 позицій на інструменті ф'ючерс на акції Ощадбанку. Протестований і основний і резервний сервер брокерів. По ходу справи робив скріни екрану і потім переніс дані в таблицю.
Результати тестування красномовно говорять самі за себе. І мене дуже вразили: надцять років тому, коли начитав працювати всередині дня через квік і типове час відпрацювання заявки становило 500 мс швидкість в 50 мс міг співвіднести хіба що з Плаза.
Не дивлячись на те, що Фінамовскіе сервера програли в чисту дане бій, показавши середню швидкість більш ніж в 3 рази повільніше ніж в ITinvest (190/57), тим не менш вважаю показали вони себе гідно, по крайней мере не кожен російський брокер навіть з Фінамом зможе змагатися ...
Підсумки. ITinvest підтвердив свої лідируючі позиції як найшвидший брокер і свої гучні заяви з приводу швидкості своїх серверів: різниця між раунд-тріп брокерів становила 133 мс (190-57), тобто що й треба було довести (різниця більше 100 мс, про що писав вище ).
Цілком очевидно, чому саме цього брокера воліють більшість інтрадейщіков і алготрейдеров. Біжимо дружно на сайт держпослуг і відкриваємо там рахунки у цього брокера, якщо Ви цього ще не зробили!
P.s. незначно поліпшити швидкість відпрацювання заявок можна шляхом невеликої оптимізації на клієнтській стороні:
- пропінгувати сервера брокера, вибрати самий «чуйний» і при необхідності поміняти інтернет-провайдера,
- не використовувати морально застарілі роутери - вони можуть вносити помітну затримку, теж відноситься і до морально застарілим ПК: якщо ПК старий, не запускати на ньому зайвих додатків під час торгівлі,
- ну і нарешті найголовніше, те що надихне багатьох до дії: НЕ використовувати QUIK!