- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
Высокочастотная торговля на бирже Coinbase
Прочитав о высокочастотной торговле в книге Майкла Льюиса Flash Boys, Эндрю Бариссер создал своего собственного бота для торговли Bitcoin . Вот его выводы.
Эндрю Бариссер — инженер-программист и инженер Криптовалюта в Assembly. Ранее он был аспирантом по биофизике в Калифорнийском университете в Санта-Барбаре, где, по его словам, «грызущая страсть» к Bitcoin привела его к программному обеспечению. В этой статье он делится уроками, извлеченными из создания собственного бота для торговли Bitcoin в «кишащих акулами водах» новой биржи Coinbase.
Недавно я начал торговать биткоинами алгоритмически на новой бирже Coinbase. После прочтения книги о высокочастотной торговлеФлэш-парниМайкла Льюиса, я решил, что попробую сделать это сам, хотя и более неуклюжим и любительским способом.
Опыт был захватывающим, как на техническом уровне, так и в стратегическом смысле. Написание логики, которая контролирует сами деньги, — странная вещь. Впервые выпустить ее на свободу, зная, что любая ошибка может буквально выбросить деньги, было ужасно.
Bitcoin — невероятно открытая система, которая особенно дружелюбна к разработчикам безымянных. Биржи имеют открытые API, которые позволяют любому, буквально любому, торговать. Нет премиум-доступа, нет дорогих учетных данных торговой площадки. Она полностью открыта — мне это нравится.
Воды, кишащие акулами
Когда я разработал своего торгового бота, я понял, насколько стратегическая глубина есть в такого рода играх. Биржи ужераспространенныйс торговыми ботами; это кишащие акулами воды. Боты танцуют друг вокруг друга в хаотичном водовороте. Они используют так много разнообразных стратегий. Это как так много микробов, конкурирующих в первобытной жиже.
Входя в эту среду, мне приходилось сразу же обращать внимание на других ботов.
Алгоритмическим трейдерам нужно занять определенную нишу. Они извлекают прибыль из неэффективности рынка. На идеальном рынке то, что они делают, не было бы прибыльным.
Именно потому, что Рынки в своем естественном состоянии являются нет идеально гладкий, непрерывный и хорошо функционирующий, чтобы алгоритмические трейдеры могли извлечь любую ценность. Исправляя небольшие ошибки, небольшие случаи проскальзывания, которые случаются на Рынки, ONE извлечь небольшую прибыль.
Если большая акула — это непревзойденная сила самого рынка, то маленькие присоски, следующие за ней, подбирающие объедки, наводящие порядок, — это алгоритмические трейдеры. У них тоже есть свое место.

Еще один парадокс заключается в том, что я не могу раскрыть свою торговую стратегию, не поставив ее под угрозу.
В небольшой степени объяснение моей стратегии было бы приглашением для конкурентов, для которых предельная стоимость настройки программного обеспечения очень низкая. Однако, что гораздо более угрожающе, если бы точная стратегия моего бота была известна, онаможет быть разрушен.
Если бы вы всегда могли предсказать каждый его шаг, вы могли бы обмануть его, заставив снова и снова отдавать деньги. Это еще одна причина, по которой моя паранойя жива, страх, что кто-то там будет наблюдать за моим ботом и в его заказах туда-сюда вычислит его стратегию.
Я представляю, как возвращаюсь к своему боту и вижу, что его баланс пуст, потому что какой-то гений обманул его алгоритмически, снимая по копейке с каждым циклом.

