Когда большая часть потока — боты: что реально меняется
Интересный вопрос не в том, захватят ли ИИ-боты крипторынок. Вопрос в том, что станет с вашим преимуществом, когда оно появится у всех остальных.
Инженерный блог
50 материалов о том, как на самом деле устроены торговые боты и куда движется автоматизированная торговля: Bybit V5 API, WebSocket, риск-движок, честная проверка стратегий, ИИ в трейдинге и решения, которые принимаются до кода.
Мы пишем о том, что делали руками. Обзоров «10 лучших стратегий» здесь не будет.
Featured
Интересный вопрос не в том, захватят ли ИИ-боты крипторынок. Вопрос в том, что станет с вашим преимуществом, когда оно появится у всех остальных.
Не «спросить у модели, что покупать». Работающая ML-стратегия — это конвейер данных, решение о разметке, честная валидация и фильтр по матожиданию. Модель здесь — наименьшая часть.
Бот с маркетплейса с красивым бэктестом не то чтобы вам врёт. Он показывает ту единственную конфигурацию из тысяч перебранных, которая случайно подошла к истории.
Куда движется автоматизированная торговля, что меняется, когда решения принимает модель, и какая часть этого уже реальность.
Интересный вопрос не в том, захватят ли ИИ-боты крипторынок. Вопрос в том, что станет с вашим преимуществом, когда оно появится у всех остальных.
Не «спросить у модели, что покупать». Работающая ML-стратегия — это конвейер данных, решение о разметке, честная валидация и фильтр по матожиданию. Модель здесь — наименьшая часть.
Когда большинство участников гоняет похожие модели на похожих данных, они перестают быть независимыми. Эта корреляция невидима в норме и решающа в плохих условиях.
LLM отлично превращает неструктурированный текст в структуру и ужасно справляется с ролью того, кто решает отправить ордер. Это разные работы.
У любого преимущества есть период полураспада. Изменилось то, что инструменты для поиска и копирования подешевели, — значит период стал короче, и планировать это надо заранее.
Глубокое обучение доминирует там, где огромные данные и высокое отношение сигнал/шум. Предсказание рынка противоположно и тому и другому — поэтому бустинг на ручных признаках продолжает выигрывать.
Стратегии редко ломаются громко. Они деградируют, и кривая эквити — последнее место, где это становится очевидным. Заметить раньше — задача мониторинга с известным решением.
RL — самый запрашиваемый и реже всего доводимый до конца подход в частном квантовом трейдинге. Затык не в алгоритме, а в том, что нужный ему симулятор построить нельзя.
Все хотят, чтобы ИИ решал, что покупать. Более ценное и менее рискованное применение — чтобы он решал, когда остановиться.
Объяснимость в трейдинге — не этическое требование. Это то, что определяет, сможет ли человек принять верное решение о системе в четыре часа ночи.
Больше истории не сгенерировать. Сгенерировать можно правдоподобную альтернативную историю — и она отлично находит хрупкость и ужасно находит преимущество.
Усреднение снижает дисперсию, если ошибки не скоррелированы. На рыночных данных они обычно скоррелированы — поэтому большинство торговых ансамблей это одна модель с лишней задержкой.
Решения до кода: автоматизировать ли вообще, делать или купить, сколько бот должен стоить и как написать на него ТЗ.
Бот с маркетплейса с красивым бэктестом не то чтобы вам врёт. Он показывает ту единственную конфигурацию из тысяч перебранных, которая случайно подошла к истории.
Большинство заказчиков ни разу не заглядывает в репозиторий. Он всё равно меняет отношения, потому что всё, что может пойти не так с подрядчиком, переживаемо, когда код у вас.
Любая схема, где вашим счётом торгует чужая инфраструктура, концентрирует риск в месте, которого вы не видите. Технических причин на это соглашаться нет.
Маленький объём ограничивает цену бага. Он не заставляет баг проявиться по расписанию, а баги, которые важны, вылезают только в ситуациях, которые нельзя устроить по заказу.
Мы гарантируем, что программа ведёт себя по спецификации. Мы не гарантируем, что с ней сделает рынок. Кто смешивает эти две вещи, продаёт не программное обеспечение.
Обычно сравнивают подписку с оценкой разработки. Значимое сравнение включает то, что вы можете менять, чем владеете и что произойдёт, когда стратегия должна будет сдвинуться.
Мы отказываемся или переопределяем объём в заметной части обращений. Вот список условий, при которых автоматизация — неверный следующий шаг, изложенный так, чтобы вы могли проверить себя до оплаты кому бы то ни было.
Одна и та же фраза — «бот под Bybit» — покрывает и неделю работы, и полгода. Вот что двигает оценку, чтобы вы могли формировать объём, а не просто получать число.
Это одни и те же шесть каждый раз, каждой дёшево избежать, и каждую обычно обнаруживают дорогим способом.
Хорошее ТЗ не длинное. Оно точно отвечает на фиксированный набор вопросов, и его написание улучшит вашу стратегию раньше, чем кто-либо напишет строчку кода.
V5 REST и WebSocket на практике: подпись, потоки, исполнения, лимиты и ошибки, которые переживают тестирование.
Одна модель аккаунта, один набор эндпоинтов и несколько деталей, которые тихо ломают ботов, перенесённых с прошлых версий.
Оборванный WebSocket — это не ошибка для лога. Это момент, когда картина мира вашего бота и реальность тихо расходятся.
Наполовину налитая лимитка оставляет вам позицию, которую никто не планировал, стоп, рассчитанный на позицию, которой нет, и среднюю цену, которую код не пересчитал.
Лимиты никогда не мешают на спокойном рынке. Они мешают в ту минуту, когда боту срочно надо снять ордер, — и проектировать надо именно под неё.
Две независимые ноги на одном символе звучат как больше контроля. Иногда так и есть. Часто это способ платить фандинг с обеих сторон, чувствуя себя захеджированным.
Большинство инцидентов с ключами не изощрённые. Ключ оказывается в репозитории, в сообщении чата или в окружении, которое читает больше людей, чем предполагалось.
Как собрана продакшн-система: слои, состояние ордера, риск, расчёт объёма и мониторинг.
Почти каждый бот, ставший неподдерживаемым, совершил одну и ту же ошибку — позволил логике стратегии напрямую дотянуться до биржи.
Биржа сообщила, что получила ваш ордер, и биржа сообщила, что он исполнился, — это разные события. Боты, которые их смешивают, показывают прибыль, которой не было.
Управление риском в торговом боте — не вычисление. Это набор отказов, зашитых в код, с которыми стратегия не может спорить.
Самая полезная привычка в автоматической торговле — считать объём от расстояния до стопа. И это же то, что большинство ботов делает почти правильно, а потом отдаёт комиссиям.
P&L рассказывает, что произошло. Он не рассказывает, исправна ли машина, которая это произвела, — а к моменту, когда P&L покажет сломанного бота, тот ломается уже давно.
Мультибиржевость — это не про поддержку большего числа площадок. Это про то, чтобы в коде было ровно одно место, знающее, чем именно странна конкретная площадка.
Записывать всё — это то, что делает систему честной. Записывать синхронно — это то, что заставляет её пропускать рынок. Лечение скучное, и сделать его правильно стоит рано.
Как честно доказать, что преимущество существует, до того как рисковать деньгами.
Бэктест проверяет гипотезу о рынке. Paper trading проверяет вашу программу против реальности. Пропустить любой из них — значит выйти в бой на непроверенном допущении.
Любая просочившаяся крупица будущего делает бэктест красивее. Именно поэтому утечки так трудно заметить — свидетельством бага оказывается результат, которого вы и ждали.
Задержка важна ровно в той мере, в какой быстро распадается ваше преимущество. Большинство стратегий к ней не чувствительны и тратят деньги так, будто чувствительны.
Обычный градиентный бустинг считает строки взаимозаменяемыми. Рыночные данные такими не являются. Мы написали библиотеку, где purged-валидация по умолчанию, а заглядывание в будущее — ошибка линтера.
Предположение, что вы исполняетесь по лучшей цене, — самый частый способ для бэктеста соврать. Грубая, но измеренная модель слиппеджа стоит больше изощрённой догадки.
Случайное разбиение упорядоченных во времени данных даёт красивые бессмысленные результаты. Правильная процедура ненамного сложнее и отличает результат от истории.
Как на самом деле ведут себя перпетуалы, ликвидность и поток ордеров — и что это значит для бота.
У перпетуала нет экспирации, поэтому что-то должно удерживать его у спота. Это «что-то» — платёж между лонгами и шортами, и это настоящая строка в вашем P&L.
Маркет-мейкер зарабатывает спред и платит за информацию. Каждое ваше исполнение — это исполнение, которого кто-то хотел, и вся дисциплина сводится к выживанию в этой асимметрии.
В стакане чисел гораздо больше, чем сигнала. Горстка конструкций несёт большую часть полезного, а остальное в основном более медленный способ посмотреть на цену.
Каскад — это не мнение рынка. Это принудительные продажи алгоритмом биржи, и именно поэтому стоп-лосс может исполниться на несколько процентов дальше своего уровня.
Открытый интерес показывает, сколько плеча на рынке. Он действительно информативен — и он же самый частый источник заглядывания в будущее, который мы находим.
У обоих высокая доля выигрышных сделок и такая форма выплат, которая прячет убыток в хвосте. Это не повод их избегать — это повод строить их с жёстким потолком.
Мнение, аргументированное тем же инженерным опытом, что и всё остальное здесь.
Не потому что бот умнее вас. Потому что во вторник в три часа ночи он такой же, каким был в понедельник в полдень, а вы — нет.
У бота нет интуиции, нет памяти о вчерашнем страхе и нет способности заметить то, смотреть на что вы ему не велели. Понимание этого и есть способ написать хорошего бота.
Рынки — единственное место, где большое число автоматических агентов уже конкурирует друг с другом на реальные деньги. То, что там произошло, стоит больше большинства прогнозов.
Мы пишем о том, что строим. Если нужно построить — напишите, разбор бесплатный.