Бэктест AI-агента должен быть воспроизводимым
AI-агент может улучшить стратегию только на бумаге, если вместе с кодом незаметно изменились данные, комиссии или модель исполнения. Разбираем, что сохранять, чтобы результат можно было повторить.

AI-агент запустил тест стратегии и сообщил: просадка стала меньше, сделок больше, итог лучше. Звучит как прогресс. Но можно ли проверить, что изменился именно алгоритм?
В одном запуске могли использоваться другие даты. В другом — другая комиссия. История могла обновиться, а модель проскальзывания — остаться без фиксации. Даже небольшое изменение способа исполнения способно заметно изменить результат, хотя исходный код стратегии выглядит почти так же.
Поэтому хороший бэктест — это не одна цифра и не красивая кривая капитала. Это эксперимент, который другой человек или тот же агент может повторить с теми же входными данными и получить сопоставимый результат.
Один и тот же замысел — разные результаты
Представим простую гипотезу: покупать после возврата цены выше скользящей средней и выходить по стопу или обратному сигналу.
Агент запускает два теста.
В первом используются свечи одной биржи, рыночное исполнение и фиксированная комиссия. Во втором — история другой площадки, лимитные заявки и более мягкое допущение о проскальзывании. Название стратегии то же, параметры выглядят знакомо, но это уже два разных эксперимента.
Сравнивать только доходность между ними нельзя. Сначала нужно ответить: что было одинаковым, а что изменилось?
Что необходимо сохранить вместе с результатом
Воспроизводимый бэктест начинается не с метрики, а с паспорта запуска.
1. Точная версия стратегии
Недостаточно записать «mean reversion v7». Нужны исходный код или однозначная версия в системе контроля версий, параметры и все связанные файлы.
Если агент исправил всего одну строку после просмотра результата, это уже новая версия. Старый результат нельзя приписывать новому коду.
2. Рыночные данные
Нужно зафиксировать:
- биржу и инструмент;
- spot или futures;
- таймфрейм;
- начало и конец диапазона;
- источник и версию истории;
- пропуски и способ их обработки.
BTCUSDT с двух бирж — не один и тот же набор данных. У площадок отличаются свечи, ликвидность, funding и иногда логика построения цены.
3. Модель исполнения
Сигнал стратегии ещё не является сделкой. Между ними находятся:
- тип ордера;
- комиссия;
- проскальзывание;
- задержка;
- доступная ликвидность;
- частичное исполнение;
- funding для perpetual futures;
- правила mark price и liquidation.
Если эти допущения не сохранены, повторить результат невозможно. Агент может честно выполнить задачу, но получить улучшение только потому, что второй тест оказался мягче первого.
4. Настройки самого эксперимента
Нужно записывать размер капитала, правила позиции, leverage, параметры стратегии, train/test-окна, walk-forward-схему и ограничения перебора.
Если внутри есть случайность, фиксируется seed. Если агент перебрал десятки вариантов, сохраняется не только победитель, но и число попыток. Иначе один удачный результат легко принять за устойчивую закономерность.
5. Версия среды
Результат зависит не только от стратегии. Значение имеют версия тестера, правила симуляции, компилятор и состояние подключённых компонентов.
После обновления старый тест полезно уметь повторить или хотя бы точно указать, в какой версии он был выполнен.
6. Полный артефакт результата
Итоговая доходность не объясняет поведение стратегии. Вместе с запуском стоит сохранять:
- список сделок;
- equity curve;
- максимальную просадку;
- комиссии и funding;
- ошибки и отклонённые действия;
- журнал выполнения;
- время и идентификатор запуска.
Так можно увидеть не только что изменилось, но и почему.
Как должен работать AI-агент
Полезный агент не просто ищет метрику получше. Он ведёт журнал исследования.
Перед новым запуском агент формулирует гипотезу: например, «фильтр волатильности должен убрать входы в режиме низкой активности». Затем меняет только заявленную часть, оставляет данные и исполнение неизменными, запускает тест и сравнивает результаты по заранее выбранным критериям.
После запуска он должен показать:
- что изменено;
- что удерживалось постоянным;
- какой диапазон использовался;
- сколько вариантов было проверено;
- где лежат код и результаты;
- какие ограничения мешают перенести вывод на реальную торговлю.
Такой отчёт может выглядеть менее эффектно, чем фраза «улучшил стратегию на 37%». Зато его можно проверить.
Почему MCP здесь полезен
MCP позволяет агенту работать со средой тестирования через структурированные возможности, а не угадывать состояние программы по скриншоту или вручную переносить числа из таблицы.
В XTester публично описаны классы возможностей для работы с окружением, проектом, компиляцией, историей, бэктестом, результатами, сравнением версий и исследованием. Точные имена инструментов и схемы должны браться только из каталога конкретного проверенного релиза; до публикации такого каталога их нельзя выдумывать в инструкциях.
Сам протокол не делает исследование воспроизводимым автоматически. Это всё равно задача рабочего процесса. Но он позволяет построить цикл, в котором агент сначала читает окружение, затем фиксирует входные данные, выполняет ограниченное изменение и возвращает проверяемые артефакты.
Минимальный протокол перед тем, как поверить результату
Перед сравнением двух бэктестов проверьте шесть пунктов:
- зафиксирована версия кода;
- совпадают данные и диапазон;
- совпадает модель исполнения;
- сохранены параметры и бюджет эксперимента;
- указана версия тестовой среды;
- доступны сделки, метрики и журнал запуска.
Если хотя бы один пункт неизвестен, результат может быть интересной подсказкой, но ещё не доказательством улучшения.
AI ускоряет создание и проверку гипотез. Воспроизводимость не даёт этой скорости превратиться в поток несравнимых красивых отчётов.
XTester предоставляет среду разработки и исторической проверки торговых стратегий. Бэктесты не гарантируют будущую доходность и не являются инвестиционной рекомендацией.