Статистический арбитраж биткойнами
В последнее время мало кому известная криптовалюта биткойн (bitcoin) привлекла к себе небывалый интерес. На фоне растущей популярности многократно выросли и объемы торгов на биржах криптовалют. Между тем биржи, на которых осуществляется торговля биткойнами, еще очень молоды и неэффективны и испытывают недостаток в профессиональных игроках, а значит, на них могут быть с успехом использованы различные стратегии безрисковой торговли, такие как межбиржевой арбитраж. Учитывая небывало высокую волатильность биткойна и тот факт, что разница курсов на различных биржах достигает 20%, а иногда и еще больше, то потенциал доходности арбитражных стратегий на рынке биткойнов становиться просто огромным, особенно в сравнении с классическими рынками. В данной статье мы расскажем об уникальной торговой стратегии – статистическом арбитраже биткойнами и покажем, как в программе MegaTrader создать торгового робота, реализующего данную стратегию.
В настоящее время существует несколько бирж, на которых торгуют криптовалютой, но достаточно ликвидными из них являются только две. Первая – это японская биржа MtGox, которая является самой старой площадкой купли/продажи биткойнов и имеет наибольшие объемы торгов. Вторая – более молодая и активно развивающаяся биржа BTC-e. Интересной особенностью этих бирж является то, что на MTGox стоимость биткойна обычно дороже, чем на BTC-e. В качестве примера приведем график цен биткойна на биржах MTGox (синяя линия) и BTC-e (красная линия) за период с 14 августа по 24 декабря 2013 года:
А ниже, для большей наглядности, приведем график спреда между биржами (разности цен на MTGox и BTC-e):
После беглого взгляда на графики первое, что приходит на ум – это купить биткойны на BTC-e, перевести их на MTGox и там продать. Именно такую стратегию обычно советуют в различных статьях, посвященных заработку на биткойнах. Однако если все аккуратно посчитать, то окажется, что данная стратегия оказывается не такой уж и прибыльной. Во-первых, за то время, пока осуществляется перевод приобретенных на BTC-e биткойнов на биржу MTGox, цена на криптовалюту может упасть, что, с учетом высокой волатильности биткойна, может стать причиной существенных потерь. Во-вторых, вывод средств с MTGox занимает от двух недель до месяца, что существенно ограничивает частоту подобных арбитражных сделок до одной, максимум двух в месяц. В-третьих, комиссии, которые нужно будет заплатить за вывод средств от продажи биткойнов с MTGox и последующий завод на BTC-e для следующего круга, будут съедать добрую часть прибыли от арбитражной сделки. В результате в чистом виде данная стратегия оказывается неприемлема для рядового трейдера.
Мы же предлагаем более прибыльную стратегию – это статистический арбитраж между биткойн-биржами. Данная стратегия основана на феномене сохранения исторического соотношения между стоимостью схожих финансовых инструментов. При этом заработок происходит за счет спекуляций на колебаниях спреда относительно значения этого соотношения. Применительно к торговле биткойнами статистический арбитраж будет выглядеть следующим образом: когда разность цен на биржах оказывается выше их исторического соотношения, осуществляется продажа спреда, т.е. короткая продажа биткойнов на MTGox и одновременная покупка на BTC-e. И наоборот – когда разность цен оказывается ниже исторического соотношения, осуществляется покупка спреда, т.е. покупка на MTGox и одновременная короткая продажа на BTC-e. Когда же разность цен возвращается к своему историческому соотношению, то осуществляется закрытие позиций. Преимуществом подобного статистического арбитража является практически полное отсутствие рыночных рисков: поскольку совокупная позиция состоит из разнонаправленных позиций по отдельным инструментам, то она всегда остается нейтральной и тем самым оказывается застрахованной от непредсказуемых колебаний рынка. Единственным риском стратегии является изменение значения исторического соотношения между инструментами. Однако в случае с биткойнами данный риск также сведен к минимуму, поскольку торговля, по-сути, ведется одним и тем же активом и диапазон изменения соотношения априори не может быть слишком большим.
Единственная проблема здесь заключается в том, что на указанных биржах отсутствует возможность коротких продаж, т.е. нельзя играть на понижение. Но, к счастью, из этой ситуации есть выход – это использование CFD-контрактов на биткойны. Дело в том, что бурный рост популярности криптовалют привел к тому, что уже целый ряд форекс-брокеров и дилинговых центров стали предоставлять возможность торговли биткойнами в форме CFD-контрактов. И в будущем количество таких компаний, скорее всего, будет только расти. В качестве базовой цены для CFD-контрактов дилеры предпочитают использовать цену биткойна на бирже MTGox. В тоже время BTC-e, начиная с октября 2013 года, предлагает специальные MetaTrader-счета для торговли биткойнами через терминал MetaTrader 4 с возможность осуществления коротких продаж. В результате появляется возможность простой реализации статистического арбитража биткойнами между биржами MTGox и BTC-e. Для этого достаточно открыть два счета: первый – у форекс-дилера, предоставляющего CFD-контракты на биткойн, торгуемый на бирже MTGox, и второй – MetaTrader-счет на бирже BTC-e. А дальше – достаточно задать алгоритм торговли в программе Megatrader и можно начать зарабатывать на разнице курсов.
Теперь перейдем к практической стороне вопроса и рассмотрим создание торгового робота в программе Megatrader, реализующего стратегию статистического арбитража биткойнами.
Для начала необходимо сформировать спред. Для этого с помощью команды меню "Settings > Composite instrument settings" ("Настройки > Настройки торгового инструмента") нужно открыть окно настроек спреда, где задаются две группы инструментов, составляющих спред. В первую группу (группа "Short") добавляем CFD-контракт на биткойн, торгуемый на бирже MTGox, а во вторую (группа "Long") – контракт на биткойн на бирже BTC-e. При добавлении CFD-контракта нужно обратить внимание на размер лота и, в зависимости от его значения, установить параметр "Lots in spread unit" ("Количество лотов в единице спреда") так, чтобы он соответствовал одному биткойну. К примеру, если размер контракта равен 100 биткойнам, то в параметре "Lots in spread unit" нужно установить значение 0.01. На BTC-e размер контракта равен одному биткойну, поэтому в параметре "Lots in spread unit" просто устанавливаем значение 1.

