Почему AI-модель технических индикаторов ломается на смене режима
RSI нормирует движение на выбранное окно, и на тренде это играет против разметки: индикатор неделями висит в зоне перекупленности, а каждое касание границы модель читает как разворот. Часть таких сигналов отрабатывает на откате, часть — нет, и отличить их по одному значению невозможно. MACD устроен ещё честнее в своей слабости: он считается как разность скользящих средних, поэтому запаздывание сигнала заложено в саму формулу. Пересечение фиксируется, когда движение уже прошло, а гистограмма разворачивается позже точки входа.
Bollinger Bands добавляют третье измерение — ширину канала. Пробой полосы при сжатом канале и пробой при расширенном — статистически разные события, хотя для модели это один и тот же признак. Ложные сигналы индикаторов здесь не шум, а следствие того, что индикаторы описывают цену, а не причину её движения.
Основная поломка происходит на обучении. Подгонка под историю — это когда AI-модель технических индикаторов находит сочетания значений RSI, MACD и Bollinger Bands, совпадавшие с ростом в прошлом окне, но не имеющие повторяемой причины. На исторических данных точность выглядит высокой ровно потому, что эти же данные участвовали в настройке, а не проверяли её.
Анализ RSI, MACD и Bollinger Bands теряет силу в момент смены характера ряда: меняется волатильность, соотношение тренда и боковика, связи между инструментами. Признаки, отобранные на спокойном участке, перестают предсказывать — и это не деградация весов, а смещение самих данных. Разбираем, как это закрывается устойчивыми к режиму признаками и проверкой на данных, которых модель не видела.
Точность сигналов, задержка отклика и устойчивость к смене режима
Точность сигналов — не одно число, а три независимых измерения: доля ложных срабатываний, задержка отклика и поведение на смене режима. Модель может выигрывать на среднем по истории отрезке и терять всё на боковике, где RSI разворачивается часто, а MACD даёт ложные пересечения. Поэтому принимаем работу по фиксированному списку проверок, где каждый пункт считается отдельно на отложенном отрезке.
- Доля ложных срабатываний. Считаем не общую точность, а долю входов, закрытых по защитному условию раньше целевого уровня — по каждому режиму отдельно, а не в среднем по выборке.
- Задержка отклика. От закрытия бара с подтверждённым сигналом до расчёта целевой позиции держим доли бара, иначе вход проходит по цене хуже той, на которой посчитан признак.
- Боковик. Отдельный прогон на участках без направленного движения: полосы Боллинджера схлопываются, и модель не должна открывать вход на каждом касании границы.
- Трендовый участок. Проверяем удержание позиции через откаты — сигнал не должен переворачиваться от первого возврата цены к средней.
- Качество признаков. RSI, MACD и полосы считаем по одной методике и одному периоду сглаживания (TA-Lib как эталон) — расхождение даёт систематический сдвиг сигнала.
- Устойчивость к смене режима. Момент переключения фиксируем по волатильности, а не ручным правилом, и смотрим долю ошибок в первые часы после смены.
- Воспроизводимость. Повторный прогон того же отрезка даёт те же сигналы — без этого метрики точности ничего не значат.
Варианты построения: от пороговых правил до гибридных схем
Технические индикаторы дают формализуемый сигнал, поэтому способ его разбора определяет устойчивость всей системы. Жёсткие пороги читаются человеком и не требуют накопленных данных, но на смене режима рынка дают серию ложных срабатываний — RSI держится в зоне перекупленности дольше, чем заложено в правиле, а полосы Bollinger Bands расширяются ровно тогда, когда прежний порог перестаёт что-либо значить.
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Правила на индикаторах | Нужна полная объяснимость решения, истории мало, сигнал проверяется вручную | Ломается при смене волатильности, пороги приходится перебирать заново |
| Модель на табличных признаках | Индикаторы уже сведены в один срез на момент решения, важны их нелинейные сочетания | Теряет порядок событий: вход в зону и выход из неё выглядят одинаково |
| Модель на последовательности | Важен сам путь индикатора — серии, дивергенции, накопление сигнала | Нужна длинная история и аккуратная разметка, поддержка дороже |
| Гибридная схема | Режим рынка меняется, нужны и объяснимость, и гибкость | Требует контура регулярного дообучения и контроля смещения распределения |
Выбор идёт не по «сложности модели», а по объёму истории, цене ошибки и требованию к объяснимости. На практике чаще работает гибридная схема: правила задают каркас и отсекают заведомо недопустимые состояния, модель уточняет вес признаков внутри разрешённой области. Дальше её качество держит регламент: раз в отчётный период регулярное дообучение на свежем окне данных, проверка на отложенном участке, сравнение с текущей рабочей моделью и откат, если метрики просели. Без этого контура любая схема деградирует молча.
Этапы внедрения: от аудита котировок до эксплуатации
Работу ведём последовательно: сначала проверяем пригодность данных, затем строим признаки, и только потом обучаем модель. Каждый этап закрывается проверяемым артефактом — отчётом, набором признаков, метриками. Пропущенный шаг на аудите данных дороже всего обходится в эксплуатации.
-
Аудит исторических данных. Сводим котировки из разных источников к единому шагу по времени, размечаем пропуски и разрывы торговых сессий. Проверяем ряд на заглядывание вперёд: значение текущего бара не должно попадать в расчёт до момента принятия решения.
-
Проектирование признаков. RSI, MACD и Bollinger Bands считаем на скользящих окнах с лагами, добавляем производные — расхождение цены с индикатором, ширину полос, смену знака гистограммы. Для каждого признака фиксируем формулу, окно и источник.
-
Обучение и подбор параметров. Ряд разбиваем по времени, а не случайно, иначе модель запоминает соседние бары и показывает завышенное качество. Параметры подбираем на участке, который не пересекается с проверочным.
-
Валидация на отложенном периоде. Прогоняем модель на данных, которых она не видела, и отдельно смотрим поведение в разных режимах рынка — тренд, боковик, высокая волатильность. Если качество держится только в одном режиме, признаки переделываем.
-
Настройка контура расчёта. Собираем регулярный пересчёт признаков и сигналов, сверяем результат контура с обучающим на одних и тех же данных: расхождение означает ошибку в обработке.
-
Передача в эксплуатацию. Отдаём конфигурации контура, регламент переобучения, панель с метриками качества и оповещения о дрейфе данных. Команда заказчика запускает расчёт самостоятельно.
Что остаётся у вас: код, признаки, регламенты, документация
Модель — примерно половина результата, вторая половина — то, что позволяет считать её воспроизводимо и переобучать без нас. Поэтому передаём не только AI-модель технических индикаторов, но весь контур: код, признаки, расчётную схему и правила эксплуатации, а не один файл с весами.
- Исходный код обучения и расчёта с фиксированными версиями зависимостей — окружение поднимается с нуля на чистой машине.
- Конфигурация признаков: окна RSI, периоды MACD, отклонения полос Боллинджера, правила обработки пропусков и перехода между интервалами баров — в декларативных файлах, а не зашиты в код.
- Схема расчётного контура: где считаются индикаторы, где применяется модель, как обновляются данные, где стоят проверки и повторы при сбоях.
- Регламент переобучения: условия запуска — деградация контрольных метрик или смена режима рынка, окно обучения, порядок валидации и откат к предыдущей версии.
- Контрольные метрики на отложенной выборке с фиксированными разрезами: версии сравниваются между собой на одних и тех же данных.
- Техническая документация: описание признаков, форматов входных данных, интерфейсов и границ применимости модели.
- Приёмочные тесты на эталонных данных — по ним расчёт воспроизводится на вашей стороне и сверяется с нашим результатом.
Как сократили долю ложных сигналов на боковике: разбор проекта
Заказчик — команда алгоритмической торговли AlgoDesk: сигналы генерировались автоматически по RSI, MACD и Bollinger Bands, но контур не различал тренд и диапазон. На тренде входы отрабатывали, а на боковике большинство сделок закрывалось по стопу в первые минуты — цена возвращалась к середине канала, хотя индикаторы показывали согласованный сигнал. Трейдеры снимали такие входы вручную, то есть автоматизация нагрузку не снимала.
Переобучать модель на «удачных» сделках не стали — это подгонка под историю. Добавили отдельный слой оценки режима: по сжатию полос волатильности, наклону средней и расхождению подтверждающих индикаторов участок помечается как трендовый или боковой. В диапазоне порог срабатывания выше и вход требует подтверждения со старшего интервала; на тренде чувствительность прежняя, чтобы не терять начало движения.
Метрики до и после
- Доля сигналов, закрытых по стопу сразу после входа на боковике: 61% → 23%.
- Среднее число входов в час внутри диапазона: 14 → 5.
- Прибыльность на трендовых участках: в прежнем коридоре, задержка входа — одна свеча.
- Просадка в диапазонные недели: меньше примерно втрое.
- Ручных снятий сигнала трейдером: с десятков за смену до единичных.
Отсев шума не зарезал чувствительность: стабильность на тренде сохранилась, а ложные сигналы на боковике перестали быть потоком. Управляемость вернулась к контуру — неблагоприятный режим модель помечает сама, трейдер вмешивается только в исключениях.
Чем отличается разбор индикаторов от прогноза по сырым котировкам?
Сырые котировки — зашумлённый ряд: микроструктурный шум, разрывы на новостях, смена волатильности. Модель на таком входе учится отличать закономерность от случайного всплеска, и ей нужна длинная история и проверка на отложенном периоде — иначе она запоминает прошлое вместо текущего режима. Индикаторы — сжатое представление того же ряда: RSI, MACD и Bollinger Bands уже сглажены и нормированы, поэтому вход получается компактнее и устойчивее к единичным выбросам.
Разбор индикаторов выигрывает там, где важна объяснимость результата. Пересечение MACD, выход RSI из зоны перекупленности, касание границы канала — решение раскладывается на проверяемые условия, которые можно прогнать по истории и обсудить с риск-контролем. Ложных срабатываний на коротких окнах меньше, а объёма данных для обучения требуется заметно скромнее.
Прогноз по сырым котировкам нужен, когда сигнал живёт в структуре самого ряда: смена режима волатильности, затяжной тренд, реакция на новостной разрыв. Индикаторы здесь запаздывают — они построены на сглаживании и физически не успевают за резким изменением. Для таких задач модель обучают на последовательности цен, а индикаторы подключают как дополнительные признаки, а не как единственный источник.
Выбор подхода мы делаем от задачи, а не от привычки: горизонт, допустимая задержка сигнала, объём истории, требования к объяснимости. На практике чаще работает гибрид — расчёт по индикаторам как каркас и модель на самом ряде для тонких зависимостей. Объяснимость при этом сохраняется: видно, какие индикаторы дали вклад, а какие участки ряда усилили сигнал.
Переобучение, утечки данных и разрывы: частые сомнения
Три возражения всплывают почти на каждом старте: как доказать, что модель не подогнана под историю, что делать с пропусками в ряде и не развалится ли результат при смене режима рынка. Короткие ответы по существу — без них обсуждать архитектуру рано.
Как проверяете, что модель не подогнана под историю?
Ряд делим по датам, а не случайной выборкой: обучение на одном отрезке, проверка на следующем, затем окно сдвигается — модель проходит через разные состояния рынка. Признаки считаются только по закрытым барам, иначе индикатор подглядывает в будущее. Смотрим не лучший результат, а разброс между окнами: держится в узком коридоре — подгонки нет.
Что делать с разрывами и пропусками в ряде?
RSI, MACD и полосы Боллинджера считаются по непрерывному окну, и пропуск внутри ломает значение. Календарь выравниваем по торговым интервалам, а не по календарным дням; короткие пропуски восстанавливаем, длинные — режем и помечаем как разрыв, чтобы модель не училась на склейке разнородных участков.
Как понимаете, что модель работает не в одном режиме рынка?
Метрики считаем отдельно по тренду и боковику: средняя точность скрывает провал в одном из них. В отчёте видно, где сигнал уверенный, а где модель отдаёт осторожный результат. Смена режима заметна по распределению признаков заранее, а не по просадке на счёте.
Насколько объясним результат?
По каждому сигналу видно, какие индикаторы дали вклад и на каких значениях — вплоть до участка истории, который пересчитывается вручную. Это и критерий приёмки: инженер заказчика воспроизводит сигнал и получает то же число.
Обсудим задачу и вернёмся с оценкой и планом работ
Достаточно принести то, что уже есть: выгрузку исторических котировок по нужному инструменту, правила расчёта сигналов в текущем виде и описание того, как результат используется сейчас. Этого хватает, чтобы оценить состав данных, этапность и объём работ — отдельная спецификация на входе не нужна.
- Состав данных: источники и глубина истории, периодичность, известные пропуски и выбросы, какие индикаторы считаем (RSI, MACD, Bollinger Bands) и с какими окнами усреднения.
- Требования к контуру: где считается модель — закрытый внутренний контур или внешние сервисы, кто имеет доступ к данным и результатам, нужно ли разделять обучение и вывод.
- Целевое поведение: что считаем верным сигналом, какой горизонт прогноза, что дороже — ложное срабатывание или пропуск движения.
- Режим работы: разовый расчёт, регулярный пересчёт по расписанию или непрерывный поток, с какой задержкой от появления свечи нужен результат.
- Управление риском деградации: как модель отключается, что считаем ухудшением качества и по какому набору метрик это видно.
- Точки приёмки: на каком историческом отрезке проверяем, кто со стороны заказчика подтверждает результат и как оформляем расхождение.
- Доступы и роли: кто отвечает за выгрузки, кто — за приёмку, нужны ли тестовые данные с ограниченным доступом.
После обсуждения вернёмся с оценкой сроков, планом работ по этапам и требованиями к данным и контуру — в письменном виде, чтобы их можно было согласовать внутри команды.







