Debut: Экосистема автоматизации трейдинга на JavaScript 3 года спустя

10 октября 2019 года команда «Тинькофф Инвестиции» публикует JavaScript-клиент для пользования Open API. Именно это событие сыграло ключевую роль в последующем появлении большого OpenSource-проекта под названием Debut.

Изначально не было цели создать стартап или принести пользу сообществу, это был просто эксперимент, тестирование API если хотите, которым на тот момент был всего месяц. Имея большой бекграунд разработки торговых роботов под форекс, очень хотелось попробовать свои силы в другом рынке.
Так торговый робот, использующий этот алгоритм на языке MQL был перенесен на JavaScript, были добавлены API и робот ринулся в бой!

Буквально за пару месяцев (июнь-июль) заработав 41,384 ₽ — это 20% от 200,000 ₽ в управлении. Ниже, график доходности, который мы сами построили по сделкам, потому что Тинькофф этого не умел и до сих пор не умеет, видимо им не нужно, чтобы люди однозначно понимали они заработали или нет.

Debut: Экосистема автоматизации трейдинга на JavaScript 3 года спустя

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

Так появилась самая первая версия Debut, тогда рабочим названием было PinStock — что означает «булавка» и имело смысл: «быть полезным инструментом в косметичке или чемоданчике трейдера», а также имеет годное окончание слова, совпадающее со сферой применения.

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

— Дать возможность быстро подключить любого желающего к сделкам

— Создать универсальную, расширяемую платформу. Которая бы позволила быстрее запускать роботов в рынок.

— Научить эмулятор истории вставлять все известные по истории брокера тики во внутрь свечей старшего порядка. Это позволит улучшить эмулятор.

— Создать генетический или монтэ-карло оптимизатор (выбрать один из них)

Самая первая задача (про подключение людей), была закрыта почти сразу. И после этого, уже на этом этапе развития, в управление роботов угодила сумма в 15 миллионов рублей. Появились первые инвесторы и первые положительные результаты. Я едва сдерживал себя от мысли использовать свою кредитную карту и залить дополнительным капиталом, чтобы хоть как-то увеличить свой собственный доход в денежном эквиваленте. Все инвесторы были предупреждены, что это еще «сырой» продукт и стабильности может не быть, таким образом мы обозначили риски прямо и открыто. Денег ни с кого не брали, все это было на добровольных началах, в качестве тестирования.
По мере течения времени, удалось закрыть и остальные задачи, в свободное от основной работы время, разумеется. За ширмой этого лаконичного предложения скрываются десятки, если не сотни бессонных ночей и рабочих сверхурочных (выставленных самому себе) часов, во время которых пришлось столкнуться с самыми разными частями математики, вспомнить давно забытый научный бекграунд, которым я занимался 3 года после окончания университета, пока не получил научный гранд в 3000 рублей.

Почти все что делалось на этом этапе развития, состояло из уже готовых частей, написанных другими разработчиками (opensource) и их приходилось лишь связывать и настраивать для решения своих задач. Но все изменилось, когда время занимаемое на всю мат. часть, так сказать, зашкалило до небес. Это стало поводом создавать свои, более быстрые решения, чего уж там в сотню раз более быстрые, как потом покажут метрики. Собственно так началось создание экосистемы под названием Debut. Смысл нового названия был в вызове, прокачать JavaScript как язык, годный для математики, годный для финтеха, показать всем, что с его помощью можно осуществлять быстрые вычисления. А также открыть путь сотням людей, ежедневно решающих задачи на этом языке программирования, к торговле, так сказать, дать возможность дебютировать в этой сфере и разработчикам и языку. Так появились: собственная реализация технических индикаторов, собственный генетический алгоритм. Также удалось сделать визуализацию исторических данных стратегии, на первых парах она выглядела вот так.

Debut: Экосистема автоматизации трейдинга на JavaScript 3 года спустя

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

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

Первые прблемы

