Трейдер собрал RAG и RandomForest в сигналы BUY/SELL: 62% точности на 59 записях
Разработчик превратил новостной RAG на локальных LLM в конвейер, который выдаёт сигналы BUY/SELL/NEUTRAL по акциям Мосбиржи. Новости привязываются к тикерам и превращаются в дневные фичи, а RandomForest с калибровкой выдаёт вероятность и список новостей-доказательств. На 59 записях средняя точность составила 62%, но тест — всего 45 примеров. Автор сам называет оценку предварительной.
AI-обработка оригинала Habr AI; редакция Hamidun News
Прикрутить LLM к новостной ленте и получить «умного аналитика» умеют многие. Гораздо реже кто-то честно показывает, что происходит дальше: когда нужно не пересказывать новости, а предсказывать цену. Автор проекта на Habr продолжил свой RAG-эксперимент и довёл его до торговых сигналов с объяснениями. Разбираем, что в этой истории полезно перенять.
Конвейер вместо трёх конкурирующих задач
Первая версия системы запускала параллельно три фоновые задачи: классификацию, извлечение сущностей и обогащение. Каждая тянула свою модель в память GPU, и Ollama постоянно выгружала и загружала веса. Когда база выросла с 12 до 37 тысяч статей, это стало слишком дорого.
Решение простое: единый конвейер. Статья проходит классификацию, фильтр мусора, оценку влияния на рынок, NER, суммаризацию и эмбеддинг. Если фильтр решил, что новость про спорт или культуру, она помечается как skipped, и больше на неё не тратится ни секунды GPU. Урок универсален: сначала дешёвый отсев, потом дорогая модель.
Настройки Ollama тоже подбирались руками. Автор разрешил держать в памяти две модели (Qwen 14B и BGE-M3), поставил параллелизм 6 и привязал всё к одной Tesla P100. При значении 8 память упиралась в потолок и запросы падали по таймауту. Вторую карту сознательно не используют: когда слои расползаются между GPU, скорость падает в 3–5 раз из-за передачи данных по PCIe.
От новости к сигналу
Пример: NER нашёл в тексте «Сбер». Словарь синонимов, который пополняется из API Мосбиржи, превращает его в тикер SBER. Для каждого дня и тикера считаются фичи: сумма направлений новостей (+1 за позитивную, −1 за негативную), число новостей, волатильность за 5 и 20 дней, средний объём торгов. Дальше RandomForest с калибровкой Platt scaling выдаёт BUY, SELL или NEUTRAL и вероятность, а API возвращает ещё и список новостей, повлиявших на решение. В Streamlit это превращается в терминал со свечами и раскрывающимися доказательствами.
Забавная деталь: для «Альфа-банка», который не торгуется на бирже, завели фиктивный тикер ALFAMOCK. Новости копятся заранее, а после IPO тикер просто заменят.
Где всё ломается
Самое ценное в статье — разбор неудач. Попытка добавить затухание по времени сделала признак дробным (0,85 вместо 1), и точность упала с 52% до 36%. На 55 записях это просто шум, поэтому идею отложили до 200+ записей.
Другой случай: VKCO получил BUY с уверенностью 64% при нейтральных новостях. Модель просто выучила, что рынок растёт в 55% случаев. Жёсткий фильтр «нет давления — значит NEUTRAL» автор отверг как маскировку симптома и запланировал признаки доминирования, но тоже после накопления данных. Техдолг записан и задокументирован.
Валидация идёт методом walk-forward: окно обучения скользит по времени, чтобы не угадать «удачный» период. Целевая схема — 30 дней обучения и 7 теста, но пока работает урезанная 14/3/3. Результат — средняя точность 62% (медиана 67%) на 45 тестовых примерах.
Что с этим делать
Не воспринимайте 62% как торговую стратегию: выборка крошечная, комиссии и проскальзывание не учтены, а модель легко может выучить шум. Ценность проекта в другом. Это хороший шаблон архитектуры: ранний фильтр для экономии GPU, объяснимый вывод с источниками, калиброванные вероятности и честная фиксация решений в ADR. Если вы строите похожий пайплайн на локальных моделях, стоит забрать подход к настройке Ollama и привычку замерять эффект каждой фичи, прежде чем её оставлять. Код публичной части открыт на GitHub.
- 8 нояб. 2026 г.Mago Studio запускает локальный ИИ-видеопродакшен с 8 ГБ VRAM
- 8 нояб. 2026 г.Три нейрона из 294 912 заставили Qwen3.5-4B заявить, что он кофейное зерно
- 8 нояб. 2026 г.Дизайн-хед X открыл скилл stageshow: агент рисует и анимирует демо интерфейсов
- 8 нояб. 2026 г.DeepSeek показала семь промптов для сборки интерактивных инструментов без фронтенда
Вопросы и ответы по материалу
Что известно по теме: конвейер вместо трёх конкурирующих задач?
Первая версия системы запускала параллельно три фоновые задачи: классификацию, извлечение сущностей и обогащение. Каждая тянула свою модель в память GPU, и Ollama постоянно выгружала и загружала веса. Когда база выросла с 12 до 37 тысяч статей, это стало слишком дорого. Решение простое: единый конвейер. Статья проходит классификацию, фильтр мусора, оценку влияния на рынок, NER, суммаризацию и эмбеддинг.
Что известно по теме: от новости к сигналу?
Пример: NER нашёл в тексте «Сбер». Словарь синонимов, который пополняется из API Мосбиржи, превращает его в тикер SBER. Для каждого дня и тикера считаются фичи: сумма направлений новостей (+1 за позитивную, −1 за негативную), число новостей, волатильность за 5 и 20 дней, средний объём торгов. Дальше RandomForest с калибровкой Platt scaling выдаёт BUY, SELL или NEUTRAL и вероятность, а API возвращает ещё и список новостей, повлиявших на решение.
Что известно по теме: где всё ломается?
Самое ценное в статье — разбор неудач. Попытка добавить затухание по времени сделала признак дробным (0,85 вместо 1), и точность упала с 52% до 36%. На 55 записях это просто шум, поэтому идею отложили до 200+ записей. Другой случай: VKCO получил BUY с уверенностью 64% при нейтральных новостях. Модель просто выучила, что рынок растёт в 55% случаев. Жёсткий фильтр «нет давления — значит NEUTRAL» автор отверг как маскировку симптома и запланировал признаки доминирования, но тоже после накопления данных.
Внедряйте ИИ быстрее рынка вместе с инженерами и фаундерами
Внутри Vibe Club (hamidun.com/club): еженедельные живые мастермайнды и разборы архитектуры с Жемалом Хамидуном, закрытый Tech Radar, LMS и обновляемая база из 370+ боевых скиллов.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.