Глава 13. Торговые роботы и высокочастотный трейдинг
Глава 13. Торговые роботы и высокочастотный трейдинг
Моя очередная версия торгового робота сливала депозит за депозитом. Я видел логику и выстраивал алгоритмы на основе скользящих средних, RSI, объёмов, но рынок жил своей жизнью. В отчаянии я снова стукнулся к Сойеру.
— Ты мыслишь как розничный трейдер, — сказал он как-то раз, когда я в очередной раз пожаловался на ложный пробой. — Ты смотришь на свечи, которые уже стали историей. Настоящая игра ведётся в стакане. Смотри.
Он прислал мне запись стакана заявок за один день и я увидел это. Там были настоящие танцы призраков.
— Видишь эти крупные заявки на покупку на уровне сто пятьдесят? — его голос в наушниках был спокоен. — Их нет. Это «стены» — фантомные ордера, которые выставляются, чтобы создать иллюзию поддержки. Крупный игрок хочет продать, поэтому он пугает мелких рыбок ложным сопротивлением, заставляя их выставлять свои ордера ниже, а потом сметает их одной продажей. Это спуфинг или игра в кошки-мышки с рыночной глубиной.
Мой мир только что перевернулся. Я понял, что всё, чем я занимался до этого, было детским лепетом. Вместо того чтобы предсказывать рынок, нужно было его создавать и дирижировать им. Я тут же переписал своего торгового робота с нуля. Теперь его главной задачей был не анализ истории, а чтение стакана в реальном времени и попытка предугадать намерения крупных игроков. Я научил его видеть эти «стены» и пытаться ставить свои ордера на долю секунды раньше, когда крупный игрок только начинал свою игру, но этого оказалось мало. Даже самый совершенный алгоритм был беспомощен, когда дело доходило до скорости.
— У тебя латентность как у спящего удава, — безжалостно констатировал Сойер, глядя на логи моих сделок. — Пока твой ордер ползёт до биржи через твоего розничного брокера, высокочастотные роботы успевают сделать десять тысяч операций. Ты всегда будешь в хвосте.
— Что делать? — в голосе моём слышалась уже не злость, а усталая покорности перед лицом очевидного.
— Нужен прямой низколатентный доступ к биржевым серверам. Надо разместить наш сервер в одном дата-центре с биржей и нужна координированная работа. Один робот — это одинокий солдат. Десять роботов, работающих синхронно по одному алгоритму — это уже армия, способная создавать микротренды и на них зарабатывать.
Мы оба замолчали, обдумывая масштаб работы. Нужен был не только совершенный код, но и настоящая инфраструктура. Война требовала не только талантливых командиров, но и первоклассного вооружения.
— У меня есть связи, — медленно произнёс Сойер. — Я могу решить вопрос с колированием в Чикаго для начала, через подставную фирму. И надо найти ещё несколько крупных игроков, которым мы сможем доверять.
Я посмотрел на своего торгового робота на экране и улыбнулся.
— Давай сделаем это!
В ту ночь я смотрел на мерцающие свечи на графике и видел уже не случайные колебания, а поле битвы. Нам предстояло хакнуть этот мир!
***
На следующий день я решил поговорить с Периметром, чтобы привлечь его в наш с Сойером проект.
— Привет, мы с Сойером разработали софт для высокочастотной торговли. Нам нужна поддержка и команда для серьёзных дел в крипте. Ты как?
— Ага, дикий запад, — ответил Периметр. — Идея огонь! Можно стать легендой, которую все боятся, но никто не видел.
— Именно, — радостно ответил я.
— Добро! — пришёл короткий ответ от Периметра.
— Пока у нас на примете две цели. Первая биткоин на BitMEX, а вторая эфир на Kraken. Мы хотим создать каскад заявок и не просто сдвинуть цену, а серьёзно её обвалить, чтобы хорошо на этом заработать.
— Очень амбициозно и красиво. — включился Периметр. — BitMEX со своим механизмом ликвидаций… это готовая пороховая бочка, а Kraken… их система иногда задумывается при экстремальной нагрузке. С огромным удовольствием помогу. Это даже не работа, а настоящее искусство!
— Нам нужен человек, который может создать для нас «ключ». Нужен алгоритм, который сможет координировать усилия и создать несколько сотен симулякров в виде ложных кошельков и торговых аккаунтов, чтобы рассеять след.
— Если надо, подключу ещё людей. — ответил Периметр. — Я создам для вас «Гидру». Одна голова атакует BitMEX, вторая Kraken, а третья… третья будет отвлекать, создавая информационный шум в крипто-чатах и социальных сетях. Слухи о взломе, о проблемах с сетью… Маленькие искры для большого пожара.
Мы арендовали сервера в нескольких разных юрисдикциях и запустили там свой софт.
— Гидра развёрнута. Все головы активны. Симулякры готовы. Жду команды, — отрапортовал Периметр.
— Начинаем, — скомандовал я.
Информационная волна пошла. В заранее созданных Телеграм каналах и анонимных аккаунтах в социальных сетях появились сообщения о «критической уязвимости» в сети Ethereum. Никаких доказательств не было. Только шёпот. В криптомире этого достаточно.
— Вижу первую реакцию. Мелкие рыбы начинают паниковать, — доложил Сойер.
— Запускаем первую голову Гидры на BitMEX.
Периметр создал не просто торгового робота, а настоящее произведение инженерного искусства. Алгоритм не только выставлял ордера, но и имитировал поведение тысяч паникующих розничных трейдеров. Шли небольшие каскадные продажи, учащающиеся с каждым моментом. Это создавало отличный фон для паники.
После этого мы запустили наш Молот. Так мы с Сойером назвали нашего усовершенствованного бота, который инициировал каскадный обвал. На BitMEX, где жадные трейдеры использовали огромные плечи, наш Молот сработал как атомная бомба. Он выставлял серию ордеров на продажу, которые на несколько секунд поглощали всю видимую ликвидность на пять процентов ниже текущей цены и… цена проваливалась. Срабатывали первые ликвидации длинных позиций, а их принудительная продажа толкала цену ещё ниже. Каскад заявок был запущен и график превратился в водопад. Это было великолепно!
— Переключаемся на Kraken, — скомандовал я.
Пока BitMEX очухивался от обвала, Гидра перенесла всю свою мощь на Kraken. Там была применена та же тактика, но более жёстко. Мы знали, что у Kraken есть одна маленькая уязвимость. При экстремальной нагрузке, их движок иногда на секунду зависал, не обновляя стакан. В момент пиковой нагрузки мы обрушили на стакан лавину ордеров на продажу. Тысячи симулякров, координируемых Периметром, запустили лавину. Система Kraken не выдержала и стакан замер на несколько секунд. Когда он обновился, то цена была уже на пятьдесят процентов ниже. Да, мы только что обвалили эфир на пятьдесят процентов. Мы сделали это!
— Мы сделали это, бро, — сообщил радостным голосом Сойер. — Завтра я тебе переведу твою долю. Я сейчас в баре, отмечаю! Уааааа!
— Я представил бар и толпу радостных людей, которых угощает выпивкой Сойер. Это была победа!
***
На следующий день я списался с Алисой Врей.
— Привет! Мы разработали по-настоящему уникальный софт и обвалили крипторынки. Если есть серьёзные проекты и нужна наша помощь, то мы готовы!
Алиса была, как всегда, предельно краткой.
— Можете продемонстрировать? Например, обвалить золото, нефть или акции какой-нибудь крупной компании?
— Да, конечно. Как только свяжусь с Сойером и Периметром, мы организуем для тебя показательный спектакль.
Периметр был на связи, а вот Сойера пришлось долго дозваниваться.
— Вчера отлично поработали, — написал я в общий чат. — Нам нужно поиграть мышцами и показать Алисе наши возможности. Можем мы обвалить золото, нефть или акции какой-то крупной компании с помощью нашей Гидры?
— Можем попробовать, — ответил Периметр.
— Теоретически да, — ответил Сойер.
— Ок. Начинаем. Разведка боем, — скомандовал я.
С золотом мы не могли действовать как с криптой. Здесь спамом фантомных ордеров ничего не добьёшься. Золото это миллиардный рынок, где балом правят банки. Наша трёхглавая Гидра, должна была их обмануть.
— Запускаю первую голову, — откликнулся Периметр. — Имитирую панические продажи среднего хедж-фонда. Точечно, в моменты низкой ликвидности.
На графике появилась первая серия мелких, но частых красных свечей. Рынок зевнул, почти не заметив. Это была не атака, а лишь небольшая проверка рефлексов.
— Вторая голова активна. Анализирую реакцию крупных игроков, — подключился Сойер. — Они… игнорируют. Нужно больше давления.
— Запускаю Молот на половину мощности.
Сойер выставил несколько крупных ордеров на продажу. Они были настоящими, «на всю котлету», как любят говорить трейдеры. Гидра постоянно их двигала, не давая им быть исполненными, одновременно создавая иллюзию постоянного присутствия крупного продавца. Это был спуфинг, но достаточно изящный.
Рынок золота впервые зашевелился как спящий дракон, почувствовавший укол булавки. Цена дрогнула, поползла вниз на пол процента, потом ещё на долю процента.
— Они видят нас, но не верят, — прошептал Сойер. — Их алгоритмы не могут классифицировать нашу активность. Она слишком… человекоподобна и в то же время неестественна.
— Усиливаю давление, — сказал Периметр. — Запускаю третью голову. Пошёл информационный фон.
В специализированных чатах для трейдеров металлов появились анонимные сообщения:
— Китай фиксирует прибыль, ФРС может ужесточить риторику.
Это была ложь, смешанная с полуправдой. Мы пошли на риск. Я запустил серию агрессивных рыночных ордеров на продажу небольшими лотами, но с частотой, недоступной человеку.
График золота немного накренился. Минус полтора процента, потом два. На экранах новостей замигали красные предупреждения. Мы почувствовали как рынок напрягся.
— Они начинают паниковать! Вижу ответные продажи! — голос Сойера дрогнул от возбуждения.
Мы ушли в цене на минус три процента. Это было всё, что мы смогли выжать. Рынок золота оказался невероятно упругим. Его глубина и ликвидность поглотили нашу атаку, не дав ей перерасти в катастрофу.
— Впечатляет! — написала в чат Алиса Врей. — Для золота это отличный результат! Как насчёт акций?
— Сойер, Периметр, вальнём Гвиттер?
— Давай попробуем! — ответил Периметр.
— Не, ну надо, так надо, — написал Сойер.
Здесь была иная задача. Цена Гвиттер определяется истерикой, надеждой и страхом. Нам нужно было не сломать стакан, а сломать повестку. Мы задействовали все наши ресурсы. Периметр запустил бота, который начал наводнять соцсети и финансовые форумы паническими сообщениями: «Обнаружена черная дыра в долгах Гвиттер!», «Ключевые рекламодатели уходят!»
Параллельно, на рынке, наш софт начал сложную игру. Мы выставляли крупные лимитные ордера на продажу, создавая видимость «стены продавцов». В тот же момент, наши алгоритмы агрессивно снимали ликвидность с бидов маленькими, но невероятно частыми сделками, буквально выдёргивая из-под рынка опору. Я координировал волны, следя, чтобы информационная и торговая атаки синхронизировались пиками.
Это был настоящий цифровой шторм. Акции начинали метаться как раненое животное. Мы воссоздали ту самую атмосферу безысходности и неопределённости, когда никто не понимал, что происходит и всё неслись в пропасть.
В какой-то момент я оторвался от экранов и посмотрел на реальный Гвиттер. Там был настоящий хаос. Наши фейковые заголовки подхватывали настоящие люди и начиналась настоящая паника. Мы не просто манипулировали ценой, но и реальностью, созданной этим активом. Когда мы закончили, в чате повисла тишина. Затем пришло сообщение от Алисы:
— Впечатляет! Готовимся к серьёзным делам! Предлагаю пощипать Ситигруп!
К штурму Ситигруп долго готовиться не пришлось. Наш софт и стратегия обвалов была уже отточена для многих активов, поэтому мы лишь немного адаптировали нашу стратегию работы. Сегодняшняя операция стала высшей математикой финансового террора.
Первая голова нашей Гидры быстро проанализировала настроения в новостных лентах и соцсетях, находя хрупкие точки. Вторая тут-же идентифицировала и имитировала торговые сигналы крупных игроков. Третья создавала в стакане не просто дисбаланс, а катастрофический вакуум ликвидности.
— Запускаю первую голову. — доложил Периметр. — Генерирую негативный информационный фон на основе ключевых слов: «рецессия», «дефолт», «пузырь». Распространяю через каналы ботов ретрансляторов.
Это была психологическая подготовка поля боя. Мы не ждали плохих новостей, а сами создавали их. Небольшая ложь, запущенная в нужный момент, становилась главным триггером паники.
— Вторая голова Гидры активна. Зафиксирован крупный ордер Ситигруп на продажу. Имитирую его сигнатуру. Усиливаю в несколько раз, — написал Сойер в чат.
Вот оно. Мы надели маску гиганта. Алгоритмы других банков, видя, что Сити начинает массированную продажу, решили, что тот знает что-то, чего не знают они сами. В результате, многие начали продавать следом, усиливая нашу иллюзию.
— Запускаем Молот на полную. — скомандовал я.
Целью его работы было не просто сбить цену, а ударить по стоп-ордерам. Стоп-лоссы — это автоматические ордера на продажу, которые активируются, когда цена падает до определенного уровня. Это настоящие мины на поле боя и мы знали, где они были заложены. Цена тут же провалилась на первый уровень стоп-ордеров и началась цепная реакция. Сработали первые стопы. Их продажа толкнула цену ещё ниже, к следующему уровню стоп-ордеров. Затем к следующему.
— Каскад начался, — констатировал Периметр и в его голосе слышалось что-то вроде холодного восхищения.
Мы больше не управляли процессом. Рынок пожирал сам себя. Алгоритмы, запрограммированные на минимизацию потерь, начинали лихорадочно продавать, усугубляя обвал. Вакуум. Вот что мы создали. На несколько долгих минут покупатели исчезли полностью. Цены на акции европейских гигантов упали сначала на восемь, потом десять, а потом и на пятнадцать процентов. Объёмы торгов зашкаливали.
— Биржа приостанавливает торги на пять минут, — написал Сойер.
Слишком поздно. Лавину было уже не остановить. Когда торги возобновятся, паника лишь усилится. «Что они знают? Почему остановили?» — именно на эту мысль мы и рассчитывали.
Через двадцать минут всё было кончено. Автоматические системы откупили падение, рынок отыграл половину потерь. На экранах новостей были заголовки о «техническом сбое» и «ошибочном алгоритме».
— Отличная работа, — написала Алиса Врей в наш общий чат.
Это была безусловная феноменальная победа! Мы стали настоящими архитекторами хаоса в финансах.
С довольной улыбкой на лице, я откинулся на спинку стула. Но что-то не давало мне почувствовать себя по настоящему счастливым человеком. Наверное, это моё унижение в полицейском участке Бомбея не давало мне покоя. Из-за этого я вынужден был уехать со своей родины и скитаться по миру. Позорище! Какая же это боль и унижение!
Рана, которая навсегда будет терзать мою душу! Лица полицейских, их высокомерные взгляды и слова до сих пор давили на меня и не давали почувствовать себя свободным человеком даже здесь, в тысячах километрах от них. Мне нужно было отомстить им и вернуть свою гордость. Без этого я не смогу снова быть по настоящему свободным и счастливым человеком.
После наших триумфов в финансах эта старая унизительная рана загорелась с новой силой. Я архитектор хаоса, а какой-то мелкий полицейский чиновник унизил меня и ему за это ничего не было. Сегодня я решил, что будет, и нашёл место его работы. Это был полицейский участок в одном из самых захудалых районов Бомбея. Я запустил сканеры, пытаясь найти их сетевую инфраструктуру, точки входа или базы данных и упёрся в стену. У них не было доступа в интернет.
Я не поверил своим глазам. Их единственной связью с внешним миром был обычный стационарный телефон.
— Вот динозавры, — выдохнул я, и горькая усмешка вырвалась у меня наружу.
Я могу обрушить мировые рынки, но не могу взломать картотеку в участке, который не подключён к сети. Моя сила, вся моя мощь, оказалась бесполезной против этого архаичного, аналогового мира. Это было возмутительно.
Ярость закипала во мне. Если нельзя отомстить этим тварям лично… Может, стоит сломать или шантажировать какой-нибудь другой полицейский участок в Бомбее? Неважно какой. Просто чтобы почувствовать, что я могу нанести удар по этой системе. По этим тупым, самодовольным лицам в униформе, которые думают, что они всем управляют, потому что у них есть дубинка и документ с печатью.
План начал формироваться в голове, холодный и жестокий. Если нельзя взломать их компьютеры, может, стоит найти их слабость в другом месте? Их финансы? Их семьи? Уверен, у кого-то из этих динозавров есть современные дети, которые сидят в соцсетях. Или счета в банках, которые уже оцифрованы. Я заставлю этих тварей дрожать. Они не узнают моего имени, но почувствуют как почва уходит из-под ног. Отомстить им даже не месть, а санитарная чистка мира от таких нелюдей.