Когда я впервые столкнулся с машинным обучением в контексте финансовых рынков, мне казалось, что всё довольно просто: если модель научилась хорошо предсказывать движение цены, значит она должна хорошо зарабатывать. Логика вроде бы железная. Чем выше accuracy, чем ближе ROC-AUC к единице, тем увереннее можно доверять сигналам системы. Но чем глубже я погружался в реальные исследования и собственные эксперименты, тем отчётливее понимал, что между красивой метрикой и практической пользой для торговли лежит целый слой сложных проверок. И если эти проверки проигнорировать, можно годами верить в модель, которая на самом деле не работает.
Проблема в том, что статистическое качество прогноза и экономическая ценность торгового решения — это принципиально разные вещи. Модель может великолепно классифицировать исторические данные, но при этом давать убыточные сигналы в реальных условиях. И наоборот, система с не самой впечатляющей общей точностью иногда оказывается гораздо полезнее, потому что умеет концентрироваться на небольшом числе действительно значимых моментов. Мне потребовалось время, чтобы это осознать, но теперь я убеждён: оценка AI в трейдинге должна выходить далеко за пределы одной цифры в отчёте.
1. Точность прогноза и качество сделки — не одно и то же
Давайте представим две модели. Первая правильно угадывает направление рынка в семидесяти случаях из ста. Вторая — лишь в шестидесяти пяти, зато она реже ошибается именно в те моменты, когда формируется сильный тренд или происходит резкий разворот. Если смотреть только на процент правильных ответов, первая кажется лучше. Но с точки зрения торговли всё может быть ровно наоборот.
Торговой системе не требуется оценивать каждый рыночный шум. Ей нужно находить ограниченный набор ситуаций, где вероятность благоприятного исхода достаточно высока, чтобы оправдать риск. Поэтому модель, которая уверенно выделяет редкие, но сильные сигналы, может приносить больше пользы, чем та, которая пытается классифицировать всё подряд и часто ошибается в незначительных колебаниях.
Мне близка позиция, изложенная в одной недавней работе о валидации ML-систем для криптовалютной торговли. Там как раз подчёркивается разрыв между статистической точностью и экономической полезностью. Авторы показывают, что даже хорошие метрики не гарантируют прибыльности после учёта транзакционных издержек и других реальных ограничений. Это важный вывод, потому что он заставляет пересмотреть сам подход к оценке моделей.
2. Невидимая утечка будущего
Самая коварная ошибка, с которой я сталкивался в финансовом машинном обучении, связана с временным выравниванием данных. Суть в том, что модель должна использовать только ту информацию, которая была доступна в момент принятия решения. Звучит очевидно, но на практике нарушить это правило проще, чем кажется.
Например, система работает с несколькими таймфреймами одновременно. Допустим, она анализирует дневные и часовые данные. Если при построении признаков не учтено, что дневная свеча ещё не закрыта на момент расчёта часового сигнала, модель фактически получает доступ к части будущего. Она видит итог дня до его завершения. Код при этом выполняется без единой ошибки, графики выглядят великолепно, backtest показывает фантастические результаты. Но вся эта красота построена на иллюзии.
Я помню, как меня впечатлило исследование, посвящённое многотаймфреймовым признакам для прогнозирования Bitcoin. Там авторы обнаружили именно такую проблему. После исправления временного выравнивания качество моделей упало с диапазона ROC-AUC 0,73–0,81 до 0,57–0,61. То есть небольшая техническая неточность создавала впечатление, что AI обладает гораздо большей предсказательной силой, чем на самом деле. Для меня это стало наглядным уроком: прежде чем спрашивать, насколько модель точна, нужно разобраться, что именно она могла знать в каждый конкретный момент.
3. Backtest — это не пророчество
Историческое тестирование часто воспринимают как доказательство будущей эффективности. Мне самому раньше казалось, что если стратегия красиво отработала на прошлых данных, значит у неё есть потенциал. Но со временем я понял, что backtest — это всего лишь проверка идеи в конкретных условиях конкретного периода. Он показывает, как система могла бы себя вести, но не гарантирует повторения результата.
Особенно остро эта проблема стоит в машинном обучении, где пространство экспериментов огромно. Можно перебирать признаки, модели, параметры, временные окна, правила фильтрации. Если искать достаточно долго, почти наверняка найдётся комбинация, которая блестяще выглядит на уже изученной истории. Но это не значит, что найдена закономерность. Скорее, это результат множественного тестирования.
Поэтому финальная проверка должна быть по-настоящему независимой. Если я посмотрел на результат, затем изменил модель и снова прогнал её на том же периоде, этот период уже перестал быть чистым тестом. Он стал частью процесса разработки. И доверять таким результатам нельзя.
4. Издержки, которые съедают преимущество
Даже если модель действительно нашла полезный сигнал, этого ещё недостаточно для прибыльной торговли. В реальном мире появляются комиссии, спред, проскальзывание, задержки исполнения. Небольшое статистическое преимущество может полностью исчезнуть после учёта этих факторов.
Меня особенно заинтересовало исследование, проведённое на данных Bitcoin с использованием walk-forward прогнозирования. Там несколько ML-моделей показывали положительные результаты до учёта издержек, но после добавления торговых расходов простые стратегии теряли привлекательность. Авторы смогли добиться лучших результатов только тогда, когда начали учитывать стоимость сделок непосредственно при принятии решений. Это лишний раз подтверждает: хороший прогноз и хорошая торговая система — не одно и то же.
Я часто вижу, как люди увлекаются красивыми графиками доходности, забывая о том, что каждая сделка стоит денег. При частой торговле комиссии могут накапливаться незаметно, но в итоге съедать всю прибыль. Поэтому экономическая оценка должна быть неотъемлемой частью валидации любой ML-стратегии.
5. Почему метрики недостаточно
ML-метрики, безусловно, важны. Они помогают понять, научилась ли модель вообще различать рыночные состояния. Но для торговой системы этого мало. Нужно разделять два вопроса: насколько хорошо модель прогнозирует и есть ли от этих прогнозов практическая ценность после реальных ограничений рынка.
Иногда модель с более высокой точностью оказывается хуже с экономической точки зрения. И наоборот, менее впечатляющая общая метрика может скрывать способность находить небольшое число действительно важных ситуаций. Поэтому фраза «наша модель показывает высокий AUC» без дополнительного контекста почти ничего не говорит о качестве торговой системы. Я убеждён, что такой подход вводит в заблуждение и мешает реальному прогрессу.
6. Правильная последовательность проверок
Вместо поиска самой эффектной модели я предлагаю идти по порядку. Сначала проверить, не попала ли в данные информация из будущего. Затем убедиться, что обучение и окончательный тест действительно разделены. После этого посмотреть, сохраняется ли результат на новых временных периодах. Далее оценить, не является ли красивый результат случайностью после большого числа экспериментов. И только потом проверить, остаётся ли преимущество после комиссий и других реальных издержек.
Такой подход выглядит менее эффектно, чем красивый график роста капитала. Но он намного полезнее, если задача — понять, есть ли за результатом реальная закономерность. Я предпочитаю медленное, но честное исследование быстрым, но обманчивым выводам.
7. Как я смотрю на это в Tantoryn AI
В Tantoryn AI мы придерживаемся именно такого подхода. Мы отдельно относимся к корректности данных во времени, независимой проверке моделей и экономической оценке результатов. И принципиально не считаем, что хорошая ML-метрика автоматически означает прибыльную торговую систему.
Для нас исследовательский результат и доказанная практическая эффективность — это разные уровни подтверждения. Это важная граница, которую мы стараемся не переходить. Потому что в AI для финансов главное не то, насколько красиво модель выглядит на прошлых данных. Главное — останется ли её преимущество после того, как мы уберём информацию из будущего, отделим разработку от проверки и приблизим эксперимент к реальным условиям рынка.
Я продолжаю изучать эту тему и делиться наблюдениями о том, как машинное обучение применяется к финансовым рынкам, как проверяются идеи и как отделять реальный результат от красивой статистики.