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

в 19:15, , рубрики: HFT, Level2, биржа, Кванты, Маркетмейкеры, отладка, Программирование, метки: , , , ,

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

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

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

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

Автор: PMP

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js