Наскільки швидко сучасні торгові системи HFT?

Ви завжди чуєте про високочастотну торгівлю (HFT) і про те, як швидко алгоритми. Але мені цікаво, що зараз швидко?

Оновити

Я не замислююсь про затримку, викликану фізичною відстані між обміном і сервером, що використовує торгову програму, але затримку, яку вносить сама програма.

Щоб бути більш конкретним: який час від подій, що надходять на дроти в додатку до цієї програми, виводить замовлення/ціну на дроті? І.е. тик для торгівлі часу.

Ми говоримо півмільярда? Або субмікросекунди?

Як люди досягають цих затримок? Кодування в зборі? FPGA? Добре старий C ++ код?

Оновити

Нещодавно була опублікована цікава стаття про ACM, яка надає багато деталей у сучасній технології HFT, що є чудовим прочитанням:

Варвари на шлюзах - технології високочастотної торгівлі та обміну

43
Хммм хороше запитання! Тепер я дійсно хочу знати це!
додано Автор jycr753, джерело
"На дроті" є різновидом нечіткої кордону. Потрібен час для отримання повного пакету даних, і деяка обробка може вже розпочатися до отримання всього повідомлення. Все перекошене через різні шари системи пам'яті, ядра та програми, і люди приділяють особливу увагу цьому перекосу.
додано Автор sh1, джерело
Основна частина затримки зазвичай використовується для мережевого введення/виводу. Хороша мережева бібліотека повинна мати можливість обробляти UDP/TCP з малими однозначними мікросекундами затримки. Ось деякі тести , які ви можете перевірити.
додано Автор rdalmeida, джерело
Дякую за розуміння. Цікаво! Чи можете ви надати будь-які деталі чи приклади?
додано Автор Nicholas, джерело

9 Відповіді

Я - технічний директор невеликої компанії, що виробляє та продає системи HFT на основі FPGA. Створюючи наші системи на вершині двигуна Onlar Engine для додатків сонячного проміння (AOE), ми постійно доставляли затримку з "цікавої" ринкової події на дроті (10Gb/S UDP ринку каналів даних від ICE або CME) до першого байту що потрапляє на дріт у діапазоні від 750 до 800 наносекунд (так, субміксекунду). Ми передбачаємо, що наші наступні версії системи будуть в діапазоні від 704 до 710 наносекунд. Деякі люди стверджували дещо менше, але це в лабораторних умовах і фактично не сидить в COLO в Чикаго та не очищає замовлення.

Коментарі про фізику та "швидкість світла" є дійсними, але не актуальними. Усі, хто серйозно ставиться до HFT, мають свої сервери в COLO в кімнаті поруч із сервером обміну.

Щоб потрапити в цей суб-мікросекундний домен, ви не можете робити дуже сильно на центральному процесорі, крім команд керування стратегією подачі на FPGA, навіть за допомогою таких технологій, як обхід ядра, у вас є 1,5 мкс невідворотних накладних витрат ... так що в цьому домені все грає з FPGAs.

Один з інших відповідей дуже чесний, говорячи, що в цьому дуже закритому ринку дуже мало людей говорять про інструменти, які вони використовують, або про їхню продуктивність. Кожен з наших клієнтів вимагає, щоб ми навіть нікому не казали, що вони використовують наші інструменти та не розкривають щось про те, як вони використовують їх. Це не тільки ускладнює роботу з маркетингом, але й справді перешкоджає гарному потоку технічних знань між однолітками.

Через це потрібно потрапити в екзотичні системи для "швидкої" частини ринку, і ви побачите, що кванти (люди, які розробляють алгоритми, які ми робимо, швидко йдуть) поділяють їхні винагороди на event-to- часові шари відповіді. На самому верху технології купа - це субмікросекундні системи (як і наші). Наступним шаром є користувацькі системи C ++, які роблять важке використання обхідного ядра, і вони знаходяться в діапазоні 3-5 мікросекунд. Наступний рівень - це люди, які не можуть дозволити собі перебувати на "10Gb/S" дроті лише один маршрутизатор з "обміну", вони можуть бути ще в COLO, але через неприємну гру, яку ми називаємо "рулеткою для порту", вони знаходяться в від десятків до сотень мікросекундних доменів. Як тільки ви потрапите в мілісекунди, це майже не HFT більше.

Підбадьорює

