Разработка AI-модели анализа паттернов свечных графиков

Ручная разметка свечных паттернов не масштабируется: аналитик видит часть сигналов, а решения запаздывают. Мы разрабатываем AI-модели распознавания паттернов под ключ — от подготовки данных до передачи в эксплуатацию. На выходе — стабильное распознавание на ваших инструментах и понятная документация.
Часто задаваемые вопросы

Почему разработка AI модели свечных паттернов даёт сбой

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

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

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

На практике это выглядит так: система либо запаздывает с входом, либо молчит там, где разворот был очевиден постфактум. Ниже разбираем, как это закрывается на уровне подготовки данных, разметки и проверки модели.

Что меняется после внедрения модели распознавания паттернов

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

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

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

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

Готовое решение или обучение под ваши данные: сравнение подходов

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

Ниже — три рабочих варианта, между которыми реально выбирают, и то, чем каждый из них ограничен.

Вариант Когда подходит Ограничения
Готовая система распознавания Нужен работающий результат в короткий срок, формации типовые Логика закрыта, разметку и пороги срабатывания не исправить; на вашем рынке качество не подтверждено
Дообучение готовой модели под свой рынок Есть своя история наблюдений и 2–3 тысячи размеченных примеров Требует дисциплины разметки и отдельного периода проверки, где условия рынка не менялись
Обучение с нуля на своих данных Нетиповые формации, свои правила входа и выхода, нужна полная прозрачность решения Самый длинный путь: нужен большой и чистый размеченный массив

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

Этапы работы: от аудита данных до передачи в эксплуатацию

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

  1. Аудит исторических данных. Проверяем глубину истории по каждому инструменту и масштабу графика, непрерывность котировок, пропуски и разрывы. Итог — отчёт о пригодности: по каким паттернам выборки хватает, а где её нужно расширять.
  2. Схема разметки. Фиксируем формальное определение каждого паттерна: состав свечей, допуски по пропорциям, поведение на границах фигуры. Без этого разметчики и модель понимают один и тот же паттерн по-разному.
  3. Проверка качества разметки. Считаем согласованность между разметчиками на контрольной подвыборке и разбираем спорные случаи. Порог согласованности задаём до начала работы, а не после.
  4. Обучение. Обучаем модель на размеченной истории, параметры подбираем на валидации, отдельно прорабатываем редкие паттерны и дисбаланс классов.
  5. Проверка на отложенном периоде. Прогоняем модель на данных, которых она не видела, включая участки с другой волатильностью. Смотрим точность и полноту по каждому паттерну отдельно, а не средний балл.
  6. Внедрение. Подключаем модель к потоку данных, настраиваем журналирование предсказаний и контроль расхождения с фактическим поведением рынка.
  7. Передача в эксплуатацию. Отдаём регламент сопровождения: когда переобучать, что делать при просадке метрик, как откатиться на предыдущую версию без простоя.

Что заказчик получает на руки: комплект и документация

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

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

Кейс: точность распознавания паттернов до и после дообучения

Заказчик — команда алгоритмической торговли: сигналы по свечным паттернам уходили аналитикам на подтверждение. Историю свечей собирали из выгрузок TradingView и внутреннего архива сделок. Модель, обученная на разметке «на глаз», уверенно находила только частые фигуры, а редкие — «голова и плечи», двойное дно, узкие консолидации — путала между собой. Каждый второй сигнал уходил на ручную перепроверку.

Метрика До После
Полнота распознавания редких паттернов 58% 91%
Доля сигналов на ручной проверке 54% 12%
Разброс точности по месяцам ±11 п.п. ±2 п.п.

Что изменили

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

Проверка на отложенных данных

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

Чем разметка паттернов отличается от технического анализа

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

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

Поэтому постановка задачи начинается с формального правила: окно свечей в терминах OHLCV, пропорции тела и теней относительно волатильности, минимальный размер фигуры, поведение при перекрытии паттернов. Только тогда метка воспроизводима, а модель учится на закономерности, а не на вкусах конкретного разметчика.

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

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

Частые технические сомнения перед стартом работы

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

Как вы проверяете, что модель не подогнана под прошлые данные?

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

Что произойдёт при смене рыночного режима?

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

В каком формате нужны данные и разметка?

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

Кому принадлежат данные и результат?

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

Обсудим задачу и вернёмся с оценкой и планом

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

  • Историю котировок по нужным инструментам: формат OHLCV, интервалы, глубину выборки и места пропусков в данных.
  • Описание паттернов, которые модель должна находить: словесные критерии и примеры «сигнал есть» / «сигнала нет».
  • Разметку или правило её получения: кто отмечал участки графика и как разрешались спорные случаи.
  • Границы применения: на каких интервалах и инструментах модель работает, что считаем пропуском сигнала, а что ошибкой.
  • Метрики приёмки: доля верных срабатываний, допустимая задержка обнаружения, доля ложных сигналов на исторических данных.
  • Целевую среду: где модель будет считать и какие есть ограничения по задержке и объёму данных.
  • Ответственного с вашей стороны с правом согласовывать разметку и принимать результат.

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

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139