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

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

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

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

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

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 9 012 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 35

      –18
      2233 просмотра, 0 комментариев…
      Не интересно.
        +9
        Просто не все понимают, о чем конкретно идет речь.
        Мне вот интересно, автор — вам спасибо, продолжайте.
          +5
          чтож тут скажешь, жулики!
            0
            Высокочастотная торговля одна из доходнейших отраслей. Люди башляют огромные бабки, чтоб их сервера стояли рядом с серверами биржи. Пинг в 1 мс уже может многое решить.

            На Хайлоаде был интересный доклад про высокочастотную торговлю. Я сам разрабатывал кеширующий сервер для одной брокерской конторы (каждая транзакция стоит денежек, за счет кеширования информации от одинаковых транзакций, контора хорошо экономила, но время кеширования довольно мало — несколько секунд ). Там очень жесткие требования.

            Я не спец по английскому и хорошо бы послушать фильм в переводе. Спасибо автору за тему, тема близка мне и все очень интересно. Ждем продолжений.
              0
              +1 на перевод фильма!
                0
                > Высокочастотная торговля одна из доходнейших отраслей.
                вас обманули. одна из доходнейших — продавать ипотечные кредиты
              +2
              Конечно, зачем оптоволокно прокладывать — лучше с биржей договориться.
                +2
                Мне больше нравится теория — я сделаю закладку, вы заработаете ХХХХ денег, а мне УУУУ отсыпьте :)
                0
                А чем эта история закончилась?
                  +7
                  Хаим сиграл с СТО биржи в гольф поговорили о хорошей погоде и заявки Хаима резко возросли в приоритете. И так было до тех пор пока Goldman Sachs не разрешила CTO «безвозмездно» и без ограничений пользовать своим джэтом. Хаим к тому времени скопил немного денежек, но это уже другая история… Короче все как обычно :)
                    +1
                    в общем не так радужно, как в предыдущем комменте. Хаим из учредителя вернулся в наемные служащие. SEC расследует, но что-то расследование затягивается…
                      0
                      Хаим до сих упорно верит что раскрыл заговор. Заговор против него. Где все биржи и конкуренты сговорились против его компании. причем его компаия тоже была HFT. и он начерное очень обиделся, когда эти злобные биржи и другие HFT не взяли его в долю
                      +3
                      Что-то плоско мыслит пацан, если за 12 месяцев не смог понять, что дело не в нем.
                        0
                        ну очень самокритичный оказался товарищ, я тоже удивился. Он пытается это в фильме объяснить
                        +1
                        И? Пост-то о чем?
                          +2
                          Да, интересно. Пиши ещё.
                            +6
                            Трейдеры должны гореть в аду.
                              +6
                              Трейдеры
                              Банальные спекулянты.
                                0
                                Их полмира. Причем не только и не столько на валютном рынке.

                                Казалось бы зачем? Просто без спекуляций валютный рынок не имеет никаких шансов на стабильность. Сейчас влияние новостей (читай вбросов) велико, но оно не является определяющим именно из-за спекуляций. Убирая последнее получаем систему без каких- либо обратных связей.

                                Итог понятен и печален. И так на любом рынке.

                                Ситуацию могут изменить только IT (при условии их беззакладочного проектирования). Но даже при положительном результате таких изменений мир, где человек сыт, обут, одет, но ничего не решает, тоже вряд ли сильно привлекателен.

                                Короче, пусть себе спекулируют.
                                  0
                                  > Причем не только и не столько на валютном рынке.
                                  причем тут вообще валютный рынок?
                                    0
                                    И потекла неспешная беседа ;).

                                    А по сути — конечно, не при чем, я ошибся.
                                    Три года назад дело было, сейчас не вспомню, но похоже я имел ввиду в принципе спекуляции и в принципе рынок (как систему торговли, а не производства).
                                      0
                                      > и в принципе рынок (как систему торговли, а не производства).
                                      о! сэр считает что продавцы ничег он епроизводят и только рабочие на токарном станке — реально что то производят? а все кто стоит за его спиной нахлебники, рвачи и грабители?
                                        0
                                        С чего это вы взяли? До свидания. Сэр :D
                                +2
                                Почему?
                                  +2
                                  Что б там температура не падала.
                                  0
                                  и продавцы на рынке!
                                  0
                                  Уточнение — цена не пройдет мимо вашего ордера, не исполнив его… никогда. Своя очередь образуется на _каждой_ конкретной цене в стакане. И HFT роботы торгуют, грубо говоря — внутри спреда, на метаниях цены. Но на всех 'булок' не хватит — рано или поздно цена отражается и идет обратно… все это в масштабах миллисекунд и единиц пунктов, конечно…

                                  Ваш приоритет уже в _этой_ очереди определяется временем выставления заявки — именно поэтому, чем уже спред, в котором вы работаете — тем более требователен робот к скорости выставления заявок — каналу, способу подключения.
                                    0
                                    спасибо за уточнение
                                    +3
                                    Ожидал было фразу, что «после 100мс отладки автор обратился на биржу», а тут — «год»… :)
                                      0
                                      это ИМХО лучший коммент :)))
                                        0
                                        Тьфу, промахнулся, ниже ответил. Просто, и правда, для HFT год — немалый срок. И во времени, и в (пролетевших мимо) деньгах.
                                      +1
                                      Ну а что же, там такие скорости, что год — это как для обычной программы лет 100, не меньше. За 100 лет любой, кажется, код можно оттестировать либо ну очень хорошо, либо с великой ленью )

                                      С другой стороны, чем не повод в суд пойти: «оплатите мне мои труды в течении года по написанию и отладке столько тонкого софта, да еще и верните недополученную прибыль» :)))
                                        +7
                                        Это пост в ЖЖ, а не статья.
                                          0
                                          Интересно, сам этим занимаюсь
                                            0
                                            > В конце концов выяснилось, что биржа с того дня именно тому типу ордеров, которым он пользовался
                                            а каким именно типом ордера он пользовался? и в каком смысле меньший приоритет? приоритета по закону два — цена и время поступления. толкьо в таком порядке. если конечно он не делал hidden ордер.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое