Как я торговых роботов разрабатывал

Есть люди, которые утверждают, что можно трейдить в плюс, если следовать простым правилам. Я решил подойти к таким заявлениям с научной точки зрения и написал программу, торгующую криптовалютами.

Бум криптовалют

О, помните эти времена, когда из каждого утюга кричали про криптовалюты! "Биткоин снова обновил максимумы! Он стоит уже $1000, $2000, $3000!"

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

Где-то в начале этого безумного ралли финансовыми инструментами заинтересовался и я.

Первые шаги

Дело было в 2017 году. Тогда один Биткоин стоил $800, а я учился в магистратуре МФТИ.

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

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

Процесс регистрации и покупки активов нетривиален, и сам по себе является интересным опытом. А факт обладания финансовым инструментом побуждает разобраться в его деталях.

Как торговать в плюс?

На этот вопрос вам с радостью ответит куча "экспертов" в интернете. Есть статьи, книги и даже обучающие видео. Люди утверждают, что существуют простые правила, следуя которым можно прогнозировать изменение цены и получать прибыль.

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

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

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

Нужен рисёрч

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

Есть стратегии разных типов. Большинство из них сводятся к одному - посмотрел на график, увидел Сигнал к росту - закупился. Увидел сигнал к падению - продал (или зашортил). Получается, купил подешевле, продал подороже – получил прибыль.

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

Другой пример вожделенных Сигналов - фигуры, которые образует график цены за какое-то время.

Раз все так просто, очевидно, что нужно написать программу, которая бы следовала этим правилам и приносила доход!

Начинаем работу

Я объединился с тремя однокурсниками-единомышленниками, и мы начали разработку торгового робота.

4 Физтеха: физик, программист, математик и дата саентист. Каждый из нас. Успех неизбежен!

Набор стикеров "Криптопротестная Москва"

Чтобы не слить все деньги сразу, мы скачали >100Гб исторических данных о ценах разных криптовалют и построили систему тестирования алгоритмов.

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

Проверяем известные стратегии

За следующие несколько дней мы протестировали огромное количество популярных стратегий, но результата не получили. Все они уходили в минус из-за комиссии и спреда. При этом "эксперты" из интернета показывают реальные примеры на настоящих биржах. Как же так получается?

На самом деле, все просто. Возьмём, к примеру, "перевернутый молот". Считается, что это сигнал к покупке: увидел на графике такую фигуру – покупай, цена пойдёт вверх.

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

Оказывается, это соотношение всегда примерно 1:1. Если мы рассмотрим например 5000 молотов, то в ~2500 случаев цена после него пошла вверх, а в ~2500 – вниз. Если бы мы торговали по этой стратегии, то вышли бы примерно в ноль. Только заплатили комиссию 2 * 5000 раз. Понятно, что заработал здесь только брокер.

Волк с Уолл-стрит

Да, возможно такие стратегии работали раньше, в 18 веке на японских рисовых биржах. Древние трейдеры видели молот (сигнал к росту цены), совершали одновременно много сделок на покупку, что и приводило к росту цены. Сейчас так не работает. Сейчас нужен пост на Reddit.

Целый мир

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

Оказывается, есть много компаний, которые занимаются алгоритмическим трейдингом. Их невозможно победить – у них больше вычислительных и человеческих ресурсов. Куча денег и меньше пинг (время обмена данными) до биржи.

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

В то время компании, ориентированные на алготрейдинг работали только на сток маркете. Само их существование говорит о том, что прибыльные алгоритмы на самом деле существуют! У нас возникла идея: применить их алгоритмы к рынку криптовалют.

Применяем профессиональные алгоритмы

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

Например, иногда можно купить за 1 биткоин 10 монет эфира, за 10 монет эфира купить 100 лайткоинов, а за 100 лайткоинов купить 1.1 биткоина. Если комиссия составила меньше 0.1 биткоина, вы заработали.

Короткий временной промежуток дисбаланса называется "Арбитражное окно". Обычно, его размер составляет единицы миллисекунд. За это время наш робот должен был успеть детектировать возможность арбитража и отправить запросы на 3 сделки.

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

Баланс робота на основе внутрибиржевого арбитража

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

Пора переходить на следующий уровень.

Применяем машинное обучение

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

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

