Read the book: «Криптовалютный арбитраж с ИИ»

Font::

Криптовалютный арбитраж с ИИ

Сабир Алмасов

Введение

На двух экранах открыта одна и та же торговая пара. На первой бирже монету можно купить за 100 долларов, на второй последняя цена равна 101,20 доллара. Разница выглядит почти готовой прибылью: купить дешевле, перевести монету, продать дороже. Но пока вы смотрели на цены, на второй площадке исчезла лучшая заявка. Перевод задержался. Биржа удержала комиссию за вывод, сеть взяла свою комиссию, а продать весь объём по 101,20 доллара не получилось. Красивые 1,2 процента превратились сначала в несколько десятых процента, а затем в убыток.

Именно в этой разнице между цифрой на экране и исполнимым результатом начинается настоящий арбитраж. Его суть проста: один и тот же или экономически связанный актив одновременно оценивается по-разному на разных рынках. Сложность появляется тогда, когда нужно превратить расхождение цен в две фактически исполненные сделки, учесть все расходы и не оставить капитал под открытым рыночным риском.

Эта книга написана для читателя, который начинает почти с нуля. Вам не требуется заранее знать устройство бирж, программирование или профессиональную терминологию. Каждый новый термин будет объяснён в тот момент, когда он понадобится. При этом мы не будем уходить в историю Bitcoin, прогнозирование курсов и технический анализ. Арбитраж не требует угадать, куда пойдёт рынок. Он требует увидеть разницу, проверить её качество и действовать по заранее определённым правилам.

Основная мысль книги выражается одной формулой:

Чистый результат = выручка от закрытия сделки − стоимость входа − торговые комиссии − сетевые и сервисные расходы − потери от исполнения − стоимость ребалансировки.

Если какой-то расход пока нельзя оценить, его нельзя молча принять за ноль. Неизвестная комиссия, неподтверждённый статус вывода или непонятная глубина стакана означают, что связка ещё не проверена. Это правило полезнее любой подборки «секретных» монет.

Современные инструменты действительно упростили работу. Сканеры сравнивают тысячи котировок. API позволяют программе получать данные непосредственно от бирж. WebSocket передаёт изменения почти в реальном времени. Искусственный интеллект помогает проектировать фильтры, разбирать таблицы, искать логические ошибки и объяснять сложные ситуации. Однако языковая модель не превращает приблизительные данные в точные. Если ей не передали актуальный стакан, комиссии и статусы сетей, она не знает реальную прибыль прямо сейчас.

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

Базовые расчёты будут строиться вокруг капитала в 500 долларов. Это достаточно небольшая сумма, чтобы относительные расходы имели значение, и достаточно наглядная, чтобы показать распределение денег между площадками. Все цифры в примерах являются учебными исходными данными, а не обещанием доходности. Реальные комиссии, лимиты и доступность сервисов меняются, поэтому перед сделкой их всегда нужно проверять заново.

После прочтения вы не получите гарантированную схему заработка. Зато сможете отличить реальное расхождение цен от ложного, проверить доступный объём, посчитать чистый результат, понять необходимость заранее размещённого капитала и оценить, где автоматизация помогает, а где создаёт новый риск. Для арбитража это более надёжная отправная точка, чем любой эффектный процент на экране.

Часть первая Основа арбитража

Глава 1 Что на самом деле представляет собой арбитраж

Арбитраж возникает, когда два рынка временно дают разные цены на один и тот же актив либо на инструменты с тесно связанным экономическим результатом. Если BTC можно купить дешевле на площадке A и одновременно продать дороже на площадке B, разница между ценами создаёт потенциальную возможность. Слово «потенциальную» здесь принципиально: прибыль существует только после исполнения обеих сторон и вычета расходов.

Обычная направленная торговля строится на прогнозе. Человек покупает монету, потому что ждёт роста, или открывает короткую позицию, потому что ждёт падения. Арбитраж стремится сократить зависимость от направления рынка. При межбиржевой операции покупка и продажа выполняются почти одновременно. При связке spot и futures одна позиция компенсирует ценовое движение другой. Это не делает стратегию безрисковой. Рыночный риск частично заменяется риском исполнения, ликвидности, площадки, сети и программной ошибки.

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

Предположим, на бирже A лучшая цена продажи BTC равна 60 000 долларов, а на бирже B лучшая цена покупки — 60 480 долларов. Разница составляет 480 долларов на один BTC. Относительный сырой спред равен:

Raw spread = (60 480 − 60 000) / 60 000 × 100% = 0,8%.

Слово raw означает «до расходов». Если вы работаете объёмом 500 долларов, расчётная валовая разница равна примерно 4 долларам. Но две торговые комиссии по 0,1 процента заберут около 1 доллара. Потери от движения по стакану могут составить ещё 0,50 доллара. Если для восстановления балансов позже понадобится перевод стоимостью 1 доллар, остаётся около 1,50 доллара. При изменении цены между ордерами результат может стать ещё меньше.

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

Есть несколько основных семейств арбитража. Межбиржевой вариант сравнивает централизованные биржи. Треугольный использует три торговые пары внутри одной площадки. Spot–futures и funding arbitrage связывают спотовый актив с производным инструментом. CEX–DEX и DEX–DEX работают с децентрализованной ликвидностью. Cross-chain добавляет перемещение между блокчейнами. P2P и обменники связывают криптовалюту с фиатными платежами. У каждого вида своя экономика и свои точки отказа.

Новичку полезно оценивать возможность как короткий производственный процесс. На входе находятся капитал и данные. Затем система проверяет идентичность актива, котировки, объём, комиссии и доступность перемещения. После этого исполняются две или несколько операций. На выходе получается не процент из сканера, а новый баланс активов. Если для следующей сделки баланс нужно восстанавливать, стоимость восстановления относится к текущей стратегии.

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

Глава 2 Почему цены на площадках отличаются

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

Главная причина расхождения — баланс спроса и предложения внутри конкретного рынка. Если на бирже A внезапно появилось много желающих купить BTC, лучшие заявки продавцов быстро разбираются и цена поднимается. На бирже B спрос может быть спокойнее, поэтому рост туда приходит с задержкой. Маркет-мейкеры и арбитражные участники обычно сокращают разницу, покупая там, где дешевле, и продавая там, где дороже. Но их капитал и скорость не бесконечны.

Вторая причина — фрагментация ликвидности. Даже крупная монета торгуется в разных парах: BTC/USDT, BTC/USDC, BTC/USD и других. Курс стейблкоина к доллару может немного отклоняться. Поэтому цена BTC в USDT и цена BTC в USD экономически близки, но не всегда тождественны. Сравнение без пересчёта котируемой валюты создаёт ложный спред.

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

Четвёртая причина — различие инструментов. Тикер BTC может обозначать спотовый Bitcoin, бессрочный фьючерс, квартальный контракт или обёрнутую версию токена в другой сети. Цены связаны, но права и риски различаются. Тот же тикер у малых токенов иногда принадлежит совсем разным проектам. Надёжная система сопоставляет не только символ, но и тип рынка, сеть и адрес контракта.

Пятая причина — качество данных. Биржа могла прислать старую котировку, соединение могло оборваться, а сканер — обновлять одну площадку чаще другой. Если цена A относится к 12:00:01, а цена B к 12:00:07, программа сравнивает разные состояния рынка. Для спокойного актива шесть секунд иногда несущественны. Во время резкого движения этого достаточно, чтобы создать иллюзию возможности.

Наконец, на цену влияют локальные условия: доступность фиата, спрос конкретного региона, лимиты пользователей, техническое обслуживание, правила KYC и стоимость вывода. Эти условия меняются. Перед регистрацией и сделкой нужно проверить, доступна ли площадка в вашей стране, какие операции разрешены для вашего уровня верификации и какие сети фактически работают.

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

Глава 3 Биржи торговые пары и ордера

Централизованная криптовалютная биржа, или CEX, хранит клиентские балансы внутри собственной системы и сводит заявки покупателей с заявками продавцов. Пользователь видит баланс в интерфейсе, но большинство внутренних сделок не требует отдельной транзакции в блокчейне. Это позволяет исполнять ордера быстро, пока средства находятся на бирже.

