Арбитражный бот: почему большинство связок не окупает комиссии
Куда уходит спред в арбитраже: комиссии, проскальзывание, перевод средств и фандинг. Расчёт на условных числах и что бот должен проверить до входа в сделку.
Расхождения в цене одного и того же актива на разных площадках видны почти всегда. Глядя на них, легко решить, что арбитражный бот — это способ забирать разницу без риска. На деле бот зарабатывает не спред, а спред за вычетом всех издержек, и после вычета от большинства расхождений не остаётся ничего.
Разберу, куда уходит спред и что поэтому должен уметь бот.
Куда уходит спред
Комиссии
Арбитраж — это минимум две сделки: купить там, где дешевле, и продать там, где дороже. Комиссия берётся с каждой. В связке «спот против фьючерса» позицию потом закрывают встречными сделками — и сделок уже четыре.
Размер комиссии зависит от площадки, оборота аккаунта и типа заявки. Рыночные заявки обычно дороже лимитных, но лимитная заявка не гарантирует исполнения, а в арбитраже решает скорость.
Проскальзывание
Цена, которую вы видите, — лучшая цена в стакане, и доступна она только на тот объём, который стоит на этом уровне. Если сделка крупнее, заявка «проедает» стакан, и средняя цена исполнения выходит хуже. Чем ниже ликвидность, тем сильнее эффект.
Перевод средств и ребалансировка
Чтобы купить на одной площадке и продать на другой, деньги и актив нужны на обеих. Сделки постепенно перекашивают балансы: на одной бирже копятся деньги, на другой — актив. Их приходится выравнивать переводами, а у переводов есть комиссия и время, за которое цена успевает уйти.
Стоимость капитала
Деньги, которые лежат на нескольких площадках ради арбитража, не работают в другом месте и несут риск самой площадки. Это тоже издержка, хотя в расчёте одной сделки её не видно.
Фандинг
В связках с бессрочными фьючерсами добавляется фандинг — периодические платежи между длинными и короткими позициями. Его ставка меняется и может развернуться против вашей позиции.
Расчёт на условных числах
Числа ниже условные: реальные комиссии и спреды у каждой площадки свои. Важна механика.
Актив на площадке А стоит 100,00, на площадке Б — 100,30. Видимый спред — 0,30 %.
| Статья | От суммы сделки |
|---|---|
| Видимый спред | +0,30 % |
| Комиссия за покупку на А | −0,10 % |
| Комиссия за продажу на Б | −0,10 % |
| Проскальзывание на обеих сторонах | −0,08 % |
| Остаток | +0,02 % |
Остаток — 0,02 %, и это ещё без ребалансировки и стоимости капитала. Чуть больший объём, при котором растёт проскальзывание, или один перевод между площадками — и сделка уходит в минус. При этом в ленте она выглядела как очевидные 0,30 %.
Почему видимый спред обманчив
- Глубина. Цена в ленте доступна на небольшой объём. Настоящий спред для вашего объёма считается по стакану, а не по последней сделке.
- Задержка. Пока данные дошли до бота, а заявка — до биржи, цена уже другая. Спред, который видят все, забирает тот, кто быстрее.
- Неисполненная нога. Первая сделка прошла, а вторая — нет: цена ушла, заявку отклонили, площадка перестала отвечать. Вместо арбитража у вас открытая позиция с обычным рыночным риском.
Последний пункт — главная опасность арбитража, и именно на нём видно качество бота.
Что должен уметь арбитражный бот
- Считать результат до входа — по стакану, с комиссиями конкретного аккаунта, проскальзыванием и стоимостью перевода. Не выходит в плюс — сделки нет.
- Ограничивать объём тем, что стакан действительно способен исполнить.
- Иметь план на неисполненную ногу — повторить, закрыть первую сделку или захеджировать — и выполнять его сам, без человека.
- Следить за балансами на каждой площадке и останавливаться, если они перекосились.
- Останавливаться при аномалиях: резком движении цены, отказах площадки, расхождении данных.
- Вести журнал, где видно, сколько принесла каждая сделка после всех издержек, а не по видимому спреду.
Как проверить связку до разработки
Прежде чем писать бота, стоит проверить саму связку на исторических данных — с издержками, а не по разнице цен:
- Собрать котировки по обеим площадкам за достаточно долгий период, а где доступно — и стаканы.
- Найти расхождения, которые превышали сумму издержек, и понять, на какой объём.
- Посмотреть, как часто они возникали и сколько держались.
- Учесть задержку: сколько из них реально можно было исполнить на вашей инфраструктуре.
Часто уже на этом шаге понятно, что связка не окупается, — и узнать это до разработки дешевле, чем после.
Какие виды арбитража я делаю и что входит в работу — на странице «Арбитражные боты».