Я посчитал 1596 арбитражных связок. Прибыльной оказалась меньше половины — и вот куда девается спред

Я посчитал 1596 арбитражных связок. Прибыльной оказалась меньше половины — и вот куда девается спред

Полтора года назад я поверил в простую арифметику: если монета на одной бирже стоит на 0,4% дороже, чем на другой, то эти 0,4% можно забрать. Купил дешевле, перевёл, продал дороже. Разница между биржами есть всегда — откройте два окна и посмотрите.

Потом я написал сканер, который считает такие сделки до конца, и начал сохранять историю. На срезе из 1596 наблюдений (6 монет, 20 пар бирж) картина получилась такая:

— связок с положительной «грязной» разницей цен — 1595 из 1596, то есть практически все;

— связок, которые остались в плюсе ПОСЛЕ комиссий, сетевого сбора и проскальзывания — 716, то есть 44,9%;

— медианный «грязный» спред — +0,35%;

— медианный нетто-результат по тем же данным — минус 0,06%.

Это и есть весь крипто-арбитраж одной строкой: типовая связка выглядит как плюс 0,35% и оказывается минусом 0,06%. Дальше — где именно теряются эти четыре десятых процента и как посчитать свою сделку до того, как в неё зайти.

Сразу оговорюсь про выборку, чтобы не выдавать её за истину в последней инстанции: это срез по ликвидным монетам с фиксированным объёмом сделки. На неликвиде доля прибыльных ниже, в момент резкого движения рынка — выше. Порядок величин от этого не меняется: «грязный» спред и реальный результат живут в разных мирах.

Куда девается спред: четыре статьи расходов

Возьмём конкретную сделку. Монета стоит 0,500 USDT на бирже A и 0,505 на бирже B. Спред ровно +1% — куда лучше медианного. Заводим 1000 USDT.

1. Проскальзывание на покупке. В стакане биржи A по цене 0,500 стоит объём всего на 300 USDT. Оставшиеся 700 вы выкупаете по 0,501, 0,502 и выше — средняя цена входа (VWAP) получается около 0,5015. Вы уже купили не по той цене, которую видели на экране. Минус примерно 0,3%.

2. Торговая комиссия на входе. Тейкер, обычно 0,1%. Минус 0,1%.

3. Сетевой сбор за вывод. Ключевой момент, который ломает всю экономику малых объёмов: биржа берёт за вывод фиксированную сумму в единицах монеты, а не процент. Вывод ERC20-токена может стоить 5-15 долларов, тот же токен по TRC20 — меньше доллара. На 1000 USDT сбор в 3 доллара — это ещё минус 0,3%. На 200 USDT тот же сбор съел бы 1,5%, то есть весь спред целиком и сверху.

4. Проскальзывание и комиссия на продаже. В стакане биржи B та же история в обратную сторону: вы продаёте в биды, средняя цена ниже верхней котировки. Ещё минус примерно 0,15% плюс 0,1% комиссии.

Итог: 1% минус 0,3% минус 0,1% минус 0,3% минус 0,25% равно +0,05%. Пятьдесят центов с тысячи долларов — при спреде вдвое шире медианного. А теперь вспомните, что медианный спред — 0,35%.

Пятый расход, который не виден в калькуляторе: время

Все четыре пункта выше можно посчитать заранее. Пятый — нет.

Перевод монеты между биржами занимает от двух минут до получаса: подтверждения сети, внутренняя обработка биржи, иногда ручная проверка вывода. Всё это время вы держите монету, а цена на бирже B живёт своей жизнью. Спред, ради которого вы заходили, к моменту прихода средств может исчезнуть — и это не форс-мажор, а типичный сценарий. Особенно обидно, когда исчезает он потому, что в ту же связку одновременно с вами зашли ещё десять человек с тем же сканером.