41
додано
Якщо кабель, який з'єднує комп'ютер з комп'ютером біржі, становить 1 метр, його сигнал триватиме не менше 3,3 наносекунд, щоб досягти іншого. Це не має сенсу, коли ви говорите близько 700 наносекунд, це має сенс, коли ви говорите близько 10.
додано Автор zmbq, джерело
Брайан, ви, можливо, захочете знати, що ваша пов'язана URL-адреса, на щастя, не працює.
додано Автор user3666197, джерело
@ Меркурій-Мінерва, ви згадуєте "затримку від" цікавої "ринкової події на дроті та FPGA. Мені цікаво , чи існують байтові орієнтовані NIC-мережі Ethernet, щоб уникнути 1- латентність кадрів, що змушують типові кадри-одноразові NIC (що становить щонайменше 67 ns у 10GbE). Ви б знали?
додано Автор hmijail, джерело
"Портове рулетка" означає присвоєння порту клієнтам біржі, в середовищі, де не всі порти мають однакову дистанцію від переходу на вихідний сервер (и) та/або одне і те ж мережеве обладнання. Коли ви запитуєте новий порт, це азартна гра (частина "рулетки"), чи отримуєте ви порт із затримкою чи ні.
додано Автор David Arnold, джерело
Меркурій-Мінерва: що ви маєте на увазі під "рулею порту" тут?
додано Автор rahul.deshmukhpatil, джерело

Ви отримали дуже хороші відповіді. Проте є одна проблема - найчастіше альтотрадінг таємно. Ви просто не знаєте, як швидко це відбувається. Це відбувається в обох напрямках - деякі не можуть сказати вам, як швидко вони працюють, тому що вони не хочуть. Інші, скажімо, "перебільшують" з багатьох причин (залучення інвесторів або клієнтів за один).

Чутки про пікосекунди, наприклад, досить обурливі. 10 наносекунд та 0,1 наносекунд - це точно так само, адже час, потрібний для доступу до торгового сервера, набагато більше, ніж той.

І найголовніше, хоча це і не те, про що ви запитували, якщо ви намагаєтесь торгувати алгоритмічно, не намагайтеся бути швидше, намагайтеся бути розумнішим. Я бачив дуже хороші алгоритми, які можуть обробляти цілі секунди латентності та зробити багато грошей.

23
додано
Для 2014 року перевірте goo.gl/3fxqQU для опису меншої установки.
додано Автор TomTom, джерело
+1, хороша ідея
додано Автор Nicholas, джерело
Я прийму вашу відповідь, оскільки я думаю, що він має ключове розуміння, але нагороджує щедрості, оскільки він видав найкращу відповідь щодо опису винагороди. Дякую.
додано Автор Nicholas, джерело

"sub-40 microseconds" if you want to keep up with Nasdaq. This figure is published here http://www.nasdaqomx.com/technology/

5
додано
додано Автор bbaassssiiee, джерело
Чи можете ви надати більш конкретну посилання?
додано Автор Flavio, джерело

Good article which describes what is the state of HFT (in 2011) and gives some samples of hardware solutions which makes nanoseconds achievable: Wall Streets Need For Trading Speed: The Nanosecond Age

Змагаючись за найнижчу "латентність", продовжуючи, якийсь ринок   Учасники навіть говорять про picoseconds-trillionths a   другий.

EDIT: як Микола люб'язно згадував:

У посиланні згадується компанія Fixnetix, яка може "підготувати торгівлю" в   740нс (тобто час від події вхідного відбувається до поточного замовлення)   надіслано).

4
додано
Правильно, це найважливіший момент. Я буду редагувати відповідь і додати це, дякую
додано Автор sll, джерело
У посиланні згадується компанія Fixnetix, яка може "підготувати торгівлю" в 740н. (Тобто час від події введення до надісланого замовлення).
додано Автор Nicholas, джерело

