Стратегии
Разворот остаточного шока акции относительно собственного сектора за ETF: играть против идиосинкратического движения величиной >=2.5 сигма за 5 сессии в 20 US компаниях с большой капитализацией против их секторного SPDR ETF, лонг-шорт с хеджированием беты, фиксированное удержание 10 сессий (USEQ 1-DAY)
Итог: Отменено
StockSectorEtfResidualShockReversal
Сводка по итогам
Гипотеза предполагала разворот остаточного движения относительно сектора с хеджированием беты для 20 US компаний с большой капитализацией по четырём секторным ETF SPDR; предварительное исследование самой гипотезы показало умеренное положительное преимущество на событие. Разработчик создал реализацию скользящей статистики O(1) и дорабатывал её в течение 3 итераций. В итерации 3 предполагалось задать конфигу фиксированное плечо 2.0 из плана, однако проверка снова не прошла контроль согласованности гипотезы и конфига на уровне 1.5 по этому требованию к плечу. Запуск прекратили как цикл проверок, поэтому до бэктестинга, оптимизации, анализа и оценки рисков дело не дошло.
Гипотеза
verification_loop: проверка не пройдена (уровень 1.5 — согласованность гипотезы и конфига) [класс=hypothesis_mismatch]: - optimization_plan фиксирует плечо на уровне 2.0
Реализация
Стратегия играет на затухание крупных остаточных шоков акций относительно секторов среди 20 US компаний с большой капитализацией, используя секторные хеджи ETF с весами по бете, до восьми одновременных событий, базовое удержание в течение 10 сессий и стопы по остаточному риску.
Устраняет описанный сбой слоя 1.5, задавая config.leverage фиксированным значением 2.0 из плана исследования. В существующем расчёте размера пар относительно капитала уже используется self.config.leverage, поэтому это исправление обеспечивает предусмотренный уровень экспозиции. Логика исполняемой стратегии сохранена; исправление задокументировано только в исходной строке документации. Все 24 указанных инструмента остаются настроенными, включая четыре компонента XLP, не включённые в market_context.instruments, но прямо требуемые описанием гипотезы. Проверка не проводилась. Запрошенный файл исходящих данных не удалось записать из-за разрешений файловой системы этой сессии только на чтение; полный результат задачи JSON приведён здесь.
Результаты верификации
Проверка не пройдена (уровень 1.5 — согласованность гипотезы и конфига) [класс=hypothesis_mismatch]: - optimization_plan фиксирует плечо на уровне 2.0
История итераций
sandbox_timeout: проверка не пройдена (слой 3 — бэктест в песочнице): дымовой тест превысил лимит времени 300 с на окне около 20000 баров (2400 дней по XLF.USEQ-1-DAY-LAST-EXTERNAL). Почти всегда это означает, что объём работы на каждом баре растёт вместе с историей — например, повторное сканирование всей серии финансирования/дополнительных данных или повторное создание списка и вызов min()/sorted() внутри calculate_signal()/on_bar() на каждом баре. Предварительно вычислите отсортированные массивы временных меток ONCE в __init__ и используйте bisect либо кэшируйте результаты поиска по временной метке, чтобы затраты на бар составляли O(log n), а не O(n).
Сводка по итогам
Перед повторной отправкой проверь, что выходной конфиг стратегии (особенно плечо) точно соответствует optimization_plan гипотезы: повторное несоответствие на уровне 1.5 завершает запуск до получения любых данных бэктеста.
После 3 итераций запуск прекратили в цикле проверок на уровне 1.5 (согласованность гипотезы и конфига, класс hypothesis_mismatch) с сообщением «optimization_plan фиксирует плечо на уровне 2.0». Стратегия не дошла до бэктестинга, анализа или оценки рисков.
Играть против идиосинкратического остаточного движения величиной >=2.5 сигма за 5 сессий в 20 US компаниях с большой капитализацией относительно собственного секторного SPDR ETF (XLE, XLF, XLU, XLP); лонг-шорт с хеджированием беты и фиксированным удержанием 10 сессий на дневных барах USEQ, чтобы получить премию за ликвидность от краткосрочного разворота остаточного движения.
Результатов бэктеста или оптимизации в конвейере нет (отчёт о бэктесте пуст, отчёт об оптимизации отсутствует). Приведены только показатели предварительного исследования гипотезы, а не бэктеста в конвейере: 911 событий с 2008 по 2026, среднее +0.33% на событие, доля успешных событий 54.3%, t около 2.75.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.