Маркет-мейкинг 101
С другой стороны, стратегия моего бота чрезвычайно консервативна, и ее будет трудно обыграть. По сути, это сложный маркет- Maker. Он обеспечивает ликвидность биржи Coinbase. Это означает, что он LOOKS на книгу заказов и наблюдает, где заказы тонкие. Возможно, на стороне покупки очень маленькая глубина заказов.
Он может размещать лимитные ордера, как маленькие ловушки, на разных глубинах на сторонах покупки и продажи. Он меняет точный способ, которым он это делает, в зависимости от недавних рыночных условий. Если затем внезапно исполняется крупная сделка, она может подавить доступность предложений по лучшей цене. Такое крупное предложение может затем вызвать ONE из моих предложений, ожидающих, по более выгодной цене.
Это основа маркет-мейкинга. Это, пожалуй, наименее самоуверенная стратегия из всех, хотя я смягчил свою собственную реализацию некоторой дополнительной логикой прогнозирования цен. В целом это чрезвычайно скучная стратегия.
Маркет-мейкинг также приносит реальную общественную пользу. Чем глубже ликвидность, предоставляемая маркет-мейкерами, тем сложнее вызвать нерегулярные скачки цен. Маркет-мейкеры также уменьшают спред спроса и предложения, концепцию, о которой большинство людей даже T знают: свидетельство успешных практиков на Уолл-стрит.
Другие стратегии ботов
Другие боты используют самые разные стратегии. Некоторые корректируют спред между отдельными биржами, стратегия, полностью зависящая от скорости. Если кто-то бросает 1000 BTC на Bitfinex, цена на Coinbase синхронно падает, потому что кто-то поспешил выполнить рыночный ордер.
Другие стратегии вращаются вокруг обмана других ботов, для чего существует бесконечное количество тактик. Они часто включают в себя сложные позы, обманывая чужую логику и заставляя совершать фатальные ошибки. Другие же предназначены для запугивания Human массивными заказами на покупку или продажу. Я уверен, что есть и другие, о которых я понятия не имею.
На практическом уровне мой бот должен быть очень QUICK. Если он задержится хотя бы на несколько секунд между отменой и размещением заказов, рыночные условия могут привести к тому, что новые заказы станут неподходящими.
Заказы, которые я размещаю, Социальные сети здравой логике при условии, что бот правильно понимает состояние книги ордеров. Это предположение не выдерживает критики долго. В течение секунды поток значительных заказов мог бы исказитьдействительныйкнигу заказов, так что новые заказы, которые я разработал, теперь просто неверны.
Мне также следует остерегаться враждебных ботов, которые могут размещать и быстро удалять крупные заказы.с целью обмануть других ботов. Чем быстрее мой бот сможет поддерживать осведомленность о книге заказов, тем менее он будет восприимчив к таким тактикам. У моего бота даже есть дополнительная логика, чтобы не дать ему быть обманутым поддельными стенами объема от других ботов.
Скорость Human против скорости бота
В погоне за скоростью мне пришлось задуматься о технических деталях, с которыми я не был хорошо знаком. Мне пришлось распараллелить множество рутинных, скучных функций. Я T могу последовательно отменять устаревшие заказы, это заняло бы слишком много времени для моих JSON-запросов, которые ходили бы туда- FORTH по Интернету.
Потому что Coinbaseне предлагает единую конечную точку API для отмены всех заказов одновременно,то, о чем я просил, я отменяю их многими отдельными запросами параллельно. Аналогично, у Coinbase нет конечной точки для создания нескольких заказов одновременно. Поэтому мне приходится отправлять несколько запросов одновременно. Синхронное решение заняло бы несколько секунд, что слишком долго.
Забавно, как Human чувство времени совершенно не подходит для ботов. Даже доля секунды может быть безнадежно долгой. Попытки вполовину менее усердные или движения вполовину менее быстрые T гарантируют половины прибыли; они дают ноль (или хуже). Погружаясь в алгоритмическую торговлю, ONE вжиться в жизненный цикл бота, растянув собственное представление о времени до миллисекунд. Именно в этом масштабе я все еще вижу своего бота тупым и медленным.
По крайней мере, осведомленность бота о книге заказов очень быстрая. Он транслирует вебсокетный поток новых заказов. Каждый элемент — это перестановка книги заказов, поэтому я должен поддерживать состояние книги и вносить небольшие изменения по мере их поступления.
Этот процесс также распараллелен. На самом деле удивительно, насколько это быстро, около 20 перестановок порядка в секунду.
Так что мой бот в основном обеспечивает ликвидность. Он зарабатывает на этом небольшую, но стабильную сумму. Он держит примерно равные суммы биткоинов и долларов, поэтому резкие изменения цен могут оставить его с убытками в данной деноминации. Но в целом он приносит приличную прибыль по сравнению с корзиной 50/50 биткоинов/USD.
[после цитаты]
Мой бот лучше всего работает, когда объем высок, а колебания цен низки. Как поставщик ликвидности, он сглаживает нерегулярные колебания, которые в противном случае возникали бы без маркет-мейкеров. В этом он выполняет полезную функцию, поэтому периоды высокого объема являются наиболее прибыльными. В некоторых случаях резкие колебания, взад и FORTH, могут привести к тому, что мой бот будет упорно удерживать неправильный актив. Таким образом, можно потерять деньги.
Я обнаружил, что режимы с низким объемом являются наиболее опасными. Мой бот стремится оценить торговый курс и соответственно смягчить глубину своих ордеров. Это ограничивает риск попасть в большие колебания ценой того, что его ордера будут исполняться реже.
Я также обнаружил, что вокруг моего баланса есть значительное количество шума. Поскольку цена колеблется, мой бот периодически теряет деньги. Он может терять деньги 45% времени. Но если он выигрывает в оставшиеся 55%, он будет крупно WIN в долгосрочной перспективе.
Учитывая эти шансы, измерение бота начастый основе ONE к наблюдению большего количества случаев потерь по сравнению снечастыйнаблюдения.
Это как проверка вашего портфеля акций. Если бы у вас была гарантированная стратегия, приносящая 10% годовых, но с нормальным уровнем шума, вы бы наблюдали убытки почти в 50% случаев, если бы вы достаточно часто наблюдали за своим балансом, даже если бы вы использовали успешную стратегию. Закон больших чисел работает только… в более длительных временных масштабах.
Хотя поначалу этот бот был просто отвлекающим маневром, я пришел к выводу, что то, что он делает, хотя и упрощенно, действительно необходимо. ONE из самых больших проблем с Bitcoin — это способ, которым это торгуетсяНеликвидность бирж — огромная проблема.
Сравните торговлю Bitcoin с торговлей любым реальным финансовым активом, и вы увидите огромную разницу. Финансисты извлекают огромную ценность из поддержания эффективных Рынки других активов.
Это не происходит просто так, по волшебству. Bitcoin нужны более эффективно функционирующие Рынки , чтобы привлечь серьезных игроков. Это также возможность получения прибыли.
Даже при текущих объемах торговли можно получить большую прибыль, сглаживая колебания рынка. Если бы Bitcoin рос, потребность в ликвидности также увеличилась бы. Я узнал, что инфраструктура — это T только серверы и репозитории GitHub. Это также финансовые посредники, которые заставляют Рынки работать. Тот простой факт, что я мог бы этим заниматься, будучи никем, иллюстрирует замечательную открытость Bitcoin.
Этот пост изначально появился наСередина. Он был переиздан здесь с разрешения.
Изображение ботовчерез Shutterstock
Отказ от ответственности: Эта статья не должна рассматриваться как финансовый совет или инвестиционная рекомендация. Пожалуйста, проведите собственное обширное исследование, прежде чем принимать инвестиционные решения.
Note: The views expressed in this column are those of the author and do not necessarily reflect those of CoinDesk, Inc. or its owners and affiliates.
Andrew Barisser
Эндрю Бариссер — инженер-программист и Криптовалюта в Assembly. Ранее он был аспирантом по биофизике в UCSB, где
терзающее увлечение Bitcoin привело его к программному обеспечению. Он также служил в Корпусе мира в Африке. Помимо науки и Bitcoin,
он любит иностранные языки, письмо и размышления о переменчивости.
