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

Мы отдельно разобрали эту тему в публикации для широкой аудитории — «Почему торговый ИИ-бот может ошибочно „знать будущее“ - и как этого избежать». В ней простым языком объясняется, что такое временная утечка данных, почему обычного разделения истории на обучение и тестирование иногда недостаточно и зачем нужны point-in-time данные — то есть данные в том виде, в каком они действительно были доступны в тот исторический момент.

Для Tantoryn AI эта тема имеет практическое значение.

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

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

Поэтому при подготовке исторических данных мы придерживаемся простого правила:

если в момент принятия решения информация ещё не существовала, модель не должна видеть её и в историческом тесте.

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

Для Tantoryn AI это часть более общего принципа разработки: сначала убедиться, что эксперимент построен корректно, и только после этого оценивать качество машинного обучения.

Мы продолжаем применять этот подход при подготовке данных и дальнейшей проверке ML-компонентов проекта.