Торговая пара BTC/USDT читается так: BTC — базовый актив, USDT — котируемый. Цена 60 000 означает, что один BTC оценивается в 60 000 USDT. При покупке BTC вы отдаёте USDT и получаете BTC. При продаже происходит обратное. Для арбитража важно не перепутать направление, особенно в треугольных цепочках.

Ордер — инструкция бирже купить или продать. Рыночный ордер стремится исполниться сразу по доступным заявкам. Он даёт высокую вероятность исполнения, но не гарантирует одну цену. Лимитный ордер задаёт предельную цену. Покупатель указывает максимум, который готов заплатить, продавец — минимум, который готов принять. Лимитный ордер защищает цену, но может исполниться частично или не исполниться вовсе.

Биржи различают maker и taker. Maker добавляет ликвидность в книгу заявок: его лимитный ордер остаётся ждать встречного участника. Taker забирает уже размещённую ликвидность, например рыночным ордером или агрессивным лимитным ордером. Комиссии для этих ролей могут отличаться. Точный статус определяется фактическим исполнением, а не названием кнопки.

Для быстрого межбиржевого арбитража часто приходится быть taker на обеих сторонах. Если сначала выставить спокойный лимитный ордер и ждать, то к моменту его исполнения цена на второй бирже может уйти. Экономия на комиссии не компенсирует открытый риск. Maker-подход возможен, но требует иной логики: котирования, контроля остатков, отмены заявок и защиты от ситуации, когда рынок исполняет только невыгодную сторону.

У ордера есть минимальный размер, шаг количества и шаг цены. Биржа может отклонить заявку на 7,003 монеты, если количество разрешено изменять только по 0,01. Она может не принять сделку на 3 доллара, если минимальная стоимость равна 5. Эти параметры доступны в описании торгового инструмента и через API. Скрипт обязан округлять количество в допустимую сторону и после округления пересчитывать результат.

Не менее важен статус частичного исполнения. Вы отправили ордер на продажу 100 монет, но купили только 65. Если на другой площадке покупка исполнилась полностью, остаётся несбалансированная позиция в 35 монет. Программа должна либо уменьшить вторую сторону до подтверждённого объёма, либо иметь правило быстрого закрытия остатка. Предположение, что оба ордера «обычно исполняются», не является контролем риска.

В интерфейсе биржи обычно показаны последняя цена, лучший bid и лучший ask. Last price — цена последней сделки. Bid — самая высокая текущая заявка покупателя. Ask — самая низкая заявка продавца. Для покупки вы ориентируетесь на ask, для продажи — на bid. Сравнивать две последние цены недостаточно: они могли быть получены в разное время и не показывают доступный объём.

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

Глава 4 Как читать стакан и оценивать ликвидность

Стакан, или order book, — список активных лимитных заявок. В одной части находятся заявки покупателей, bids, в другой — заявки продавцов, asks. Лучшая цена покупки является верхним bid, лучшая цена продажи — нижним ask. Разница между ними называется bid/ask spread.

Допустим, последняя сделка прошла по 100 долларам. Вы хотите продать 100 монет. В стакане покупателей находятся заявки:

Цена покупки

Доступное количество

Сумма уровня

100,00

5

500,00

99,80

15

1 497,00

99,40

30

2 982,00

98,70

50

4 935,00

Все 100 монет можно продать, но только первые пять уйдут по 100. Средняя цена исполнения, или VWAP, рассчитывается как общая выручка, делённая на количество:

VWAP = (5 × 100 + 15 × 99,8 + 30 × 99,4 + 50 × 98,7) / 100 = 99,14 доллара.

На экране видна цена 100, но фактическая средняя цена равна 99,14. Потеря относительно лучшего bid составляет 0,86 процента. Если арбитражный спред был 0,7 процента, операция убыточна ещё до торговых комиссий.

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

Price impact — влияние вашей сделки на получаемую цену. В стакане оно возникает, когда ордер забирает несколько уровней. На автоматическом маркет-мейкере DEX цена меняется по формуле пула по мере обмена. Slippage, или проскальзывание, шире: это отклонение фактического результата от ожидаемого из-за глубины, движения рынка, задержки и особенностей исполнения.

