«Думай как человек, торгуй как зверь»: что роботы делают на бирже и кому нужен высокочастотный трейдинг
с помощью нейросети
Не спит, не ест, не требует повышения зарплаты и сам приносит деньги. Так работает биржевой бот — одна из самых востребованных утилит для финансовой торговли в XXI веке. По данным Центробанка РФ, уже сегодня около половины всех операций на Мосбирже совершаются при помощи автоматизированных программ. Доля таких сделок за рубежом достигает 80%. Мы спросили у создателя ботов для трейдинга Александра Торопова, кто и зачем занимается высокочастотным трейдингом, какой для этого нужен софт и почему в этой сфере «медленный» значит «мёртвый».
- как случаются молниеносные банкротства компаний и из-за каких ошибок
- каковы причины «падения» дата-центров
- какое отношение к высокочастотному трейдингу имеет Дональд Трамп
- в чём уникальность режима multitenancy
Если сегодня вы проводите сделку на фондовом рынке как частный инвестор, есть большая вероятность того, что вы совершите ее против алгоритмического трейдера. Более того, даже ваша заявка, скорее всего, будет исполнена алгоритмом. Например, на Московской бирже доля высокоскоростных трейдеров в объёме торгов акциями, деривативами и валютой сейчас составляет около 50%. А на американских рынках — 70−80%.
Вообще роботизированные операции начинают всё больше влиять на рынки, привлекая внимание и регуляторов, и представителей биржевой инфраструктуры. К примеру, если в 70−80-е годы средний срок владения одной акцией в США исчислялся годами, то сегодня он измеряется днями или месяцами, а для деривативов и вовсе часами.
Положительные эффекты алгоритмической торговли на рынках:
- увеличение ликвидности за счет увеличения количества участников и роста объема рыночных операций,
- выравнивание цен между рынками за счет трейдеров-арбитражеров, которые покупают там, где дешевле, и продают там, где дороже,
- рост привлекательности рынков для инвесторов за счет того, что рынок становится более доступным и ликвидным.
С помощью алгоритмов на рынках торгуют институциональные инвесторы и трейдинговые компании. Частные лица практически не используют подобные инструменты. Это очень зарегулированная область, поэтому, для того чтобы выйти на рынок, нужно соответствовать многим критериям.
Один из главных барьеров — .стоимость доступа к рынку. На самом деле, все активные участники торговли находятся чуть ли не в одном и том же дата-центре, что и биржи, а место там стоит дорого. Поэтому в основном на рынках алгоритмически торгуют именно профессиональные участники торгов, которые вкладываются в инфраструктуру и программное обеспечение.
Основная форма алгоритмической торговли — это высокочастотный трейдинг. В ней существует много алгоритмов, и именно различия в алгоритмах определяют виды торговли — market making, volatility trading, arbitrage, hidden eye и другие. Например, HFT отличается высокой скоростью совершения сделок — они проводятся буквально за микросекунды.
Во-первых, чтобы быть быстрым, нужно находиться физически близко к рынку. Серверы, на которых работает софт для алгоритмической торговли, должны иметь возможность колокации, то есть располагаться в том же дата-центре, что и серверы биржи.
Во-вторых, это, конечно же, «железо». Насколько я знаю, раньше часто использовали специализированные high performance серверы, оптимизированные под определенные задачи, но сейчас от этого отошли. Подобный подход теперь применяется только нишевыми участниками или для решения небольших подзадач, а в большинстве случаев используются стандартные серверы, например на Linux, укомплектованные современными процессорами, памятью, дисками и так далее.
То же самое касается и сверхбыстрых специализированных серверов/коммутаторов. Обычно в них возникает потребность, если это кусочек «пазла» — того, как трейдер хочет торговать на рынке, и без него сделать этого не сможет.
И, наконец, третий, самый важный момент — быстрый софт. «Железо» могут купить почти все, а вот быстрый софт — это то, что, можно сказать, отличает одних трейдеров от других. И для того, чтобы его создавать, нужно понимать, как работает «железо», операционная система, а также библиотеки и фреймворки, которые вы используете.
Мы непрерывно изменяем и улучшаем собственный код и алгоритмы, для того чтобы они стали быстрее, активно используем многопоточность и эффективные механизмы синхронизации, минимизируем переключения контекста, аккуратно работаем с потоками, тюним данные, чтобы они попадали в кеш, считаем количество аллокаций на критическом пути.
Алгоритмическая торговля на бирже: скорость, железо, производительность
Особую роль играет скорость изменения программного обеспечения под нужды рынка. Если вы не делаете ПО таким образом, чтобы конечный пользователь мог его менять под себя быстрее вас, то есть вендора, вы становитесь неконкурентоспособным. Так как пока вы сделаете это изменение у себя, протестируете и выпустите релиз, тренд превратится в данность, а ваши клиенты упустят возможность на нем заработать.
У нас работают программисты, которые общаются с трейдерами на одном языке и могут запрограммировать им любые стратегии. Есть специалисты, которые прекрасно разбираются в области финансовой математики и том, как устроены цены на рынке, а также эксперты, которые отлично ориентируются в многопоточности или, например, в специфике работы баз данных.
Каждый клиент, который использует нашу систему, не делит «железо» с другими пользователями или трейдерами. У нас нет того, что называется multitenancy, — многопользовательского режима, где для каждого клиента создается изолированное окружение. То есть если другие клиенты будут нагружать систему своими задачами, то в тот момент, когда вычислительные мощности понадобятся вам, их там может не оказаться в достаточном объеме. Поэтому мы практически не работаем с облачными решениями, а все наши инсталляции — это on-premise-инсталляции с физическим «железом».
Кроме того, мы считаем нормой, когда в обычном состоянии «железо» наших клиентов работает на 20−30%. Это необходимо как раз для того, чтобы, когда на рынке случается повышенная волатильность, у алгоритмов всегда оставались мощности для работы.
Раньше существовала очень хорошая иллюстрация. Когда бывший президент США Дональд Трамп приходил в Twitter с очередным громким заявлением, волатильность рынков увеличивалась, и мы практически в реальном времени наблюдали, как нагрузка на системы наших клиентов возрастает, но они продолжают работу без просадок в производительности. Таким образом, при нормальной ситуации наши системы работают на 20% мощности, а 20% времени — на 80% или даже на все 100%.
Сегодня все продукты, которые нацелены на торговлю на рынке, так или иначе различаются по быстродействию. То есть мы пишем софт, и он работает на хороших, мощных, но стандартных серверах. Конечно же, если кто-то создаст под себя, скажем, какие-то микросхемы или сделает свое кастомизированное «железо», мы с ними не сможем конкурировать никогда в жизни. Однако это очень дорого, и скорость к изменениям у такого решения нулевая. То есть если в какой-то момент вы захотите торговать немного по-другому, вам нужно будет всё переделывать.
Поэтому, наверное, один из трендов, который я вижу в индустрии, — это то, что пользователи хотят быть быстрыми, но ещё и быстро меняться. И баланс между скоростью физической обработки информации и скоростью изменения, на мой взгляд, определяет будущее. Потому что рынки меняются. Например, в 60-х годах торговали только акциями, и кроме них ничего не было. А сейчас существуют акции, опционы, очень популярные в последние годы ETF, свопы — сотни видов инструментов, которые рынок создает для того, чтобы в том числе решать свои задачи. Их тут же начинают использовать трейдеры, и поэтому им необходимо быстро адаптироваться к изменениям.
Кроме того, важный драйвер изменений — новые правила регуляторов рынка. Если система им не соответствует — использовать её для торговли нельзя.
Второй тренд — это консолидация. Раньше было очень много компаний, которые вели свою собственную разработку торговых систем, и много вендоров, которые предоставляли нишевые решения. Сейчас же клиенты оптимизируют стоимость и хотят иметь одного-двух вендоров, которые могут предоставлять им полный спектр услуг от софта до хостинга «железа». Думаю, что это общий технологический тренд — экосистема, — когда всё находится в одном месте и хорошо интегрировано. То же самое происходит и в нашей индустрии.