DepthFeed/Both venues·AI-бэктестинг

AI-бэктестинг прогнозных рынков: тестирование стратегий LLM без утечек будущей информации

Стратегия, созданная AI, не является бэктестом. Модель, информационная граница, протокол принятия решений, состояние портфеля и исполняемые заявки — всё должно контролироваться в рамках исторического времени.

DepthFeed··15 min

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

Почему AI-бэктестинг — это отдельная проблема

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

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

Два рабочих процесса AI-бэктестинга

Публичный рабочий процесс DepthFeed в настоящее время поддерживает первый путь: попросите модель предложить чёткую гипотезу, переведите её в предустановленное или пользовательское правило, заморозьте параметры и запустите через Backtest Lab. Это отделяет генерацию идей от оценки и делает воспроизведение повторяемым.

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

Рабочий процессЧто замораживаетсяЛучшее применение
Правило, созданное AIРезультат промпта один раз становится явной детерминированной логикойПроверка того, выдерживает ли гипотеза AI рыночные данные и исполнение
Воспроизведение с моделью в циклеМодель, промпт, инструменты и контекст на момент времени запускаются при каждом решенииОценка автономного прогнозиста или портфельного агента

Постройте границу исторической информации

Самая безопасная реализация использует границу по состоянию на момент: временная метка источника меньше или равна времени решения. Каждый признак, сводка и ответ инструмента должны наследовать эту границу. Одно неограниченное поле для удобства, например текущий статус рынка или метка окончательного исхода, может аннулировать весь прогон.

  • Установите временную метку решения и включайте только строки рынка, наблюдавшиеся на этот момент или ранее.
  • Явно ограничьте любой скользящий ретроспективный период; никогда не используйте ближайшую строку, которая может прийти из будущего.
  • Исключите результаты расчётов, окончательные цены, более поздние заголовки и текущий веб-поиск.
  • Запишите точную рыночную вселенную, показанную модели, включая контракты, которые она пропустила.
  • Хешируйте или версионируйте входную ленту, чтобы позже можно было воспроизвести то же решение.
  • Сообщайте об отсутствующих данных как об отсутствующих, а не заполняйте их из более поздних наблюдений.

Предотвращайте утечку ответа и промпта

Заморозьте системный промпт, инструкции клиента, идентификатор модели, режим сэмплирования, схему структурированного вывода и доступные инструменты. Удалите формулировки, которые косвенно раскрывают исход, включая окончательный статус рынка, формулировки расчётов, резюме ретроспективных статей или имена файлов, созданные после разрешения.

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

Сделайте протокол решений проверяемым

Запрашивайте структурированные действия, а не рекомендации в свободной форме. Полезное решение включает идентификатор рынка, сторону, оценку вероятности, уверенность, максимальную цену входа, запрашиваемый номинал и краткое обоснование. Серверные правила затем должны принять, изменить размер или отклонить предложение в соответствии с денежными средствами, рисками, уверенностью, преимуществом и ценовыми лимитами.

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

Воспроизводите портфель последовательно

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

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

Используйте исполняемые сделки, а не котировку модели

Модель может указать максимальную цену; ей нельзя позволять придумывать собственное исполнение. Добавьте определённую задержку исполнения, найдите первый зафиксированный стакан на момент моделируемого времени или после него и проходите доступные аски или биды только до указанного лимита. Сохраните VWAP, долю исполнения, время наблюдения и использованный стакан.

Оценивайте итоговый портфель консервативно. Оценка по средней точке предполагает ликвидацию без пересечения спреда или потребления объёма. Исполняемая ликвидация с учётом глубины лучше отвечает на вопрос, что портфель мог бы реализовать; устаревшие или отсутствующие стаканы должны оставаться явным условием отказа.

Рабочий процесс: от гипотезы LLM к воспроизведению

Начните с ограниченного промпта: попросите модель сформулировать одну фальсифицируемую гипотезу Polymarket или Kalshi, необходимые наблюдаемые входные данные, точное правило входа, размер позиции, поведение выхода или расчёта и условия, при которых она должна пройти. Запретите заявления о прибыли и не запрашивайте ретроспективные примеры.

Переведите ответ в предустановленное или пользовательское правило Backtest Lab, не изменяя его порогов после просмотра результатов. Выберите целевую площадку и семейство рынков, используйте хронологическую выборку и сравните среднюю точку, фиксированное проскальзывание и записанную глубину. Проверьте каждую сделку и сохраните более поздний отложенный период. Если правило выдержит, разверните замороженное правило в бумажной торговле и оцените его на исходах, которые модель не могла знать при создании правила.

Метрики, отличающие прогнозирование от торговли

Качество прогнозов и торговая производительность связаны, но не идентичны. Откалиброванная модель может проигрывать, платя цены, которые уже отражают её информацию. Плохо откалиброванная модель может кратковременно заработать благодаря удаче или одной концентрированной позиции. Сообщайте оба слоя и избегайте сводить оценку к заголовку таблицы лидеров.

ВопросМетрикаОбнаруживаемая ошибка
Были ли вероятности полезны?Оценка Брайера, логарифмическая потеря, калибровкаУверенные, но неточные прогнозы
Были ли действия прибыльными после исполнения?Чистая прибыль/убыток, ROI, исполняемое преимуществоХорошие прогнозы, купленные по плохим ценам
Был ли результат концентрированным?Прибыль/убыток по площадкам, категориям и времениОдно событие или режим, несущий результат
Контролировался ли риск?Просадка, риск, количество позицийПрибыль, созданная чрезмерной концентрацией
Была ли модель избирательной?Сделки, пропуски и частота отказовВыборочная отчётность без знаменателя
Был ли прогон воспроизводимым?Хеши промпта, модели, ленты и стаканаРезультат, который нельзя независимо воспроизвести

