Инвестиции с нуля

От первого шага до первой прибыли

Робот Scatter&Gather: Время разбрасывать камни и время собирать камни

Машинное обучение в трейдинге: Как я обучаю робота Scatter&Gather думать как профи

Друзья, я вышел на тонкий лед — хочу научить робота Scatter&Gather интеллектуальному трейдингу с машинным обучением (Machine Learning, или просто ML). Тонкий по тому, что очень трудно оценить — правильно ли работает алгоритм, тем более, что робот обучается и со временем должен начать работать лучше, чем в начале. А посему пора сделать паузу.

У меня имеется две версии робота, готовые к работе:

v5.1 — робот торгует по принципу сеточника — на падении цены покупает актив, при росте — продает. Имеет один серьезный недостаток — при затяжном падении ваши средства могут закончиться раньше, чем закончится падение. При недостаточности средств робот прекращает покупки, ждет возвращения цены к первым продажам или иного другого поступления средств. Версия полностью протестирована сначала на демо, а затем и на реальном счете.

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

Я выложил для скачивания обе версии, но, рекомендую пока оставаться на v5.1, если вы не готовы к тестированию новых продуктов.

Кроме этого, я выкладываю v7.2 в которой улучшен алгоритм определения тренда. Эта версия переходная между 6-й и 7-й.

Машинное обучение

Ну а теперь я готов приоткрыть дверь в цифровую лабораторию и рассказать об этом амбициозном (для меня) проекте. Речь идет не просто об очередном обновлении кода — речь идет о фундаментальном сдвиге в философии автоматической торговли. Я начинаю учить своего верного робота, Scatter&Gather, не просто следовать инструкциям, а мыслить. И главным инструментом в этом становятся алгоритмы машинного обучения.

Согласитесь, любая, даже самая сложная стратегия, зашитая в код, со временем напоминает заезженную пластинку. Рынок — живой организм, он дышит, меняется, подстраивается. А наш статичный алгоритм продолжает играть одну и ту же мелодию, что в итоге приводит к просадкам. Меня эта перспектива не устраивает. Мой замысел — превратить жесткого исполнителя в гибкого напарника, способного учиться на собственных ошибках и успехах. Что из этого выйдет? Не знаю. Но путь к цели уже начался, и первый важный шаг, платформа для будущих свершений, готова.

От механики к интеллекту: что представляет собой Scatter&Gather v.7

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

Это не просто «доработанная таблица». Это архитектурный фундамент для двойной системы принятия решений. Внутри робота теперь живут и взаимодействуют два аналитика: опытный, но консервативный техник, виртуозно определяющий тренды (унаследованная и улучшенная логика v6.0), и молодой, голодный до данных стажер — будущий ML-модуль.

Самый первый элемент, который появился в версии 7.2, — это кнопка переключения между этими «советниками». Она позволяет на лету, не останавливая торговлю, сменить приоритетную систему анализа. Пока что эта кнопка лишь инициирует перезагрузку ордеров, подготавливая инфраструктуру, но она символизирует дверь, за которой уже стоит будущее.

Зачем такие сложности? Ответ лежит в плоскости практичности. Мир не стоит на месте, и останавливать торговлю для перенастройки — это роскошь, которую мы не можем себе позволить. Моя задача была — обеспечить бесшовный переход. Когда ML-модуль обретет свои первые «мозги», вы одним кликом переведете робота из режима «опытный механик» в режим «адаптивный штурман», не теряя ни секунды на рынке. Это и есть настоящая оперативная гибкость.

За кулисами машинного обучения: как робот будет учиться на своих ошибках

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

Как это работает на первом, уже тестируемом этапе?

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

А что в отдаленной перспективе?

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

Так какой же финальный итог мы получим от всей этой сложной конструкции?

Я вижу его в переходе от реактивной торговли к проактивной. Обычный робот действует по принципу «если А, то Б». Он реагирует на уже наступившие условия. Наша же гибридная система с ML-ядром стремится к модели: «учитывая комплекс факторов А, Б, В и исторический контекст, с высокой вероятностью наступит Г, поэтому оптимально сделать Д».

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

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

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

Но первое, чего я включил в 7-ю версию, — это визуальный контроль. Все решения, «обдуманные» ML-модулем, будут отображаться в реальном времени в таблице. Вам не придется слепо доверять алгоритму; вы будете видеть логику его действий, оставаясь полноправным капитаном корабля, который доверяет штурману прокладывать курс.

Заключение

Версия 7.2 — это не просто обновление. Это приглашение в следующий этап развития алгоритмической торговли, где надежность проверенных методов встречается с безграничным потенциалом машинного обучения. И этот этап начинается сегодня. Робот уже работает на реальных счетах в своем надежном, «механическом» режиме, готовый к тому дню, когда его стажер доучится и получит право голоса.

Присоединяйтесь к этому путешествию — будет познавательно!


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

Свежую версию 8.0_lite выложил здесь.