На безоблачном небе появились первые грозовые тучи, график доходности по мере усовершенствования инструментария парадоксально разворачивался. И как позже стало известно, виной тому была смена рыночной ситуации. Стоит отметить, что первый запуск пришелся на период начала восстановления рынков акций, после коронавирусной паники. Специфика рынка того времени, как никогда располагала к автоматической торговле, поэтому любая поделка могла зарабатывать. Этот период подошел к концу в начале 2020 года, когда и начались проблемы. Доходность продолжала скакать, от 10% до -10% в месяц. Нужно срочно было искать инструменты, которые еще способны выдать хоть какую-то прибыль, для этого был сделан автоматический серийный оптимизатор, задачей которого было прогонять на всех возможных акциях стратегию, оценивать результаты и записывать лучшие. Так мы стали подбирать инструментарий под стратегию в полу-автоматическом режиме. Но это не помогло. Былого стабильного дохода не осталось и следа. Требовалась оптимизация стратегий, какое-то умное управление рисками и самое главное, понимание факта благоприятной среды для автоматизированной торговли.

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

Выгорание

В ходе моих исследований, требовалось расширять и дорабатывать инструментарий, чем я занимался уже без давления и спешки. Гипотез было проверено много, так как ключевой задачей было определить критерии благоприятного рынка. Было проведено много опытов с корреляцией цен, с их взаимосвязью с курсом валют, сезонностью и различными фундаментальными показателями, были и боле экзотические исследования в духе склонности к воздействию настроений в социуме на цену, ну и другие не менее интересные статистические данные также были проверены на возможность обнаружения хороших периодов для торговли. Но результата, все еще не было. И неизбежно наступило выгорание, опустились руки и казалось, что уже скоро проект прекратит свое существование так и не увидев свет. Нужен был кто-то с сильным опытом в трейдинге, чтобы дать совет или направить, объяснить почему оно работало и перестало. И такой человек нашелся. Это был доброжелатель из компании, которая на промышленном уровне занимается алго-трейдингом.

Криптовалюта

Начало 2021, Курс BTC бил все мыслимые и нет рекорды, вокруг этого рынка был гигантский хайп. Мой новый коллега кроме того, что стал принимать участие в разработке, что вдохнуло в меня и в проект новую жизнь, убедил меня попробовать перенести все из акций в криптовалюту. Также указал на недочеты в стратегиях и подходах. Что заполнило мое свободное время десятками новых задач, по улучшению. Некоторое продолжительное время потребовалось, чтобы освоить API крипто-бирж, сделать реализацию которая бы легко переключалась между Тинькофф и Binance. Наконец все получилось.

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

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

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

Opensource

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

Вышла первая статья про проект на нескольких ресурсах. Это привлекло более 100 разработчиков, и почти 500 человек просто проходящих мимо и интересующихся разработками. Что сразу подтолкнуло проект к ряду усовершенствований и доработок во всех составляющих экосистемы.

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

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

Инвесторы, венчурные фонды и свой хедж фонд

Венчурные фонды не очень активно сотрудничают с "крипто проектами", потому что это "не прозрачно" (по крайней мере в России), поэтому обойдя несколько венчурных фондов, капитал привлечь так и не удалось, капитал требовался для финансирования дальнейших разработок, не для инвестирования.

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

Вот так, по "робингудски".

88
7 комментариев

сдерживал себя от мысли использовать свою кредитную карту и залить дополнительным капиталом

не дурак...
а вот где взяли 20М те кто вписался в блуд-другой вопрос

2

Я конечно же скептически отношусь к подобным решениям. Дико имхую, заявляя, что все они работают лишь по общему тренду. И при смене его, тренда, будут сливать депозит. Тут скорее нужно что-то более объёмное. То есть, нечто оценивающее тренд акций, + тренд акций конкурентов в отрасли, + тренд отрасли в целом, + фьючи и опционы. Обязательно добавить исторические данные, ибо адепты теханализа всё же влияют на рынок. А, ну и главное, нужно быть самому брокером и работать со стаканом биржи напрямую. Но это уже совсем другие железо, деньги, и команда разрабов. Инвестиции то бишь в инвестиции. :).

А так, удачи Вам.
Для полноты анализа работы вашего детища, попробуйте взять например 10 акций у 10 компаний. Всего 100.
И поделите их пополам.

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

Думаю результат Вас сильно удивит.

Я бы также добавил возможность сравнивать стратегии с индексом(buy and hold), чтобы видеть насколько мы обогнали/отстали от индекса.

Мне интересна тема написания на javascript,так как mqlничего кроме работы не вызывает.

