Перейти к основному содержимому

Навыки Codex для работы со стратегиями

npx create-tradejs устанавливает в .codex/skills проекта полный набор навыков TradeJS с контрольными суммами. Каждым процессом управляет один основной навык, поэтому отдельный эксперимент с логикой стратегии не смешивается с полным исследованием, анализом фильтра, отчётностью и изменениями в рабочей среде.

Выбор основного навыка

  • $strategy-improvement-research выбирает семейства гипотез, ведёт ограниченный журнал тестов, выбирает лучшего кандидата и фиксирует логику стратегии вместе с детерминированным фильтром.
  • $strategy-backtest-research реализует или запускает один заранее зарегистрированный эксперимент с логикой стратегии. Он возвращает проверенные результаты и не выбирает следующего кандидата.
  • $ai-train-local-research используется после фиксации логики стратегии и экспорта данных. Он анализирует детерминированный фильтр и не возвращается к выбору логики.

Полное исследование улучшений последовательно использует оба этапа. Прямой вызов специализированного навыка не запускает весь процесс.

Вспомогательные навыки

НавыкНазначение
$strategy-backtest-researchВыполнить одну ограниченную реализацию или заранее зарегистрированный бэктест логики стратегии
$ai-train-local-researchИсследовать детерминированный фильтр для зафиксированной логики и экспорта данных
$backtest-config-redisПрочитать именованную сетку параметров из локального Redis без переноса в рабочую конфигурацию
$save-strategy-config-from-backtestЯвно перенести исследовательскую сетку параметров в хранящуюся в Git декларацию Project
$runtime-parity-mismatch-analysisРазобрать готовый артефакт с расхождениями до решения о новом воспроизведении

Навыки по этапам работы

НавыкНазначениеМожет изменить рабочую среду?
$strategy-candidate-reportПоказать последнего явно выбранного кандидата, точный конфиг, свежесть, график и метрикиНет
$strategy-candidate-compareСравнить кандидата с точной запущенной композицией на общем периодеНет
$strategy-improvement-planПроанализировать исходный код и результаты, затем расставить причинные гипотезы по приоритетуНет
$strategy-improvement-researchНачать ограниченное исследование логики и детерминированного фильтра, затем зафиксировать лучшего воспроизводимого кандидатаНет
$strategy-period-revalidateПерепроверить рабочую версию и сильных старых кандидатов на расширенном общем периоде без подстройкиНет
$strategy-forward-startОпубликовать и запустить последнего допустимого кандидата — либо явно названного воспроизводимого исторического кандидата — с MAX_LOSS_VALUE=1Да
$strategy-forward-statusПроверить идентичность, совпадение решений, ордера, исполнение и нормализованные результаты работыНет
$strategy-risk-scaleИзменить только MAX_LOSS_VALUE у той же запущенной композицииДа

$strategy-release оставлен как устаревший маршрутизатор для совместимости. Он выбирает ровно один узкий навык и не объединяет исследование, публикацию, развёртывание и изменение риска.

Промпты остаются короткими:

$strategy-candidate-report MarketFlushReversal
$strategy-improvement-research MarketFlushReversal
$strategy-forward-start MarketFlushReversal

Установка и обновление

Исходники навыков хранятся в репозитории фреймворка TradeJS. Все официальные навыки входят в один манифест с SHA-256. Созданные проекты не ведут независимые копии. Весь набор обновляется только через явно выбранную версию create-tradejs:

npx create-tradejs@<approved-version> --update-skills .

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

Корни исследования

Исследования исходного кода разделяют три каталога:

  • PROJECT_CWD хранит .env, конфигурацию, наборы данных, заметки и отчёты.
  • TRADEJS_SOURCE_REPOSITORY_ROOT указывает точную рабочую копию Git фреймворка или отдельной стратегии, чью сборку и историю изменений исследует навык.
  • TRADEJS_FRAMEWORK_REPOSITORY_ROOT указывает собранную копию среды исполнения фреймворка. Она обязательна для абляционного теста фильтра, когда исходный код живёт в отдельном репозитории стратегии. Если исследуется сам фреймворк, обе переменные могут указывать на одну рабочую копию.

Инструмент абляции импортирует strategyEntries из сборки отдельной стратегии. Так принятый путь к стратегии не будет незаметно заменён опубликованным пакетом из Project.

Как выбирается кандидат

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

Прибыль за весь период и доля прибыльных сделок остаются важными экономическими диагностиками, но не являются достаточными сами по себе. Окна 7d/30d/180d описывают текущий режим. Их вес зависит от числа независимых событий: меньше 20 — недостаточная мощность, 20–49 — диагностический уровень, 50 и больше — уровень отбора. Разреженный хвост не требует ждать 7, 30 или 180 календарных дней перед перспективным тестом с риском 1.

Каждый вызов $strategy-improvement-research создаёт новую линию исследования. До новых гипотез навык перепроверяет сильнейших старых кандидатов на новом общем периоде. Он не останавливается после аудита или первого неудачного раунда: работа завершается, когда зафиксирован воспроизводимый лучший кандидат, исчерпан ограниченный бюджет новых вариантов либо для всех оставшихся семейств записана неустранимая причина отказа.

Что делает $strategy-forward-start

$strategy-forward-start <Strategy> — явная граница полномочий для ограниченного перспективного теста в рабочей среде. По умолчанию навык берёт последнего кандидата с проверенной контрольной суммой и допуском к такому тесту, а затем устанавливает MAX_LOSS_VALUE=1.

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

Явно названный исторический кандидат

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

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

Если кандидат содержит ещё не опубликованный исходный код стратегии, навык запускает настроенный процесс выпуска. Он коммитит и отправляет весь диапазон релиза, публикует неизменяемый пакет, устанавливает его точную версию и lock-файл в Project, а затем коммитит и отправляет целиком хранящийся в Git файл tradejs.config.ts. После развёртывания точной версии Project навык проверяет strategyRevision и deploymentCompositionId.

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

Увеличение риска — отдельное решение

Используйте $strategy-risk-scale <Strategy> только после анализа данных перспективного теста. Навык сохраняет точные пакет, логику стратегии, фильтр, контекст, набор символов и правило направления. Он меняет только MAX_LOSS_VALUE и не более чем на один разрешённый шаг. Решение зависит от событий, а не от календаря. Совпадение решений и исполнения, ожидаемая доходность после издержек, нормализованные просадка и хвостовый убыток, проскальзывание, концентрация и число независимых сделок важнее факта «прошло 30 дней».

Требования к счёту, неизменяемой сборке и среде исполнения описаны в разделе Запуск стратегии в рабочем окружении.