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

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

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

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

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

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

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

Первые шаги

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

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

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

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

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

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

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

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

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

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

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

Нужен рисёрч

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

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

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

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

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

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

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

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

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

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

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

Набор стикеров "<a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ftlgrm.ru%2Fstickers%2Fcryptoschool&postId=207749" rel="nofollow noreferrer noopener" target="_blank">Криптопротестная Москва</a>"
Набор стикеров "Криптопротестная Москва"

Чтобы не слить все деньги сразу, мы скачали >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 часов
Так менялся баланс аккаунта, с которого торговал наш робот, первые 60 часов

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

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

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

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

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

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

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

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

Осознание

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

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

Tradingview.com
Tradingview.com

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

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

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

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

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

Выводы

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

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

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

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

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

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

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

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

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

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

538538
246 комментариев