Почему разработка AI модели свечных паттернов даёт сбой
Чаще всего разработка AI модели для анализа свечных паттернов ломается не на архитектуре, а на данных. Разметку фигур делают люди или скрипты, и там, где один считает «двойное дно» состоявшимся, другой видит боковик: границы фигуры, допуск по глубине отката и момент подтверждения трактуются по-разному. Модель, обученная на такой разметке, усредняет противоречия и выдаёт сигнал, который нечем подтвердить.
Вторая проблема — редкие фигуры. При обучении на исторических котировках «голова и плечи» или клин встречаются в разы реже трендовых участков, и распознавание паттернов смещается в сторону частого класса: система предсказывает продолжение движения и пропускает разворот. Подкрутка порога тут не помогает — нужна точная разметка редких фигур, взвешивание классов и отдельная проверка на них.
Третий источник сбоя — масштаб таймфрейма. Одна и та же конфигурация свечей на младшем и старшем графике имеет разную статистику: внизу это шум, вверху — значимая фигура, поэтому модель, обученная на одном масштабе, при переносе теряет точность. Признак, посчитанный по незакрытой свече, добавляет задержку сигнала и ложные срабатывания на последнем баре.
На практике это выглядит так: система либо запаздывает с входом, либо молчит там, где разворот был очевиден постфактум. Ниже разбираем, как это закрывается на уровне подготовки данных, разметки и проверки модели.
Что меняется после внедрения модели распознавания паттернов
Разметка исторических данных — самый дорогой по времени этап: аналитик вручную отмечает фигуры на графике, и на длинной истории это тысячи отметок с разной трактовкой границ. После внедрения модели доля ручной разметки падает до выборочной проверки — инженер просматривает только спорные фрагменты, где уверенность модели низкая. Точность распознавания паттернов на отложенной выборке держится в коридоре, при котором расхождения с разметкой аналитика остаются допустимыми для торговой логики.
Отдельно решается устойчивость к шуму в котировках. Модель обучается на данных с искусственно внесёнными пропусками, выбросами и разрывами ликвидности, поэтому не принимает за фигуру случайную серию теней. Это убирает класс ошибок, который дороже всего обходился на практике, — ложные пробои уровней, когда сигнал срабатывал на тонком рынке и разворачивался в течение следующей свечи.
Воспроизводимость результата обеспечивается обучением на PyTorch с фиксацией версий весов, параметров и набора данных. Любой прогон можно повторить и получить тот же результат, а сравнение двух версий модели опирается на одинаковые входные условия, а не на память аналитика.
Проверка на новых данных встроена в регламент: модель прогоняется на периоде, не участвовавшем в обучении, и метрики сравниваются с предыдущей версией. Сигнал не деградирует при смене волатильности, а решения об обновлении принимаются по числам.
Готовое решение или обучение под ваши данные: сравнение подходов
Сравнение подходов начинается не с выбора алгоритма, а с вопроса: насколько ваши свечные графики похожи на то, что система уже видела. Готовая система распознавания выходит в работу быстро, но её качество на вашем инструменте и таймфрейме никто не проверял. Дообучение под свой рынок переносит уже выученные признаки формы свечей на ваши данные — но только если история размечена единообразно и без пропусков.
Ниже — три рабочих варианта, между которыми реально выбирают, и то, чем каждый из них ограничен.
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Готовая система распознавания | Нужен работающий результат в короткий срок, формации типовые | Логика закрыта, разметку и пороги срабатывания не исправить; на вашем рынке качество не подтверждено |
| Дообучение готовой модели под свой рынок | Есть своя история наблюдений и 2–3 тысячи размеченных примеров | Требует дисциплины разметки и отдельного периода проверки, где условия рынка не менялись |
| Обучение с нуля на своих данных | Нетиповые формации, свои правила входа и выхода, нужна полная прозрачность решения | Самый длинный путь: нужен большой и чистый размеченный массив |
На практике чаще берут середину: готовую систему распознавания — как базовый слой для типовых формаций, дообучение — для паттернов вашего рынка, а правила входа и выхода остаются за вами. Такой гибрид даёт работающий результат на раннем этапе и оставляет запас для роста точности по мере накопления разметки. На разборе задачи мы смотрим вашу историю и говорим прямо, какой из вариантов даст результат именно на ваших данных.
Этапы работы: от аудита данных до передачи в эксплуатацию
Мы идём от данных к модели, а не наоборот: сначала проверяем, что в истории достаточно примеров каждого паттерна, и только потом берёмся за обучение. Каждый этап закрывается артефактом — отчётом, схемой разметки или протоколом проверки, поэтому ошибка вскрывается на текущем шаге, а не на этапе эксплуатации.
- Аудит исторических данных. Проверяем глубину истории по каждому инструменту и масштабу графика, непрерывность котировок, пропуски и разрывы. Итог — отчёт о пригодности: по каким паттернам выборки хватает, а где её нужно расширять.
- Схема разметки. Фиксируем формальное определение каждого паттерна: состав свечей, допуски по пропорциям, поведение на границах фигуры. Без этого разметчики и модель понимают один и тот же паттерн по-разному.
- Проверка качества разметки. Считаем согласованность между разметчиками на контрольной подвыборке и разбираем спорные случаи. Порог согласованности задаём до начала работы, а не после.
- Обучение. Обучаем модель на размеченной истории, параметры подбираем на валидации, отдельно прорабатываем редкие паттерны и дисбаланс классов.
- Проверка на отложенном периоде. Прогоняем модель на данных, которых она не видела, включая участки с другой волатильностью. Смотрим точность и полноту по каждому паттерну отдельно, а не средний балл.
- Внедрение. Подключаем модель к потоку данных, настраиваем журналирование предсказаний и контроль расхождения с фактическим поведением рынка.
- Передача в эксплуатацию. Отдаём регламент сопровождения: когда переобучать, что делать при просадке метрик, как откатиться на предыдущую версию без простоя.
Что заказчик получает на руки: комплект и документация
Комплект передаётся так, чтобы систему можно было запустить, проверить и развивать силами своей команды. Поэтому в него входят не только обученная модель, но и правила, по которым она готовилась, и схемы, по которым данные идут до и после неё. Ниже — что именно фиксируется в передаваемой документации.
- Обученная система анализа паттернов: артефакт модели, зафиксированная конфигурация расчёта и контрольный набор примеров, на которых результат воспроизводится один в один.
- Правила разметки: словарь паттернов свечных комбинаций, критерии отнесения к классу и разбор спорных случаев — чтобы новая разметка не расходилась с обучающей.
- Схема обработки данных: источники котировок, порядок приведения к единому виду, работа с пропусками и выбросами, окно расчёта признаков.
- Описание метрик: как считаются точность и полнота по каждому паттерну, доля ложных сигналов, метрика на контрольной выборке и пороги, ниже которых результат считается нерабочим.
- Инструкция запуска: порядок подъёма окружения, точки входа, проверка на контрольных данных и типовые ошибки при старте.
- Регламент сопровождения и обновления: периодичность дообучения, признаки смещения данных, при которых модель уходит на переобучение, и порядок действий при расхождении.
- Границы применимости и протокол приёмки: на каких инструментах и таймфреймах модель проверена, какие ограничения известны, по каким примерам заказчик принимает работу.
Кейс: точность распознавания паттернов до и после дообучения
Заказчик — команда алгоритмической торговли: сигналы по свечным паттернам уходили аналитикам на подтверждение. Историю свечей собирали из выгрузок TradingView и внутреннего архива сделок. Модель, обученная на разметке «на глаз», уверенно находила только частые фигуры, а редкие — «голова и плечи», двойное дно, узкие консолидации — путала между собой. Каждый второй сигнал уходил на ручную перепроверку.
| Метрика | До | После |
|---|---|---|
| Полнота распознавания редких паттернов | 58% | 91% |
| Доля сигналов на ручной проверке | 54% | 12% |
| Разброс точности по месяцам | ±11 п.п. | ±2 п.п. |
Что изменили
Сначала переписали правила разметки: жёсткие критерии к пропорциям тела и теней, минимальный размер фигуры относительно волатильности инструмента, отдельный класс для «похоже, но не паттерн». Конфликтные примеры разметчиков разобрали повторно, после чего дообучили модель на сбалансированных классах и усилили редкие фигуры искажениями шума и масштаба.
Проверка на отложенных данных
Валидацию разделили по времени, а не случайно — иначе соседние свечи одного движения попадают и в обучение, и в проверку, и метрики выглядят лучше, чем есть. Контрольный период модель не видела, дополнительно её прогнали на инструментах вне обучающей выборки: полнота просела на несколько пунктов, но разброс между месяцами остался в пределах двух пунктов.
Чем разметка паттернов отличается от технического анализа
Разметка паттернов и технический анализ решают разные задачи, и в постановке задачи их нельзя смешивать. Технический анализ — это метод принятия решений: уровни, тренды, индикаторы и контекст, который интерпретирует аналитик. Разметка — целевая переменная для модели: окно свечей, про которое однозначно известно, есть фигура или нет и по какому правилу это решено.
Технический анализ плохо превращается в метку: уровень становится очевиден только после пробоя, а «сильную свечу» разные эксперты оценивают по-разному. Каноническое описание фигур Стив Нисон сформулировано словами — «маленькое тело», «длинная тень» — и без численных допусков превращается в предмет спора между разметчиками.
Поэтому постановка задачи начинается с формального правила: окно свечей в терминах OHLCV, пропорции тела и теней относительно волатильности, минимальный размер фигуры, поведение при перекрытии паттернов. Только тогда метка воспроизводима, а модель учится на закономерности, а не на вкусах конкретного разметчика.
Разница видна на результате. Если в задаче написано «модель должна понимать тренд», разметка расходится между экспертами, качество не сходится, и непонятно, что исправлять — данные или архитектуру. Если описаны геометрия фигуры и горизонт события, спорные случаи можно перепроверить, а качество — сравнить с базовым правилом.
Практический вывод: технический анализ задаёт гипотезы, разметка — измеримую цель. Пока правило разметки не зафиксировано, любая оценка качества модели случайна.
Частые технические сомнения перед стартом работы
Инженерные сомнения на старте касаются обычно не самой модели, а данных и границ её применимости. Собрали четыре вопроса, которые чаще всего поднимаются на первой встрече, и отвечаем по существу — без общих слов.
Как вы проверяете, что модель не подогнана под прошлые данные?
Делим историю по времени, а не случайной выборкой: обучение идёт на раннем участке, проверка — на последующем, которого модель не видела. Дополнительно прогоняем несколько независимых временных окон и смотрим разброс метрик между ними. Если качество держится на всех окнах, а не только на последнем, это признак устойчивости, а не запоминания.
Что произойдёт при смене рыночного режима?
Признаки строим относительными, привязанными к масштабу и волатильности, поэтому резкий сдвиг уровней не ломает логику паттерна. Поверх — скользящее окно обучения и контроль дрейфа распределения: когда входные данные уходят от обучающего профиля, приходит сигнал на пересборку. Деградация на смене режима неизбежна — мы закладываем её в план, а не обещаем вечную точность.
В каком формате нужны данные и разметка?
Нужен временной ряд свечей и разметка событий: границы паттерна, его класс и уверенность разметчика. Схему фиксируем на старте и валидируем автоматически — пропуски, дубли и разрывы времени отсекаются до обучения. Критична не столько длина истории, сколько число примеров редких паттернов: по ним модель учится хуже всего.
Кому принадлежат данные и результат?
Данные остаются вашими и не покидают ваш контур: обработка идёт на вашей инфраструктуре либо в изолированном окружении под вашим контролем. Права на модель, код и документацию передаём вам, мы не используем ваши выгрузки в своих продуктах и не оставляем копий после сдачи.
Обсудим задачу и вернёмся с оценкой и планом
Чтобы вернуться с оценкой сроков и планом работ, нам нужен не пересказ идеи, а данные и границы задачи. Чем точнее вход, тем меньше допущений в смете — и тем выше шанс, что метрики на приёмке совпадут с ожиданиями.
- Историю котировок по нужным инструментам: формат OHLCV, интервалы, глубину выборки и места пропусков в данных.
- Описание паттернов, которые модель должна находить: словесные критерии и примеры «сигнал есть» / «сигнала нет».
- Разметку или правило её получения: кто отмечал участки графика и как разрешались спорные случаи.
- Границы применения: на каких интервалах и инструментах модель работает, что считаем пропуском сигнала, а что ошибкой.
- Метрики приёмки: доля верных срабатываний, допустимая задержка обнаружения, доля ложных сигналов на исторических данных.
- Целевую среду: где модель будет считать и какие есть ограничения по задержке и объёму данных.
- Ответственного с вашей стороны с правом согласовывать разметку и принимать результат.
Дальше мы собираем базовую модель для сравнения, проверяем качество разметки и возвращаемся с оценкой сроков и планом работ по этапам — от подготовки данных до контроля деградации на новых периодах. Опишите задачу в свободной форме: обсудим её предметно и скажем, каких вводных не хватает.







