Вы здесь

Межбиржевой арбитраж криптовалют

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

Разрабатывая стратегию для торговли на бирже, трейдер постоянно ищет баланс между риском и прибылью. Чем больше отношение прибыли к риску, тем эффективнее работает стратегия — это самый простой способ вычислить рентабельность торговли.

Межбиржевой арбитраж криптовалют

Что такое арбитраж

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

Конечно, на реальном рынке нужно учитывать и чисто технический риск: сбой в алгоритме работы биржи, проблемы со связью или ошибка в исходном коде робота может привести к потере средств. Вдобавок само наличие арбитража, явление довольно редкое. Ситуацию усугубляет большое количество высокочастотных трейдеров (HFT), которые тоже любят арбитраж и быструю прибыль. Поэтому такая сделка имеет ограничения как по времени, так и по обороту — проторговать вы сможете ровно столько, сколько даст рынок.

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

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

Ограничения на ввод и вывод средств: отсутствие свободного потока средств создает долгосрочные раздвижки, как было с

  • проектом Mt.Gox. Сюда же можно отнести все чисто технические неполадки. Это вариант арбитража, который вы, скорее всего, не сможете проторговать, опять же, из-за невозможности быстрых переводов между биржами;
  • Недостаточная ликвидность — малый торговый оборот тормозит движение курса. Причиной могут быть ограничения биржи или отсутствие крупных капиталов. Это проблема любого развивающегося рынка. Из-за небольших объемов, много заработать на таком арбитраже не получится, но в целом реально;
  • Высокие комиссионные издержки торговой площадки, что приводит к снижению спроса и появлению ценовых раздвижек. Чтобы остаться в прибыли, раздвижка должна существенно превышать издержки торговых операций;
  • Краткосрочный рыночный всплеск: кто-то решил “по-крупному” закупиться валютой, съев половину заявок стакана. Образовавшееся пространство быстро заполняется заявками маркетмейкеров, создавая перекос в ту или иную сторону. Для проторговки нужна быстрая реакция и такой же скоростной канал связи. За подобными неэффективностями охотятся высокочастотные трейдеры.

Биржи криптовалют

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

Более того, большинство бирж предоставляют абсолютно открытый и бесплатный API — специальный программный интерфейс, для взаимодействия с площадкой при помощи автоматического алгоритма. На самом деле, бирже это выгодно, так как роботы способны генерировать большие обороты, а основной заработок биржи — это комиссия с транзакций.

Больше всего распространен арбитраж между инструментами одной площадки, как самый простой в реализации вариант. Арбитраж внутри биржи не подразумевает вывода средств за пределы кошельков площадки. Основная статья расходов приходится на проведение обменных операций. Стандартная комиссия на рынке — 0.2% для обмена в одну сторону.

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


Проблема арбитража между биржами

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

Для арбитража между биржами нам нужно найти два одинаковых инструмента, торгующихся на разных площадках, между которыми произошла ценовая раздвижка. Так как нас интересует моментальный арбитраж, мы смотрим только на верхние заявки стакана. Крайние ордера стакана заявок представлены ценами Ask и BId. Ask — это лучшая цена, по которой вы можете купить, Bid — лучшая цена, по который есть желающие купить у вас.

Например, на двух биржах торгуется пара BTCUSD (биткоин-доллар), обозначим их как “x” и “y”. Пусть, xAsk = 1000$, xBid = 950$; yAsk = 1100$, yBid = 1050$. Таким образом, мы получаем ситуацию чистого арбитража: покупаем биткоин по 1000$ на бирже X, затем переносим купленный биткоин на кошелек биржи Y, и продаем его там за 1050$. После этого, заводим доллары обратно на первую биржу, и повторяем круг. Конечно, здесь не была учтена комиссии бирж и транзакций между ними.

То есть, для получения профита, нам нужно соблюдение условий, когда xBid > yAsk + комиссия или yBid > xAsk + комиссия. Остальное уже дело техники. Собственно, тут все упирается в скорость и качество исполнения. Если робот реагирует недостаточно быстро, вполне вероятно, другой арбитражер успеет нивелировать возникшую разницу в стаканах, опередив вас на десяток миллисекунд.

На самом деле, то что вы видите арбитраж на экране, еще не означает, что его можно проторговать. Существует понятие длительности арбитража, то есть, как долго неэффективность держится в рынке. Это могут быть часы, так и доли секунды.

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

Выходит, схема с переливом средств между биржами требует некоторого усовершенствования.

Синтетический арбитраж

