Дисклеймер
Информация ниже не является инвестиционной, финансовой, налоговой или юридической рекомендацией. Материал носит образовательный характер. Рынки волатильны, риски и ответственность за решения — на стороне читателя. Гарантий доходности не существует; перед любыми действиями стоит проконсультироваться со специалистом.

Почему “бот” не равен “прибыль”
Автоматизация арбитража часто воспринимается как волшебная кнопка: подключил API биржи, запустил торгового бота — и возникает иллюзия, что система “сама генерирует результат”, хотя фактически она лишь ускоряет исполнение и ошибки тоже. На практике бот — это всего лишь способ быстрее и дисциплинированнее исполнять то, что вы и так делали бы руками. Если экономика сделки плохая (комиссии, спред, проскальзывание, ввод/вывод, конвертация, задержки), то автоматизация просто ускорит получение убытка.
На примере LEO это видно особенно хорошо: актив может иметь разную ликвидность и глубину стакана на разных площадках и в разных парах. На экране вы видите расхождение котировок, а в реальном исполнении оно исчезает из-за проскальзывания и частичного исполнения. Автоматизация не “создаёт” арбитраж, она помогает быстрее оценить реальную цену и быстрее выполнить действия — или быстрее понять, что окно фиктивное.
Уровни автоматизации: от “калькулятора” до прод-системы
1) Полуручной режим с дисциплиной
Самый простой уровень — вы торгуете вручную, но используете автоматизацию для мониторинга: уведомления о цене, простые правила, чек-лист на сделку. Здесь “бот” — это скорее будильник и контроль ошибок. Вы уже сталкиваетесь с важными вещами: задержка данных, риск неверной пары, отличия комиссий, лимиты ввода/вывода.
2) Скрипты-помощники
Следующий уровень — небольшие скрипты, которые получают котировки через API биржи, считают потенциальный “грязный” и “чистый” спред, ведут журнал сделок, напоминают о комиссиях и сетевых сборах. Важно: даже такие скрипты упираются в ограничение запросов и качество данных. Ошибка времени, некорректный тикер, “подвисший” ответ — и сигнал становится ложным.
3) Полуавтомат: сигнал отдельно, исполнение отдельно
Распространённая рабочая модель: система мониторинга выдаёт сигнал, а человек подтверждает исполнение (или запускает сценарий). Это снижает вероятность катастрофических ошибок, но сохраняет человеческий фактор и задержку. Для LEO, где окна могут жить секунды или минуты, задержка подтверждения часто означает, что сделка уже неактуальна.
4) Автоисполнение в рамках правил
Здесь бот не только наблюдает, но и отправляет ордера: выставляет лимитные заявки, снимает их, пересчитывает цену, контролирует частичное исполнение. На этом уровне появляется настоящая инженерия: управление ордерами, повторные попытки, обработка сбоев соединения, контроль состояния позиции и баланса. Именно здесь многие впервые понимают, что “исполнение ордеров” — отдельная сложная дисциплина.
5) Профессиональная система (почти “мини-хедж-фонд”)
Проф-уровень — это не “самый умный алгоритм”, а надёжность: отказоустойчивость, журналирование, контроль рисков, мониторинг инфраструктуры, защита ключей, аудит действий, предсказуемое восстановление после падения. Такой бот меньше “угадывает рынок”, но лучше переживает реальность: лаги, отмены, частичные сделки, внезапные ограничения биржи и нестабильные API.
Типовые блоки системы: из чего на самом деле состоит “бот”
Мониторинг
Мониторинг — это сбор котировок, стакана, торговых сделок, комиссий, статусов ввода/вывода, доступности сети. В арбитраже важны не только цены, но и “можно ли реально перевести актив”, “какая комиссия на вывод”, “есть ли ограничения”, “какой минимальный объём”, “какая задержка подтверждения”. Без этого мониторинг превращается в генератор красивых, но недоступных сигналов.
Сигнал
Сигнал — это правило, по которому вы решаете: “сделка имеет смысл”. Хороший сигнал учитывает:
-
торговые комиссии и уровень комиссий (в том числе скидки, если они есть);
-
спред и ожидаемое проскальзывание;
-
вероятность частичного исполнения;
-
лимиты по объёму и минимальные размеры ордеров;
-
задержки и риск изменения условий.
Для LEO полезно отдельно учитывать, что в разных парах ликвидность может быть неравномерной: сигнал на паре с тонким стаканом часто оказывается ложным.
Исполнение
Исполнение ордеров — сердце автоматизации арбитража. Здесь важны детали:
-
выбор типа ордера (лимитный/рыночный) как компромисс между “точно исполнить” и “не переплатить”;
-
обработка частичного исполнения и пересборка позиции;
-
отмена заявок по тайм-ауту;
-
защита от дублей при повторных попытках.
Если бот не умеет корректно управлять ордерами, он может “накрутить” лишний объём, зависнуть в позиции или совершить серию невыгодных сделок из-за неправильных повторных попыток.
Контроль рисков
Риск-менеджмент в арбитраже — это не про “предсказать рынок”, а про ограничения:
-
лимиты по максимальному объёму на сделку и на день;
-
стоп-условия при ухудшении цены исполнения;
-
контроль общей экспозиции (чтобы не накопить позицию в LEO случайно);
-
правила паузы при нестабильности (высокая волатильность, плохая связь, ошибки API).
Часто именно этот модуль спасает депозит, когда рынок ведёт себя “не как в тестах”.
Журналирование и аудит
Журнал сделок — это ваша память и ваша защита. Нужны записи:
-
когда и почему появился сигнал;
-
какие котировки/комиссии были учтены;
-
какие ордера отправлены и что реально исполнилось;
-
итоговый PnL с учётом всех издержек.
Без журналирования вы не сможете отличить “плохую идею” от “плохого исполнения”, а значит не сможете улучшить систему.
Хранение ключей и безопасность
API ключи — один из самых недооценённых рисков. Даже аккуратные проекты теряют деньги из-за утечек, неправильных прав доступа или хранения ключей “как попало”. Минимальная гигиена: ограниченные права, изоляция среды, контроль доступа, отсутствие ключей в логах и скриншотах, регулярная ротация. Это не “паранойя”, это базовый уровень для любой системы, которая имеет доступ к счетам.
Ошибки, которые чаще всего приводят к убыткам и блокировкам
Игнорирование реальных издержек
Самая частая причина провала — считать “спред” и не считать “чистый результат”. Комиссии, проскальзывание, разница между ценой в стакане и ценой исполнения, ввод/вывод и конвертация могут съесть идею целиком. Бот, который не учитывает это в сигнале, будет открывать сделки с отрицательным матожиданием.
Слабая работа со сбоями соединения
Сбои бывают всегда: короткие разрывы, тайм-ауты, частичные ответы. Если у вас нет корректных повторных попыток, бот пропускает события. Если повторные попытки сделаны грубо — бот дублирует заявки. В арбитраже дублирование особенно опасно: вы думаете, что закрыли позицию, а на самом деле удвоили её.
Непонимание ограничения запросов
Ограничение запросов — это не “помеха”, а правило площадки. Если бот слишком агрессивно опрашивает API биржи или спамит изменениями ордеров, он рискует получить ошибки, временные блокировки или ухудшение качества ответов. Итог: сигналы становятся “слепыми”, а исполнение — рваным. Профессиональный подход — проектировать мониторинг так, чтобы он был экономным и устойчивым, а не пытаться “выжать максимум”.
Отсутствие идемпотентности и контроля состояния
Бот должен чётко понимать, в каком он состоянии: есть позиция или нет, какой объём исполнен, какие ордера активны. Если состояние хранится плохо, после перезапуска система может “забыть” активные заявки или перепутать этапы. Это классическая причина внезапных позиций и непреднамеренного риска.
Опора на “красивые окна” без проверки исполнимости
На LEO (как и на многих токенах) можно увидеть расхождения цен между рынками или парами, но реальная исполнимость зависит от глубины стакана, минимальных объёмов и скорости реакции. Если бот видит только лучшую цену, а не модель исполнения, он будет постоянно “прыгать” в окна, которые исчезают при попытке купить/продать нужный объём.
Плохое журналирование и невозможность расследовать инцидент
Когда что-то пошло не так, вопрос №1: “почему?”. Без детального журнала сделок вы не сможете восстановить цепочку событий: какой был сигнал, какая была цена, что вернул API, что реально исполнилось. В результате система не улучшается, а ошибки повторяются.
Как выглядит “здоровая” автоматизация арбитража
Инженерный подход к торговым ботам — это про контроль и проверяемость. Хорошая система:
-
отделяет мониторинг от исполнения (чтобы сбой в одном не ломал другое);
-
учитывает комиссии и проскальзывание ещё на этапе сигнала;
-
умеет безопасно управлять ордерами и обрабатывать частичное исполнение;
-
имеет лимиты риска и понятные условия остановки;
-
ведёт подробный журнал сделок и событий;
-
уважает правила API и ограничения запросов;
- защищает ключи и минимизирует последствия утечек.
И тогда становится видно главное: автоматизация — это не способ “сделать прибыль из воздуха”, а способ уменьшить хаос, ускорить реакцию и дисциплинировать процесс. На примере LEO это означает простую вещь: бот должен не “охотиться за цифрами”, а оценивать исполнимую экономику сделки и вести себя предсказуемо в плохих условиях — потому что именно плохие условия и создают большинство реальных потерь.
Финальная мысль
Если вы думаете об автоматизации арбитража, полезно сменить вопрос “какого бота запустить” на вопрос “какую систему контроля ошибок я строю”. Рынок всегда найдёт способ проверить вашу инфраструктуру: сбоями соединения, отменами, внезапными ограничениями, разницей между котировкой и исполнением. И в этой проверке выигрывает не самый “хитрый” алгоритм, а самый аккуратный инженерный дизайн.
Содержание