Pull to refresh

Месяцы поиска бага, которого не было. И простыми словами о высокочастотной торговле

Reading time 2 min
Views 26K
Биржевые и околобиржевые компании создают серьезный спрос на программистов, занятых совершенно разными вещами — от автоматизации бэкофиса до дата майнинга. Очень серьезные зарплаты и ответственность имеют разработчики так называемых High Frequency Trading algorithms, высокочастотных торговых алгоритмов. Написать этот пост меня сподвиг один занудный и одновременно забавный фильм (youtube, 50 минут, без перевода), в котором разработчик Хаим Бодек очень просто объясняет суть происходящего в HFT.

Поток заявок на покупку-продажу в биржевом "стакане" Бодек ассоциирует с очередью за редким товаром, которого не хватает на всех (Update: своя очередь образуется на каждой конкретной цене в стакане). Те, кто стоит в очереди первыми, имеют возможность быстро скупить весь товар дешево и начать продавать дорого остальным. Собственно все. Вся суть высокочастотной торговли в том, чтобы добраться до лакомого кусочка быстрее очереди и тут же его сбагрить тому, кто чуть не успел за тобой. Все это происходит за доли секунды, так что более медленные участники или не имеют хороших возможностей уклониться от этого, или результирующая разница в цене для них копеечная, неинтересная и не стоит суеты. Однако, изощренные программы проделывают такие трюки тысячи раз за день, так что копеечка к копеечке десятки тысяч раз накапливается и дает хорошие деньги таким ребятам, как Goldman Sachs. Фактически, весьма приближенные к инфраструктуре деятели, пользуясь своим техническим превосходством, забирают эти копеечки у прочих участников рынка. И в этом деле нужно не только нанять хороших программистов, нужно еще иметь свой сервер физически на кратчайшем проводе к биржевым серверам. Ну и дружить с биржей, получая условия лучше, чем конкуренты.

Так вот, что забавно в фильме. Хаим Бодек занимался именно этим — у него был запрограммирован собственный алгоритм HFT. Однако, Бодек делал это не в сговоре с мощным инфраструрным подразделением какой-нибудь биржи. И в один прекрасный день он обнаружил, что его ордера не срабатывают — временами он как бы первый в очереди, но тут же оказывается последним. 12 месяцев(!!!) Бодек искал баг в своем коде. Не нашел. В конце концов выяснилось, что биржа с того дня именно тому типу ордеров, которым он пользовался, выставила наименьший приоритет. Т.е. почти вся очередь мгновенно оказывалась впереди него. Только после этого Бодек пошел жаловаться в Федеральную Комиссию по Ценным Бумагам, мол как-то это все неэтично, несправедливо и вообще грабеж.

Если сообществу будет интересно, время от времени буду выкладывать истории о приключениях программистов на биржах.
Tags:
Hubs:
+67
Comments 35
Comments Comments 35

Articles