Для чого це варте, Продукт для обміну повідомленнями FTL TIBCO є під-500 нс для пристрою (спільна пам'ять) та декількох мікро-секунд за допомогою RDMA (Remote Direct Memory Access) всередині центру обробки даних. Після цього фізика стає основною частиною рівняння.

Отже, це швидкість отримання даних від каналу до додатка, що приймає рішення.

Принаймні, одна система зажадала передачу повідомлень через інтерфейс ~ 30ns, що, ймовірно, є орієнтовним тестом, тому кожен, хто говорить про нижчі номери, використовує якийсь магічний процесор.

Коли ви перебуваєте в додатку, це лише питання про те, як швидко програма може приймати рішення.

3
додано

Кожна одна відповідь тут, принаймні, чотирнадцять років, і я думав, що я поділюся певною перспективою та досвідом з боку когось у галузі HFT/алгоритмічної торгівлі в 2018 році.

(Це не означає, що будь-який з цих відповідей є поганим, оскільки вони, безумовно, не є, однак я вважаю, що необхідно забезпечити розуміння теми, яка є більш актуальною).

Щоб безпосередньо відповісти на перше запитання: мова йде про приблизно 300 мільярдів доларів секунди (300 наносекунд) . Нагадаємо, це затримка, яку вводить програма .

Існує завжди буде певна відмінність фірма твердої щодо латентності систем, однак цифри, які я збираюся надати, є загальними значеннями для внутрішньої латентності HFT двигуна.

  1. У середньому третина цього часу (300 наносекунд) пов'язана із затримкою , представленою програмою , як ви вказали у своєму запиті.
  2. Залишок часу - це затримка, яка існує через спільне розташування та інших змінних, що стосуються обміну, відповідних двигунів, волоконної оптики тощо.

Питання полягає в як швидко високочастотних торговельних системах і про те, яка інфраструктура виглядає з точки зору відповідної апаратури. Технологія просунулася з 2014 року, однак, всупереч тому, що багато чого в літературі обговорює в цій галузі, FPGA не обов'язково підходить для великих гравців у космосі HFT . Великі компанії, такі як Intel і Nvidia допоможе цим фірмам зі своїм спеціалізованим устаткуванням, щоб вони отримали все необхідне від торговельної системи. З Intel, очевидно, система збирається будувати більше навколо процесорів і видів обчислень, які краще виконують процесори, а з Nvidia система буде більш орієнтована на GPU.

Для систем на польових програмувальних магістрах воріт (FPGAs), такі мови, як Verilog і VHDL, широко використовуються. Однак не все в збірці навіть для систем FPGA, більшість з них є високо оптимізованою C ++ з вбудованим вбудованим збором, саме тут часто відбувається швидкість. Зауважте, що це стосується фірм, що використовують всі види обладнання (FPGA, спеціалізовані системи Intel і т. Д.).

Проте це неможливо, однак, найвища відповідь тут містить щось абсолютно невірне:

10 наносекунд та 0,1 наносекунд - це точно так само, тому що час, потрібний для того, щоб досягти торговельного сервера, набагато більше.

Це абсолютно невірно, оскільки аспект спільного розміщення високочастотної торгівлі став повністю стандартизованим. Кожен настільки ж близький до відповідного двигуна, оскільки у вас є внутрішня латентність система має велике значення.

3
додано

These days single digit tick-to-trade in microseconds is the bar for competitive HFT firms. You should be able to do high single digits using only software. Then <5 usec with additional hardware.

2
додано

Відповідно до сторінки Вікіпедії з високочастотної торгівлі затримка становить мікросекунди:

Високочастотна торгівля відбулася принаймні з 1999 року, після того, як у 1998 році Комісія з цінних паперів та бірж США (SEC) уповноважила електронні біржі. На рубежі 21-го сторіччя торги HFT мали час виконання декількох секунд, тоді як до 2010 р. це зменшилося до міліа та навіть мікросекунд.

1
додано
2010 рік - це три роки тому! Це еони в цьому просторі :-) Ми можемо зараз бути в нано-другому діапазоні. Крім того, було б здорово, якщо хтось "зсередини" може виявити деякі цифри. Навіть якщо це просто старі з 2012 року :)
додано Автор Nicholas, джерело

це ніколи не буде в межах декількох мікросекунд через обмеження швидкості em-w/light, і лише щасливчиків, які повинні знаходитися на відстані одного кілометра, можуть навіть мріяти ближче до цього.

Також немає кодування, для досягнення цієї швидкості ви повинні йти фізичним ... (хлопець із статтею з перемикачем 300ns, це лише додаткова латентність цього перемикача!) Дорівнює 90 м проїзду через оптичний і трохи менше в міді)

0
додано
Ви не можете мати багато апаратного забезпечення в 10 метрах від серверів фондової біржі, тут небагато місця ...
додано Автор zmbq, джерело
Правильно, багато компаній ставлять обладнання в 10метрів від запасів не кілометрів
додано Автор sll, джерело
Спільне розміщення є новим нормальним протягом багатьох років. І FPGA запускає альготрейдерів, апаратних засобів.
додано Автор bbaassssiiee, джерело
Тут немає ніяких сумнівів у тому, що надмірна дія існує тут. Але для заробітку є реальні гроші, і я вважаю, що деякі з них виходять на крайній край, щоб досягти найнижчої латентності.
додано Автор Nicholas, джерело
добре, якщо ми граємо в цю гру, то чому б не платити, щоб встановити програму на основні вузли акцій .. або навіть додати патч до всіх ядер, відповідальних за оновлення в режимі реального часу .. Я думаю, що це трохи перегріти вже
додано Автор user2485149, джерело