Сравнивайте модели, не меняя правила игры

  • Дайте каждой модели одну и ту же замороженную рыночную ленту, набор инструментов, схему вывода и портфельные лимиты.
  • Используйте одинаковые временные метки решений, задержку исполнения, механизм исполнения и правило окончательной оценки.
  • Отделяйте сбои провайдера, невалидный вывод и отказы по правилам риска от рыночных убытков.
  • Записывайте стоимость токенов и модели наряду с производительностью; незначительный выигрыш может не оправдывать гораздо более высокие затраты на инференс.
  • Повторяйте стохастические прогоны или используйте детерминированные настройки, где это поддерживается, и сообщайте о разбросе.
  • Поддерживайте страницы с названными моделями и утверждения в актуальном состоянии, поскольку версии моделей и их доступность меняются.

Классифицируйте сбои, а не скрывайте их

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

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

Класс сбояПримерКак сообщить об этом
Информационный сбойВ контекст попал факт из будущего, поле расчёта или более поздняя котировкаПризнайте недействительным затронутый цикл или прогон
Сбой провайдераТайм-аут, ограничение частоты или недоступность моделиУчитывайте отдельно от рыночного пропуска
Сбой схемыНедействительное действие, отсутствующий идентификатор рынка или непарсируемая вероятностьСохраните сырой ответ и отказ
Отказ по рискуЗапрошенный размер превысил лимиты по наличным, риску или ценеСообщайте как предложение модели, отклонённое защитными механизмами
Отказ при исполненииОтсутствует своевременный стакан, нет глубины ниже лимита или нулевое исполнениеОставляйте в торговом знаменателе
Рыночный убытокДействительное исполненное решение, рассчитанное по выбранной сторонеВключайте в обычном порядке в прибыль/убыток и оценку прогнозов

Минимальная запись для воспроизводимости

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

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

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

  • Идентификатор модели, провайдер, промпт, инструменты, схема и настройки сэмплирования.
  • Историческая граница, рыночная вселенная, интервал решений и ретроспектива.
  • Лимиты портфеля, задержка исполнения, механизм исполнения и итоговая оценка.
  • Хеши входных данных и стакана, привязанные к каждому решению и исполнению.
  • Использование токенов, стоимость модели, невалидные выводы и все причины отказов.
  • Разброс при повторных прогонах, если модель или провайдер стохастичны.

Проведите форвард-тест, прежде чем заявлять о производительности AI

Исторический тест AI всё ещё может выигрывать от памяти модели, настройки промпта исследователем и многократных экспериментов. Самый чистый следующий шаг — зафиксированный форвардный период бумажной торговли. Заморозьте промпт или извлечённое правило, начните после того, как конфигурация будет окончательной, оценивайте каждое действие по реальному отображаемому стакану и публикуйте полный знаменатель.

Бумажная торговля DepthFeed предоставляет доступный форвардный путь для детерминированных правил и сигналов внешних ботов. Она использует виртуальные деньги и не размещает реальные биржевые ордера. Это различие должно оставаться заметным везде, где описывается рабочий процесс AI.

Что предлагает DepthFeed сегодня

Сегодня исследователи могут использовать модель AI для создания или уточнения явной стратегии, воспроизвести это замороженное правило в Backtest Lab на записанных стаканах прогнозных рынков, сравнить три предположения об исполнении, проверить риск и отдельные сделки и перенести совместимые выжившие стратегии в живую бумажную торговлю. Сервер исторических данных API и MCP также поддерживает кастомные исследования агентов вне панели управления.

В настоящее время DepthFeed не рекламирует публичный автономный бэктест с моделью в цикле API или живую торговлю AI. Более узкий рабочий процесс является намеренным и тестируемым: модель предлагает; записанные рыночные свидетельства оценивают; бумажная торговля предоставляет форвардную запись.

Key takeaways

  • 01Генерация идей AI и воспроизведение с моделью в цикле — это разные продукты, требующие разных доказательств.
  • 02Блокируйте расчёты, будущие строки, текущий поиск и более поздние факты при каждом историческом решении.
  • 03Заморозьте модель, промпт, инструменты, схему, вселенную и портфельные ограничения перед сравнением результатов.
  • 04Сохраняйте пропуски, отказы, вызовы модели и входные границы, а также прибыльные исполнения.
  • 05Воспроизводите денежные средства и позиции последовательно, затем исполняйте по записанной глубине после определённой задержки.
  • 06Сообщайте о калибровке, прибыли/убытке, риске, концентрации, стоимости инференса и воспроизводимости отдельно.
  • 07Используйте зафиксированный форвардный период бумажной торговли, прежде чем делать какие-либо заявления о производительности AI.

Стратегия, созданная AI, не является бэктестом. Модель, информационная граница, протокол принятия решений, состояние портфеля и исполняемые заявки — всё должно контролироваться в рамках исторического времени.

Начать бесплатно

Ответы на вопросы.

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

Начните тестировать Polymarket & Kalshi на реальной глубине.

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

Начать бесплатно