Теперь перейдем непосредственно к созданию торгового алгоритма, который описывается в программе при помощи специального встроенного языка скриптов. Основная идея алгоритма уже была описана выше: нужно продавать или покупать спред, когда он, соответственно, поднимается выше или опускается ниже заданного отклонения от исторического соотношения между стоимостью биткойна на двух биржах. Закрывать позиции будем по возвращению спреда к этому соотношению. Основной вопрос здесь заключается в том, как вычислить это историческое соотношение. Простейший способ заключается в том, чтобы взять в качестве этого соотношения скользящую среднюю спреда достаточно большого периода (к примеру, 5000), которая будет определять средний уровень колебаний спреда.
Чтобы реализовать данный торговый алгоритм в программе, необходимо предварительно добавить к графику спреда нужные индикаторы. Для этого с помощью команды меню "Chart > Add chart" ("График > Добавить график") сначала добавляем к графику индикатор "Mean Price", который показывает среднее значение лучших цен спроса (Bid) и предложения (Offer) спреда. А затем добавляем скользящую среднюю, указав в качестве источника данных созданный перед этим индикатор "MeanPrice". Также для скользящей средней нужно обязательно указать идентификатор, при помощи которого мы будем ссылаться на нее из кода скрипта (по-умолчанию это будет "MA").
Теперь можно приступать к созданию скрипта. Простейший скрипт, описывающий предложенный торговый алгоритм, будет иметь следующий вид:

Протестируем данный скрипт на исторических данных за период с 25 ноября по 20 декабря 2013 года. Обратите внимание, что поскольку биржа BTC-e берет комиссию за сделки, то ее также нужно учитывать при тестировании. Установим величину комиссии в 2.5 пункта (хотя на самом деле это избыточно). В итоге, за указанный период получим следующий график доходности и финансовые показатели торговой стратегии:
Рассмотрим еще один, более хитрый, способ расчета исторического соотношения. Для этого построим график отношений цен биткойна на биржах MTGox и BTC-e (разделим стоимость биткойна на MTGox на его стоимость на BTC-e):
Как видно, полученный график более стационарный, чем график спреда, приведенный выше. На графике заметно, что отношение цен стабильно колеблется вокруг значения 1.1. Это означает, что стоимость биткойна на бирже MTGox в среднем в 1.1 раз (на 10%) больше, чем на BTC-e. Данную величину можно назвать «справедливым» историческим соотношением цен между биржами. Отсюда легко вывести, что значение спреда (разности цен между MTGox и BTC-e), соответствующее этому «справедливому» соотношению, будет равно 10% от стоимости биткойна на BTC-e:
Действительно, если цены находятся в «справедливом» соотношении, то
MTGox / BTC-e = 1.1, а значит MTGox = 1.1*BTC-e.
Подставив эту величину в формулу спреда получим:
Spred = MTGox – BTC-e = 1.1*BTC-e – BTC-e = 0.1*BTC-e.
Возьмем это "справедливое" значение спреда в качестве исторического соотношения и подставим его в наш скрипт вместо скользящей средней. В результате итоговый скрипт будет выглядеть так:
Как видно, скрипт практически не изменился. Единственное изменение коснулось расчета исторического соотношения в начале скрипта. Помимо этого мы также немного уменьшили величину отклонения для открытия сделок (с 30 до 20), чтобы система чаще торговала.
Протестируем новый скрипт на том же самом историческом периоде:
Как видно, результаты системы даже улучшились: за месяц торговли одной парой биткойнов прибыль составила 863$ при 100% прибыльных сделок.
Итак, мы рассмотрели два примера торговых алгоритмов и скриптов, реализующих статистический арбитраж биткойнами. Несмотря на то, что приведенные стратегии достаточно просты, они, тем не менее, наглядно показывают высокий потенциал доходности статистического арбитража биткойнами. Однако существует множество путей дальнейшего улучшения предложенных торговых алгоритмов. К примеру, можно добавить в скрипты возможность усреднения позиций, т.е. распределение покупок или продаж спреда по нескольким уровням относительно исторического соотношения. Пример того, как это сделать, можно найти в статье Календарный арбитраж на FORTS, Ч.2 – Создание торгового робота. Описанный там скрипт можно практически без изменений использовать и для арбитража биткойнами.
В заключение отметим, что покуда будут существовать сложности с переводом средств между торговыми площадками, а на биржах будет отсутствовать возможность коротких продаж, существенное различие цен на различных биткойн-биржах скорее всего будет сохраняться, а значит, стратегия не потеряет своей актуальности. Таким образом, сложившаяся в настоящий момент на биржах криптовалют ситуация предоставляет уникальный шанс воспользоваться всеми преимуществами арбитража и получить большой доход при минимальном риске.

Вернуться на главную страницу
Контактные данные:

По вопросам приобретения торгового робота:
+1 123 4567890 hello@loftpineapple.com

По вопросам технической поддержки:
+1 123 4567890 hello@loftpineapple.com

Адрес:
Loft Pineapple, 22 Pink Street,
New York