Автор - просто сказочный персонаж (вместо слова персонаж вставить подходящее).
3 года жизни угрохал на написание какого то помойного бота с изначально тупиковой стратегией "Сливной бачок" и полностью выгорел.
Конечно тут выгоришь и опустятся руки, когда проср@л все доверенные деньги (15-20 мультов?) инвесторов и друзяк, хотя трейдер из него как из гуано конфета. Сначала разводил на доверии близких, безуспешно хотел отыграться и даже рискнуть своей кредитной картой, но одумался ведь зачем рисковать своими деньгами так ведь? Если твой робот так хорош и приносит деньги - зачем его продавать, смекаешь?
В статье забавно читать как потом пожаловался, что ему оказывается большие дядьки из фондов не дали ему денег дальше "на поиграться" (не такие глупые и доверчивые - упс).

Идем далее - использовал при разработке бота судя по описанию на соседнем IT ресурсе: обучение "бабочек" и сложные "генетические алгоритмы", а также "нейросети".
Прикрутил с десяток другой индикаторов и даже пытался по истории торгов и прогонять и предсказывать будущую прибыль.
Но все тщетно - внезапно очередная пандемия или слив Биткойна с 65000$ до 28000$ этой весной приводил нашего умного как он считает, а по факту "хомячело-математика" к новой депрессии.
Тут до него наконец доходит, что раз робот сливатор не зарабатывает, то он начнет продавать лопаты (подписки за 15$/мес).
Открыл Телеграм канал с сигналами, пишет рекламные статьи на VC и Хабре - зазывает народ. Но когда я перешел по ссылке и последил, что же конкретно делает его помойный робот в канале публикации сделок Debut: Stream [Crypt], вот тут - https://t.me/debutjs то ужаснулся. Потому что со всеми этими наворотами, свистелками и перделками бот закупает шлачину типа DOGE койнов, и в тоже время по индикаторам пытается постоянно шортить нормальные фундаментальные монеты Fantom (FTM), NEAR. Через раз закрывает сделки в убыток по стопам.

Я тут же понимаю, что этого робота засадят в лонги потом на верхах и на очередном крупном сливе Дампе он останется с этими закупленными фантиками по цене 0,3-0,7$. Тогда как прошлой осенью эта DOGE монета-прикол, монета-шутка стоила 0,002$.
Тут на VC была статья про трейдера хомяка - животное обгоняет Уорена Баффета, все индексы и естественно этого помойного бота. Хотя секрет как раз таки прост - правильно составленный портфель и момент входа в рынок.

Естественно я пишу ему в личку и в чат разработчиков, что их стратегия изначально кривая если портфель так тупо составлять и шортить крипту (поймите - её нельзя шортить как и Теслу кстати на фонде). Прошу в чате советы по увеличению производительности и переписыванию своего достаточно успешного PHP робота на JS (трек-рекорд за год постепенно с 40$ до 3000$ дошел без особых потерь - есть все доказательства).
И что же делает этот ЧСВ-шный сказочный персонаж автор? Просто банит всех кто пришел с VC и еще одного программиста с кем я вступил в обсуждение и переписку технических деталей. Параноит на тему того, что я мол пришел видите ли работу у них получить как разраб с двух аккаунтов одновременно.
Нуууу думаю с такими действиями автор точно корову не продаст - дальше не сдвинется ничего. К нему пришли 2 заинтересованных покупашки с VC - а он их забанил, лол.
Хотя единственный просвет из его истории неудаЩи был как раз на моменте когда ему ткнул носом "доброжелатель из компании, которая на промышленном уровне занимается алго-трейдингом".
Но автор думает, что дальше он сам - умный и со своими "бабочкам" обыграет рынок - по факту реально необучаемый тип и танцует на граблях.
Впрочем все дауны думают, что боты это Золотое Дно.
Ну пусть дальше думают. 😏
Я таких кадров (Я Гений! в Самодовольстве) с 2004 года уже столько насмотрелся и на фондовом рынке, и на Форексе и в крипте. Последний знакомый умник с Казани слил 1 млн $ при мне этой весной на Binance Futures (шортил с кред. плечами Биток по 30К и никого не слушал).
Автор, разбань людей - веди себя нормально, слушай что тебе говорят и вуаля робот станет прибыльным. Послушай интервью Алго Капитал как все устроено - есть аналитики, есть трейдеры, есть программисты. И только в команде и с фундаментальным анализом можно что то получить достойное.
А то мечты о своем фонде и миллиардах (сериал "Миллиарды" про квантов пересмотрел походу) так и останутся мечтами.

