bascomo
bascomo личный блог
Вчера в 21:35

Как я строю систему, которая торгует сама

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

Не торгового бота. Не скрипта с парой индикаторов. Полноценный конвейер, который делает всё сам — от анализа сырых рыночных данных до размещения ордеров на бирже.

Расскажу, как это устроено — в общих чертах.

Идея

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

Моя система не придумывает стратегии. Она их ищет — методично, перебирая огромное пространство возможных комбинаций рыночных сигналов. Думайте об этом как о генетической селекции: выживают только те паттерны, которые доказали свою состоятельность не на одном инструменте, а на сотнях.

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

Конвейер из шести частей

 Как я строю систему, которая торгует сама

Система состоит из шести модулей. Каждый решает ровно одну задачу и не знает ничего лишнего о соседях.

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

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

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

Селектор ранжирует выжившие стратегии. Не только по прибыли — по совокупности качеств: насколько стабильны результаты, насколько управляем риск, насколько хорошо стратегия ведёт себя именно тогда, когда рынок ведёт себя плохо.

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

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

Главная проблема: переобучение

Если вы достаточно долго ищете паттерн в исторических данных — вы его найдёте. Проблема в том, что нашли вы, скорее всего, шум, а не закономерность.

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

Я потратил непропорционально много времени именно на борьбу с этим. В систему встроено несколько независимых механизмов, каждый из которых задаёт один и тот же вопрос разными способами: «А не выучил ли ты просто прошлое?»

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

Ни один из этих инструментов не даёт гарантий. Вместе — дают разумную уверенность.

Масштаб

Система работает с несколькими сотнями инструментов одновременно: криптовалютные фьючерсы на Binance и рублёвые активы на Московской бирже. Исторические данные — сотни миллионов минутных свечей.

Генетический поиск запускается на кластере из нескольких десятков вычислительных узлов и занимает около недели. Результат — тысячи «паспортов» стратегий, из которых после всех фильтров в боевой портфель попадают несколько сотен.

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

Защита капитала

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

Есть «аварийный рубильник» — если дневные потери превышают определённый порог, всё останавливается немедленно и не возобновляется без ручного вмешательства.

Отдельного внимания заслуживает то, что я называю «ночным режимом»: пока я сплю, система ведёт себя значительно консервативнее — меньше входов, стопы подтянуты, лимиты ужесточены. Биржевые стоп-ордера размещаются на случай полного падения сервера. Это важно: если процесс умирает в три ночи, позиции не висят без защиты.

Зачем это вообще

Вопрос, который мне задают чаще всего.

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

И потому что это красиво — когда сложная машина работает сама.

52 Комментария
  • ХХХ
    Вчера в 21:42

    Не в тот журнал написали…))

  • Игрок
    Вчера в 21:52
    Как скачать?
  • Ho_Chu
    Вчера в 21:54
    написано красиво, спору нет
  • Дмитрий Киреев
    Вчера в 22:10
    А есть уже результат от Ваших изысканий? Т.е эта система(системы) зарабатывают уже  Вам деньги или это пока просто изыскания? И если зарабатывают, то если не секрет сколько получается  % в год?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн