Сравнение реальных и воспроизведённых входов
runtime-parity сравнивает записанные реальные входы с входами,
восстановленными для тех же инструментов и периода. Команда отвечает на один
вопрос:
Дали ли расчёт на текущем рынке и историческое воспроизведение сопоставимые решения о входе?
Если нужно точное сравнение версий пакетов, конфигураций, сигналов, ордеров и исполнений, используйте воспроизведение с журналом работы.
Запуск сравнения
npx @tradejs/cli runtime-parity \
--user root \
--connector bybit \
--days 3
Сравнение можно ограничить стратегией и инструментами или точными временными метками:
npx @tradejs/cli runtime-parity \
--user root \
--connector bybit \
--strategy <StrategyName> \
--tickers BTCUSDT,ETHUSDT \
--details
Исходные данные и фильтры
Команда строит список проверок по записанным сделкам и расчётам, явному
--tickers и локальным результатам стратегии, если они есть. По умолчанию
стратегия запускается с ENV=BACKTEST, поэтому внешние AI/ML-фильтры не
вызываются.
Используйте --runtimeGates, только если сравнение должно обращаться к
настроенным AI- или ML-сервисам. Это может создавать расходы и делает результат
зависимым от доступности внешнего сервиса.
Если важны точные рабочие версии и настройки, используйте журнал из раздела Проверка реальных решений через воспроизведение.
Правила сопоставления
Входы сопоставляются по стратегии, инструменту, направлению и допустимому
отклонению времени. По умолчанию допускается одна 15-минутная свеча. Параметр
--toleranceBars <count> меняет допуск. Разница цены показывается для
диагностики, но не является главным ключом сопоставления.
Как читать результат
- matched — найден сопоставимый реальный и восстановленный вход;
- runtime-only — реальный вход есть, но воспроизведение его не получило;
- backtest-only — воспроизведение получило вход, которого нет в журнале.
Когда возможно, входы только из воспроизведения получают причину:
gated_out— вход заблокировал фильтр или правило;order_failed— попытка отправить ордер завершилась ошибкой;core_skipped— расчёт стратегии пропустил вход;not_evaluated— сопоставимый расчёт на текущем рынке не найден;true_mismatch— в доступных записях нет известного объяснения.
Проверяйте различия свечей, времени, инструментов, конфигурации, версии стратегии, прогревочной истории, фильтров и жизненного цикла ордера. Нулевое число входов с обеих сторон означает лишь, что в этом периоде не было сопоставимых входов.
Полезные параметры: --startTime, --endTime, --strategy, --tickers,
--cacheOnly, --toleranceBars, --runtimeGates, --details, --notify.