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

Сентимент в данном контексте — это не тональность отдельной статьи, а совокупное настроение, которое авторитетные участники рынка закладывают через публикации в блогах и социальных сетях. Регуляторный документ SEC сам по себе не двигает цену биткоина — его двигает пост влиятельного крипто-блогера, который этот документ репостнул. Поэтому автор предлагает строить поиск не по ключевым словам вроде «SEC crypto enforcement», а по конкретным доменам-первопроходцам рынка.

Для реализации используется векторный поиск — технология, которая сравнивает смысл текстов математически, через числовые представления слов (эмбеддинги). Косинусное расстояние между векторами показывает, насколько два текста близки по смыслу, даже если в них нет общих слов. Автор намеренно разделяет векторный поиск и LLM: поиск находит публикации по смыслу слова «прогноз», а языковая модель уже анализирует их тональность. Если доверить поиск LLM напрямую, она начнёт интерпретировать индикаторы технического анализа вместо того, чтобы извлекать фундаментальное настроение рынка.

Для поиска сентимента автор использует Tavily API (free tier) с векторными эмбеддингами и косинусным расстоянием вместо прямого запроса к LLM.

Один из нетривиальных выводов касается score при ранжировании результатов поиска. Публикации с максимальным score — прямые упоминания актива — воспринимаются как реклама и не отражают органическое настроение. Нулевой score означает отсутствие темы. Сигнал находится в «серой зоне» — публикациях с околонулевым score, которые упоминают тему косвенно, как продакт-плейсмент в кино.

Временное окно в 24 часа автор называет оптимальным по двум причинам. Во-первых, усреднение за более длинный период компенсирует утренний позитив вечерним негативом, и сентимент вырождается в шум. Во-вторых, окно меньше суток даёт неоднозначный сигнал: одно и то же событие — например, военный удар — может трактоваться рынком противоположно в зависимости от контекста. Дополнительная техническая сложность: крупные издания вроде Bloomberg и Reuters не всегда указывают точное время публикации, что создаёт look-ahead bias — ситуацию, когда система «видит» данные раньше, чем они реально были доступны участникам рынка.

Бектест стратегии показал, что ИИ-агент открывает позицию при обнаружении новостного сигнала и удерживает её до исчерпания сентимента. Текущий результат — около 16% на серии сделок. Автор рассматривает модификацию: выходить из позиции не на смене сентимента, а на откате 3% от максимального PnL, что теоретически добавляет ещё порядка 30% к итогу за счёт более позднего выхода. Исходный код стратегии опубликован в открытом доступе.