Дополнение.
Что автору стоило бы изучить первым делом, прежде чем код писать:

1. https://vc.ru/finance/298038-pochemu-keys-s-homyakom-ne-oshibka-vyzhivshego-i-ne-sluchaynost - Кейс с хомяком

Все альткойны двигаются в направлении Биткойна И Эфириума, при этом ты почти всегда находишься либо в кэше (пара с BTC, USDT, USDC), либо в позиции Лонг.

Еще совсем недавно когда Биток еще стоял на отметке BTC = 49.000 USD

Глобальное мнение:

Каждый ДЕГРАДАНТ, публикующий у себя в чатах, каналах, ВИПках подобные картинки (прикрепил к посту) - будет переработан в биореакторе на метан.
(как переработали и его помойного шортящего робота лол).

У крипты действительно бесконечный апсайд!

Поймите, ее НЕЛЬЗЯ шортить!

Сегодня никого не удивляют ETH по 3.000 и BTC по 50.000

Все крупные финансовые институты скрывают свои истинные цели и не публикуют их в открытых медиа и на своих официальных порталах.

Чтобы вы не мешали им в стакане и пуле.

Мы называем их для вас:

BTC = 200.000, ETH = 15.000.

Живите с этим.

Только Лонг на откате, только удержание.

Если желаете LUD = усреднение х3 на солидном откате.

Все, кто хочет с нами поспорить - отправляются читать следующий пост:


Если бы хомяку в том эксперименте дали возможность шортить, то депозиту сразу же пришел конец. Потому что читаем выше:
"У крипты действительно бесконечный апсайд.
Поймите, ее НЕЛЬЗЯ шортить!"


2. https://vc.ru/flood/34471-v-2008-godu-obezyana-naugad-vybrala-akcii-i-za-devyat-let-zarabotala-bolshe-professionalnyh-investorov - Еще показательный кейс 2008 г. с обезьянкой Лукерья

И тут делай хоть, собачку, кошечку, осьминога и так далее - результат будет ОДИНАКОВЫЙ.
ФУНДАМЕНТАЛЬНО влияет только портфель и точка входа в рынок.
По сути это давно уже проверено почти сотней лет опыта тем же Баффетом, но большинство по прежнему наступает на грабли и так не хочет понять до сих пор:

Однажды Джеф Безос, основатель Amazon, спросил у Уоррена Баффета: «Уоррен, вы же говорите такие простые вещи, почему же за Вами не повторяет огромное количество людей?» На что Уоррен Баффет ответил: «Потому что никто не хочет богатеть МЕДЛЕННО».

Что это значит на практике:

Фонды и управляющие рассматривают периоды от 10-15-20 лет. И они ВСЕГДА КОНТРЯТ рынок и тупо ждут.
Например бОльше всего фонды закупались на снижении в пандемию как раз. Тогда как хомяки наоборот в панике прыгали с окон и распродавалась в ямке. Сейчас фонды в диком плюсе и скорее всего управляющие распродаются сейчас в хомячело на росте. И ТОП-менеджеры распродаются сейчас в хомяков на горке:
"Член совета директоров Tesla продал акции на $200 млн поле пробития отметки в $1000"

Значит хомячков на фонде будут жестко брить прям на Хаях (на горках). Вполне возможно попутно переливаясь в крипту.
Потому что крипта = новый Кэш. Которым можно будет скоро расплатиться везде (производитель терминалов оплаты Verifone уже сделал устройство и прошивку с криптой).
Биток и Эфир сегодня стали дефляционные в отличии от бакса, юаня, турецкой лиры, рубля и т. д. Почему то этого тоже никто не понимает, что печатный станок люто обесценивает бумажные обычные деньги.

Автор, убери у робота стратегию Шорт, учитывай в первую очередь ЧТО ты покупаешь какую прежде всего фундаментально монету (BTC, ETH, BNB, DOT, ATOM, SOL, AVAX например это фундамент, а DOGE и всякие SHIBA нет) - и все попрет и заиграет красками.
Период торговли увеличь как минимум 1 час или даже 4 часовой таймфрейм, а лучше дневной D1. Зачем дрочить и кормить биржу комиссиями и торговать на минутках.