Практическая проверка объёма должна идти от двух сторон. На дешёвой площадке вы суммируете asks до тех пор, пока не наберёте планируемую покупку. На дорогой площадке суммируете bids для продажи того же количества. Затем получаете VWAP покупки и VWAP продажи. Только эти средние цены входят в расчёт.

Если капитал равен 500 долларам, не обязательно использовать весь. Предположим, первые 200 долларов проходят с потерей 0,05 процента, следующие 200 — с потерей 0,20, а последние 100 — с потерей 0,70. Увеличение объёма добавляет валовую выручку, но снижает средний процент. Иногда оптимальная сделка равна 300 долларам, хотя на счёте лежит 500.

Стакан нужно проверять на свежесть. Сохраните время получения снимка. Если обновления прекратились, данные должны считаться устаревшими. Для быстрой системы лучше использовать поток WebSocket, а периодический REST-запрос оставить для восстановления состояния и контрольной сверки. Об этих интерфейсах мы поговорим позже; сейчас достаточно запомнить, что котировка без времени и объёма непригодна для точного решения.

Знание стакана меняет смысл спреда. Теперь его нужно рассчитывать не по последним ценам, а по исполнимым средним ценам. Но даже правильно выбранные цены не показывают итог, пока не учтены расходы.

Глава 5 Как считать реальную прибыль

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

Для простой покупки на A и продажи на B используйте формулу:

Net PnL = Q × P_sell × (1 − f_sell) − Q × P_buy × (1 + f_buy) − C_transfer − C_rebalance − C_other.

Здесь Q — исполненное количество актива, P_buy и P_sell — средние цены исполнения, f_buy и f_sell — ставки торговых комиссий, остальные C — расходы в валюте расчёта. Если покупка и продажа имеют разный фактический объём, считать их как одну нейтральную сделку нельзя: остаток нужно оценить отдельно.

Рассмотрим учебную связку. Сканер показывает 2 процента на сумме 500 долларов. После оценки стакана средняя цена покупки ухудшается на 0,15 процента, а средняя цена продажи — на 0,20. Две taker-комиссии составляют по 0,10 процента. Доля будущей сетевой комиссии и ребалансировки на эту операцию равна 0,80 доллара, то есть 0,16 процента от 500. Резерв на изменение цены между ордерами установлен в 0,30 процента.

Компонент

Процент от капитала

Сумма при 500 долларах

Сырой спред

2,00%

10,00

Ухудшение покупки

−0,15%

−0,75

Ухудшение продажи

−0,20%

−1,00

Две торговые комиссии

−0,20%

−1,00

Ребалансировка и сеть

−0,16%

−0,80

Резерв исполнения

−0,30%

−1,50

Расчётный чистый результат

0,99%

4,95

Этот пример оставляет почти один процент. Теперь изменим только условия исполнения: глубина хуже, и на каждой стороне теряется по 0,45 процента; вывод и ребалансировка стоят 2,50 доллара; рынок требует резерва 0,50 процента. Сырой спред остаётся 2 процента.

Расчёт: 2,00 − 0,45 − 0,45 − 0,20 − 0,50 − 0,50 = −0,10 процента. На 500 долларах это минус 0,50 доллара. Одинаковый процент в сканере привёл к противоположному решению.

Не все расходы возникают при каждой сделке. Если капитал заранее находится на двух биржах, сетевой перевод не нужен для немедленного исполнения. Но после серии операций балансы смещаются, и их приходится восстанавливать. Поэтому стоимость ребалансировки разумно распределять на цикл, а не игнорировать. Если перевод стоимостью 4 доллара восстанавливает баланс после десяти сделок, средняя нагрузка равна 0,40 доллара на сделку. Фактическое распределение зависит от объёма и частоты.

Для защиты от ошибок задайте порог допуска. Если расчётный net spread равен 0,12 процента, а типичная ошибка оценки исполнения составляет 0,20, сделка не имеет достаточного запаса. Порог должен включать статистику ваших реальных отклонений: разницу между ожидаемой и фактической ценой, частичные исполнения, задержки и редкие дополнительные расходы.

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

The free sample has ended.

Age restriction:
16+
Release date on Litres:
15 September 2026
Writing date:
2026
Volume:
100 p. 1 illustration
Copyright Holder::
Автор
Download format:

Similar books