График цены с размеченными моментами покупки и продажи

На вход системе мы также подавали данные об объеме лимитных заявок для каждого момента времени (Биржевой стакан). По факту, мы учитывали информацию о том, как поступают другие участники рынка.

Так меняется биржевой стакан во времени

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

1500% годовых

Однажды утром, проверяя результаты работы разных алгоритмов, я увидел, что один из них за 2 дня сделал +11% к портфелю.

Так менялся баланс аккаунта, с которого торговал наш робот, первые 60 часов

Вы только представьте эмоции, возникающие при виде такой доходности. 11% за 60 часов - это больше 1500% годовых без учета сложного процента!

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

Пытаясь сохранить долю скепсиса, я несколько дней отгонял мысли о том, как легально вывести деньги, заплатить налог и, конечно же, как их потратить.

Тачка трейдера Academeg

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

Через 2 недели робот проиграл всё, что натрейдил раньше, и так и не выбрался из минуса.

Баланс аккаунта, с которого торговал наш робот, 500 часов (20 дней)

Это была случайность.

Осознание

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

18 декабря 2017 года произошел Великий Обвал Биткоина. К этому моменту мы уже потратили кучу денег, сил и времени.

Tradingview.com

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

Мне и сейчас близка эта точка зрения: если сделать полезный продукт для людей, они проголосуют рублём. А лучше долларом.

Деньги, время и силы лучше вложить в проекты, которые принесут пользу.

Я, например, основал Travers – Сервис для поиска инструкторов по сноуборду и горным лыжам.

Над Travers я работаю уже больше полутора лет. Про проект есть отдельная статья. А новости мы публикуем в нашем Instagram.

Выводы

Было интересно и познавательно. Мы с головой окунулись в мир обычной и алгоритмической торговли, узнали кучу нового.

Я даже защитил магистерскую диссертацию на эту тему. А при подготовке общался с управляющим директором BCS Global Markets, Сергеем Глущенко. Тогда он руководил департаментом алгоритмической торговли.

Что касается торговли на бирже, не трейдите – инвестируйте. Делайте этом с умом – нужно обязательно диверсифицировать портфель. Берегитесь мошенников и никогда не верьте, когда вам обещают сверхдоходы вроде 1500% годовых.

Закончить я хотел бы цитатой известного инвестора.

По графику цены можно предсказывать только прошлое

Джейсон Стэйтем

Спасибо, что дочитали! Надеюсь, было не слишком много иронии. Если вам понравился стиль, загляните в мой профиль – там есть ещё классные статьи.

Я не рекламирую телеграмм канал – у меня его нет. Но буду рад, если подпишитесь на меня здесь. Аудитория VC мне нравится и думаю, что за этой штукой будущее. Фейсбуки и прочие Твитеры будут умирать..

А цифра в профиле тешит моё самолюбие)

Успехов вам и классных проектов!

0
246 комментариев
Написать комментарий...
Elizaveta Terentieva

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

Ответить
Развернуть ветку
Ivan. Zakladka

Дам подсказку - биток по сути опцион, а с опционом выигрывает только тот, кто его выпускает. Здесь не будет дивидендов, потенциальной прибыли или развитие компании, спрос на ресурсы в реальной экономике. Пока все согласны платить за токен, он будет расти, как только решат, что это пузырь, он упадет. 

Ответить
Развернуть ветку
Elizaveta Terentieva

чушь, так можно любой инструмент назвать опционом

Ответить
Развернуть ветку
Ivan. Zakladka

Назовёте?
Никакое государство не даст совершать независимую эмиссию валюты. Европе нужна ликвидность? Получите 1трл €. Америке нужна? Вот пакет от Байдена на 
1.9трл $. С битком так можно?

Ответить
Развернуть ветку
Elizaveta Terentieva

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

Ответить
Развернуть ветку
Ivan. Zakladka

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

Ответить
Развернуть ветку
Илья М

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

Ответить
Развернуть ветку
Ivan. Zakladka

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

Ответить
Развернуть ветку
Илья М

поэтому оно не обесценится :) снизиться в цене на некоторое время - может, но как сто лет назад за унцию можно было купить костюм, а за 20 приличную машину - так и сегодня можно.

Ответить
Развернуть ветку
243 комментария
Раскрывать всегда