Отсюда практическое следствие, которое стоит принять до первой сделки: чем дольше перевод, тем шире должен быть спред на входе. Заходить в связку с нетто +0,1% и переводом на 25 минут — это не арбитраж, это ставка на то, что рынок не шелохнётся полчаса.

Формула, по которой я считаю

Если убрать всё лишнее, честный расчёт выглядит так:

нетто% = ((VWAP_продажи × (1 − комиссия_B) − сетевой_сбор_в_деньгах / объём) / (VWAP_покупки × (1 + комиссия_A)) − 1) × 100

Три вещи, которые важнее самой формулы.

Считайте VWAP, а не котировку. Возьмите стакан на нужную глубину и посчитайте среднюю цену исполнения именно вашего объёма. Верхняя строка стакана — это цена, по которой вы купите первые сто долларов, а не все ваши деньги.

Считайте сетевой сбор в единицах монеты и выбирайте сеть. Это единственная статья расходов, которая не масштабируется с объёмом, поэтому именно она решает, имеет ли смысл ваш размер сделки. И именно её чаще всего игнорируют бесплатные сканеры: показать спред по ценам легко, а подтянуть актуальные сборы по каждой сети на каждой бирже — работа, которую надо делать и поддерживать.

Проверяйте, что вывод вообще открыт. Биржа может остановить вывод монеты на техобслуживание сети — и вы окажетесь с активом, который некуда девать, ровно на той стороне, где он дешевле. Проверка занимает секунды, потеря — часы или дни.

Чек-лист перед входом в связку

Он короткий, и он бесплатный — работает с любым сканером или вообще без него:

1. Спред посчитан по VWAP на мой объём, а не по верхней строке стакана.

2. Вычтены обе торговые комиссии по моему реальному уровню, а не по «0,1% из документации».

3. Вычтен сетевой сбор в самой дешёвой доступной сети, пересчитанный в проценты от моего объёма.

4. Вывод монеты на бирже покупки открыт прямо сейчас, депозит на бирже продажи — тоже.

5. Оставшийся плюс покрывает риск того, что за время перевода спред схлопнется. Мой личный порог — нетто должно быть заметно больше нуля, а не «чуть-чуть в плюсе».

6. Объём сделки не превышает того, что реально стоит в стакане на обеих сторонах.

Если хоть один пункт не выполнен — это не связка, это лотерейный билет.

Что я в итоге сделал

Считать всё это руками по каждой паре бирж и каждой монете невозможно физически, поэтому я собрал сканер, который делает ровно это и показывает связку только если она в плюсе после всех издержек — arb-scanner.ru. Ядро расчёта: VWAP по реальным стаканам, комиссии обеих бирж и сетевой сбор в единицах монеты; сверху — бэктест связки на истории, оценка максимального объёма по глубине стакана и вероятность того, что окно доживёт до конца перевода.

Он специально не торгует сам. Автоисполнение — отдельный класс рисков, и мешать его с инструментом анализа я не хочу.

Пишу об этом честно: да, это мой сервис, и его можно посмотреть. Но главное в статье не он, а способ считать. Формула выше и чек-лист работают с любым инструментом, хоть с Excel. Если после честного расчёта в вашей связке остаётся плюс — прекрасно, вы нашли настоящую возможность, а не её видимость.

Вывод

Ценность арбитражного инструмента — не в том, чтобы найти «на бирже A дешевле, чем на бирже B». Таких «возможностей» тысячи каждую минуту, и по моим данным больше половины из них убыточны. Ценность — в фильтре, который отвечает на единственный важный вопрос: останется ли плюс после всех издержек.

Всё остальное — красивые проценты на скриншотах.

А как считаете вы? Мне особенно интересны две вещи: какой у вас минимальный нетто-порог для входа и были ли случаи, когда вывод закрывали прямо посреди связки. Расскажите в комментариях — соберу типовые грабли в отдельный материал.

Не является инвестиционной рекомендацией. Цифры в статье — из моей собственной истории сканирования, выборка описана в начале.

1