Блог им. Vzhik90
Серия «Диванный инвестор», часть 0.
Всем привет.
Наверное, каждый хоть раз мечтал о системе, которая генерирует пассивный доход, пока ты отдыхаешь. У меня эта идея тоже не прошла мимо. Я решил разработать ботов для алгоритмической торговли на бирже. Что из этого выйдет — пока неизвестно, но я расскажу обо всем в этой серии статей. Важно: это мой личный эксперимент, инвестиции всегда связаны с риском потери капитала, и я не даю финансовых советов.
13+ лет опыта в программировании, без опыта в финтехе. В данный момент занимаю должность техлида в одной компании, которая занимается разработкой софта для кинотеатров. Изначально писал на C# + MS SQL, в последние 6 лет пишу на JS + MongoDB. Специализируюсь на бэкенде, но готов работать с фронтендом.
Для чего этот цикл статей
На самом деле целей несколько.
Пожалуй, основная цель — сохранить мотивацию. Необходимость в публикации статей поможет мне поддерживать дисциплину в разработке.
Другая немаловажная цель — получить финансовые советы или мнения от тех, кто уже пробовал войти в это направление и достиг успеха (или, наоборот, потерпел неудачу). Особенно жду комментариев от опытных людей Smart-lab, вам виднее, где тут грабли.
Согласно Ричарду Фейнману: «хочешь понять сам — объясни другому». У меня нет глубоких знаний в экономике и в том, как успешно торговать на бирже, я буду постепенно изучать сам и рассказывать вам то, что я делаю. Это же является ответом на вопрос «почему не взять готовую систему?».
Постановка цели
Реализовать систему, в которой можно будет настроить ботов на разные стратегии торговли и довести их до уровня генерации прибыли выше, чем обычный вклад в банке. Постараться интегрировать ИИ в работу некоторых ботов для принятия решений.
Стек
В качестве основы буду использовать платформу MarsX (https://marsx.dev). В данный момент актуальна версия 4, но я в рабочей деятельности использую версию 3, поэтому буду разрабатывать на ней: изучение нового стека не ставится как цель, а версию 3 я уже глубоко знаю и даже принимал участие в ее разработке.
MarsX использует Node.js сервер, MongoDB базу данных, React и Vue.js для фронта, а также множество дополнительных интеграций, к примеру, с Azure Storage и Amazon DynamoDB, которые, возможно, будут полезны в реализации.
На старте для работы с биржей буду использовать REST API Т-Банка. Причина проста — у меня уже есть инвестиционный счет в Т-Банке. Есть большая вероятность сменить брокера в будущем, так как комиссии у Т-Банка не самые низкие.
Для помощи и консультаций буду использовать ИИ: https://grok.com/ и https://chat.deepseek.com/
Железо
На старте планирую всю разработку вести локально на личном ноутбуке HP ProBook 450 G8. Процессор i7-1165G7 имеет достаточно мощности для локальной работы, чтобы работа сервера в фоне была незаметна.
В будущем перенесу на личный домашний сервер (которого еще не существует), или в облако. Но это не скоро.
Цель по публикациям
Планировал писать 1-2 статьи в месяц. Может варьироваться в зависимости от личной загруженности и темпа подготовки материала для публикации.
Длительность цикла: не менее полугода, точно не определена.
Краткосрочные планы
В ближайшей статье будут описаны первые шаги, настройка основного интерфейса, подключение API Т-Банка и вывод данных о портфеле.
В последующих статьях будут рассмотрены конкретные стратегии и сигналы, которые будут использоваться ботами.
Если у вас есть идеи стратегий — пишите в комментариях.
Вопрос к читателям Smart-lab: какие грабли в алгоритмической торговле вы бы посоветовали обойти заранее? И что бы вы сделали иначе на моем месте: другой стек, другой брокер, другой порядок задач? Буду рад любым замечаниям, даже жестким.
Если захочется следить за процессом поближе, у меня есть небольшой Telegram-канал с живыми апдейтами и фейлами: https://t.me/divaninvest
А зачем nodejs, когда есть python+numpy+pandas+scipy и т.д.?
Плюсы специфичны для такой задачи и как-будто избыточны.
Для ревью тоже нужно знать язык. К сожалению, модели все еще косячат сами.
Чтож, посмотрим что выйдет у меня из этого :)
Может дадите несколько советов как строить прибыльные алгоритмы? на что стоит тратить время, а на что можно забить?