Даже если арбитража нет при прямом сравнении инструментов, скорее всего, арбитражные позиции имеются на кросс-курсах. Проще всего описать синтетик на примере валютного треугольника. Допустим, мы имеем 3 валюты: BTC, LTC и USD, из которых получаем 3 валютные пары: BTCUSD, LTCUSD и LTCBTC. Каждую пару мы можем представить с помощью двух других, при этом по всем характеристикам синтетическая пара будет идентична оригинальной, между ними прослеживается четкая математическая взаимосвязь.

Например:

  • BTCUSD = LTCUSD / LTCBTC
  • LTCUSD = BTCUSD * LTCBTC
  • LTCBTC = LTCUSD / BTCUSD

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

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

Торговая стратегия

Суть стратегии в том, что вместо ожидания переводов между биржами и расходов на комиссии, мы будем одновременно держать на биржах примерно одинаковое количество средств. Вначале нужно определить, арбитраж каких валют мы будем использовать. Например, пусть это будет биткоин и доллар США. В таком случае для указанных валют на исследуемые биржи заводим эквивалентный баланс.

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

Для примера, берем текущий срез рынка и смотрим на относительное положение значений цен Ask и Bid. Ищем цепочки сделок, в которых цена Bid больше Ask. Здесь мы имеем существенную разницу цен между Kraken и Cex. Считаем разницу, и вычитаем из нее комиссии бирж. В данном случае, нам нужно купить биткоин на Kraken, по более низкой цене и продать на Cex, по более высокой.

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

Итого, для входа в рынок:

  1. Собираем текущие котировки реальных и синтетических инструментов (лучше по всем валютам сразу, полный срез рынка).
  2. Находим самые выгодные комбинации, где Bid перекрывает Ask. По стакану ордеров вычисляем оптимальный объем сделки.
  3. Одномоментно отправляем ордера по рынку. В случае частичного исполнения, отправляем новый ордер по рыночной цене — здесь может быть отрицательное проскальзывание.

Пример взаимодействия с API

Каждая биржа реализует программный интерфейс по-своему. Как правило, общение с сервером проходит с помощью простых http-запросов, при этом сервер отдает ответ в формате JSON, популярном формате представления данных.

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

Рассмотрим небольшой пример с биржей YoBit. Чтобы узнать информацию о валютной паре, достаточно сделать запрос вида: https://yobit.net/api/3/ticker/ltc_btc

Сервер выдаст примерно такой результат:

{
    "ltc_btc": {
        "high": 0.01725322,
        "low": 0.01677134,
        "avg": 0.01701228,
        "vol": 196.33071797,
        "vol_cur": 11550.26875662,
        "last": 0.016952,
        "buy": 0.01695201,
        "sell": 0.01700000,
        "updated": 1515771676
    }
}

Тестировать публичное API можно прямо из браузера. Для отправки POST-запросов можно воспользоваться Postman или аналогами, где можно гибко манипулировать заголовками и другими параметрами запроса.

Выбор платформы для разработки остается за вами, принципиального значения это не несет. Лучше выбрать язык, который вы знаете лучше всего — имеется в виду не только знание синтаксиса, но и опыт разработки. Практика показывает, что плохо оптимизированный код даже на “быстром” языке программирования дает худший результат относительно программы, написанной на более понятном языке.

Категория: 
Финансы
5
Ваша оценка: Нет Средняя: 5 (2 оценок)
14593 / 0
Аватар пользователя Комиссар Джес
Публикацию добавил: Комиссар Джес
Дата публикации: ср, 01/17/2018 - 10:47

Что еще почитать:

Комментарии:

Анонимус

Спасибо, очень познавательная статья. Я думал, что все немного проще. Мне кажется, что основная проблема - частичное исполнение ордеров, непонятно только как ее решать.

вт, 01/23/2018 - 00:40

Валентин Федоров

Может кто-нибудь подскажет. Существуют готовые боты для такого вида арбитража?

вт, 01/30/2018 - 00:33

OlegBTCCCCC

1bbot.com

ср, 01/31/2018 - 13:44

Exploted72

ArbitragePro.org отличная арбитражная таблица, работает как часы

вт, 06/05/2018 - 09:06

E

Готовлю проект по арбитражу, на данный момент берётся информация с 10 бирж и анализируется. На данный момент проект на стадии Настройки, так же пишется вторая часть программы, отвечающая за вывод только необходимых данных и их сортировки по параметрам. Кому интересно добавляйтесь @TraderCryptoCoin , будем держать связь!

вт, 04/03/2018 - 05:13

Саня

Вот сервис для арбитража cryptosoft.store/arbitrage-analytic у них кстати есть ещё и бот

пн, 04/23/2018 - 09:31

изображение не прогрузилось... вот ссылка:

http://joxi.ru/v29o6lVH3QKW7r

вт, 06/26/2018 - 13:49

Добавить комментарий