Проверка реальных решений через воспроизведение
Воспроизведение рассчитывает именованное развёртывание на исторических закрытых свечах. Оно помогает повторить решения точных версий стратегий, конфигураций, таймфреймов, счетов и наборов инструментов, заданных для реальной работы.
Это диагностический инструмент: он не размещает ордера и не меняет настройки.
Воспроизведение развёртывания
Запускайте команду из проекта с tradejs.config.ts:
npx @tradejs/cli replay \
--user root \
--deployment production \
--days 7 \
--cacheOnly
Полезные параметры:
--startTimeи--endTimeзадают точный период в формате Unix timestamp;--tickers,--excludeи--tickersLimitвременно меняют инструменты;--cacheOnlyзапрещает обновлять историю;--showTickersListпечатает итоговый список без запуска;--chartсохраняет компактные графики для страницы стратегий.
Без временного переопределения применяются инструменты развёртывания и
ограничения selection.tickers отдельных стратегий.
Сбор журнала реальной работы
Для точного сравнения соберите записи на сервере, где выполнялся расчёт:
npx @tradejs/cli runtime-evidence \
--daily \
--user root \
--deployment production \
--publishDir output/runtime-evidence
--daily выбирает последнее полное окно 21:00–21:00 по московскому времени.
Также можно задать --startTime и --endTime или интервал --hours. Набор
содержит решения и сведения о версиях, а также манифест и контрольные суммы для
проверки целостности.
Для runtime evidence действует один актуальный контракт:
- embedded snapshot развёртывания использует схему v2 и фиксирует deployment, account, включённые стратегии, точные revisions, версии пакетов и неизменяемые конфигурации стратегий;
- каждая evaluation, signal, trade и сохранённый lineage scope использует runtime lineage v3 и совпадает с embedded composition;
- изменяемые данные
strategyConfigsи не содержащие lineage агрегатыevaluationStatsBucketsне входят в журнал. Агрегированную debug-телеметрию нельзя приписывать неизменяемой composition.
Команды публикации, синхронизации, replay и scorecard отклоняют журнал, который не соответствует этому контракту. Они не преобразуют прежние runtime-форматы и не восстанавливают отсутствующую identity из Redis, текущего исходного кода или имён evaluations.
Если выбранный период включает несколько композиций развёртывания, публикация
сопоставляет каждую запись с текущим или ранее опубликованным проверенным
снимком и создаёт отдельный неизменяемый набор для каждого
deploymentCompositionId. Отсутствующий или противоречивый снимок останавливает
публикацию: исторические записи не приписываются текущей композиции.
Такие записи могут содержать чувствительную операционную информацию. Ограничьте доступ, не включайте учётные данные и не добавляйте их в репозиторий.
Перенос и проверка журнала
Для анализа в другом окружении:
npx @tradejs/cli runtime-evidence-sync \
--source user@runtime-host:/path/to/ready/production \
--deployment production
Команда проверяет манифест, хеши и актуальный runtime-контракт до сохранения. Для анализа используйте версию проекта с теми же версиями стратегий и среды исполнения. Не редактируйте журнал, чтобы обойти несовпадение.
Воспроизведение записанной настройки
npx @tradejs/cli replay \
--user root \
--runtimeEvidence <bundle>/runtime-evidence.json \
--startTime <ms> \
--endTime <ms> \
--cacheOnly
Затем подготовьте данные для сравнения:
npx @tradejs/cli replay-runtime-evidence \
--runtimeEvidence <bundle>/runtime-evidence.json \
--startTime <ms> \
--endTime <ms> \
--out output/replay-runtime-evidence.json
Если период покрывают несколько результатов, укажите нужный через --replayKey.
Сравнение сохраняет компактные последовательности причин пропуска на закрытых свечах и перечисляет входы бэктеста, исключённые из-за ревизии или границ периода. Так можно отличить расчёт стратегии с пропуском от входа, который нельзя сравнить с записанной композицией среды исполнения.
Сравнение исполнения
Калибровка исполнения сравнивает время сигнала, появление на рынке и фактические исполнения с восстановленными решениями:
npx @tradejs/cli execution-calibration \
--runtimeEvidence <bundle>/runtime-evidence.json \
--replayEvidence output/replay-runtime-evidence.json \
--out output/execution-calibration.json
runtime-scorecard объединяет журнал, сравнение воспроизведения и калибровку в
отчёты JSON и Markdown. Исследуйте пропуски данных, различия конфигураций и
версий, решения фильтров, сдвиги времени, отклонения ордеров и качество
исполнения.
Для быстрого сравнения только входов используйте Сравнение реальных и воспроизведённых входов. Процесс обработки текущих данных описан в Расчёте сигналов.