Стратегии
Событийная надстройка на основе дрейфа до объявления FOMC для индексных ETF US (SPY + QQQ, дневные бары USEQ): длинная позиция за 24 ч до каждого запланированного решения FOMC, в остальное время без позиции; без комиссий, 2 параметров
Итог: Отменено
PreFomcAnnouncementDriftOverlaySpyQqqUseq
Сводка по итогам
Гипотеза
Проблема в величине эффекта, а не в комиссиях или переобучении оптимизатора. Все жёсткие фильтры пройдены, но результат за всю историю — Sharpe 0.105 / CAGR 0.70%; бутстрэп-интервал CI пересекает ноль, а точечная оценка ниже порога шума для лучшего из N (expected_max 0.2255). Поэтому DSR — 0.243, и программа FDR отклоняет стратегию: провал по DSR лишь подтверждает Sharpe ниже шумового порога, а не является отдельным чрезмерно строгим мягким ограничением. Измерения на уровне сделок показывают, что дрейф до FOMC сосредоточен в начале периода: +0.409%/событие (t=2.47) в 1999-2009 против +0.098%/событие (t=1.04) за 266 событий 2010-2026. Итерации невозможны: есть один дискретный параметр, уже перебранный; экспозиция лишь масштабирует результат, не меняя Sharpe. Накопление наблюдений не поможет: 8 событий в год, около 0.8% доходности в год — потребуются десятилетия, чтобы отличить Sharpe 0.1 от нуля. Дело не в revise_hypothesis: SPY/QQQ уже ARE эталонные инструменты.
Реализация
Событийная надстройка только с длинными позициями, использующая дрейф до объявления FOMC, для двух самых ликвидных индексных ETF US: SPY (основной) и QQQ (вторичный), дневные бары сессий USEQ. Встроенная таблица дат всех SCHEDULED объявлений о политике FOMC (1999-2027, годы публикации которых ФРС сообщает заранее) задаёт непрерывный сигнал близости 1/sessions_to_announcement, равный -1.0 в день объявления. Обе позиции покупаются в равных долях (gross_exposure_per_leg капитала на каждую, целое число акций), когда сигнал входит в [1/(entry_lead_days+1), 1.0), чтобы исполнение по следующему открытию пришлось на открытие сессии объявления PRE. Обе позиции закрываются, когда сигнал достигает 1.0 — в последнюю сессию до решения, чтобы продажи исполнились на открытии дня объявления, до заявления 14:00 ET. Портфель примерно 96% календарного времени без позиции и никогда не удерживает реакцию на объявление. Всего два свободных параметра.
Результаты верификации
При желании считай сессии по сетке сессий market_calendar (XNYS), а не по обычным будням: тогда события FOMC рядом с праздниками будут попадать ровно за одну сессию до решения. Либо оставь всё как есть и положись на то, что entry_lead_days=2-3 учтёт дрейф.
Срок до объявления считается по обычным будням с понедельника по пятницу (_weekdays_after), а не по календарю сессий USEQ. Поэтому биржевой выходной внутри периода до объявления сдвинет фактическое исполнение на одну сессию: подсчёт будней считает выходной сессией, для которой нет бара. Такое случается редко — несколько раз за десятилетие; разработчик признаёт это и предлагает увеличить entry_lead_days как способ смягчения. Это некритично: немного меняет время входа в нескольких событиях, но не создаёт заглядывания вперёд и не нарушает стратегию.
Честное замечание разработчика: измеренный дрейф SPY на событие с 2020 близок к нулю (положителен в QQQ), поэтому позиция SPY может снижать чистую доходность на сделку. Результат на тестовом стенде avg_trade_return_pct — 0.090%: выше порога спреда и влияния на рынок USEQ около 0.02-0.05%, но невелик; Sharpe 0.057, а CI [-0.73, 0.88] пересекает ноль на усечённом периоде. Дрейф до FOMC — хорошо документированная аномалия (Лукка—Мёнх), но за последние примерно 5 лет он заметно ослаб. Аналитику следует проверить дрейф на событие за всю историю 1999-2026 и выяснить, сохраняет ли позиция SPY положительное ожидание или её стоит убрать либо уменьшить относительно QQQ. Только рекомендация: код точно реализует гипотезу, обе позиции зарегистрированы заранее.
Обзор бэктеста
- Шарп
- 0,12
- Общая доходность
- 38,59%
- Максимальная просадка
- 7,26%
- Всего сделок
- 440
- Доля прибыльных
- 55,7%
- Профит-фактор
- 1,37
Проверяет гипотезу для MATCH: 220 входов только в лонг (0 коротких позиций), exposure_pct 4.41% => без позиции примерно 96% календарного времени; один вход на каждое плановое решение FOMC. Оверлей до FOMC реализован согласно описанию, а не является артефактом кода.
Численно жизнеспособна на USEQ: avg_trade_return_pct 0.1926% превышает порог спреда и влияния на рынок USEQ (> 0.05%, предпочтительно >0.10%); profit_factor 1.37 (> 1.2); низкий max_drawdown 7.26%; 440 сделок — надёжная, статистически значимая выборка (metrics_reliable=true).
Это хорошо документированная аномалия (дрейф до FOMC по Лукке—Мёнху), не зависящая критически от комиссий, на самых ликвидных ETF; ёмкость около $5.4M, влияние на рынок всего 13.6% валового результата. Это не копия стратегии на импульсе, парах или короткой волатильности из кладбища неудачных гипотез.
Эффект заметно ослаб: недавние календарные годы отрицательны (2024 -1.0%, 2025 -0.1%, 2026 -3.2%), а скользящий Sharpe стал отрицательным. Sharpe MTM за весь период (0.116) низок, а его CI [-0.21, 0.46] пересекает ноль.
Сегмент SPY, вероятно, не работает или снижает результат (примечание QA: дрейф на событие ~0 с 2020 против всё ещё положительного QQQ при SPY), но симметричный параметр gross_exposure_per_leg не позволяет снизить его вес.
Последняя контрольная выборка -20% совпадает с периодом ослабления эффекта, поэтому решение будет принято по результату на ней.
Анализ
Реализация чистая, сделки точно соответствуют гипотезе: 220 запланированных событий FOMC × 2 позиций = 440 сделок только в длинную, 0 коротких позиций, удержание 2-4 день, exposure_pct 11.1% (без позиции примерно 89% календарного времени), заглядывания вперёд нет.
Нет резких провалов (cliff_count 0); walk-forward-анализ NOT не выявил переобучения (IS 0.428 против OOS 0.580, PBO 0.485); отложенная выборка (2015-10 -> 2021-06, 90 сделок) положительная при Sharpe 0.185 и согласуется с WF-OOS (z -0.932). Все HARD проверки валидности пройдены.
Проблема не в комиссиях: avg_trade_return_pct 0.244% — около 5x порога USEQ, комиссии нулевые, влияние на рынок составляет лишь 9.8% валового результата, просадка 5.5% в пределах заранее установленного лимита 12%.
Механизм действительно проявляется на всей выборке: +0.244%/событие (SPY +0.318%, t=+2.9; QQQ +0.125%, t=+0.93).
Экономически несущественный и статистически неотличимый от нуля на самой длинной выборке, которая когда-либо будет доступна: CAGR 0.70%/год, +21.1% за 23.2 лет торговли, волатильность 5.88%, Sharpe 0.105 с 95% CI [-0.225, +0.450], PSR 0.594.
Выбранный Sharpe 0.105 BELOW порога удачи best-of-N (expected_max 0.2255) -> DSR 0.243 (сырой 0.056), тест программы FDR отклоняет (p 0.757). Calmar 0.127 примерно на 4x ниже минимума.
Измеренное ослабление после публикации: +0.409%/событие (t=+2.47) в 1999-2009 против +0.098%/событие (t=+1.04) за 266 событий 2010-2026; после -2020 обе позиции дают шумовой результат (t<0.7); положительный результат был лишь в 4 из последних 11 календарных лет.
Настроить нечего: min_notional совсем не влияет; gross_exposure_per_leg — простой множитель масштаба (при уменьшении вдвое доходность и волатильность также падают вдвое, Sharpe остаётся около 0.11); параметр entry_lead_days в {1,2,3} полностью перебран за 225 испытаний.
max_drawdown_duration 2549 дней, information_ratio -0.456, альфа +0.27%/год. Заранее зарегистрированные коэффициент Шарпа OOS (0.9 против 0.580) и PF (1.4 против 1.385) оба не достигнуты. Почти идентичный вариант (сходство 0.786) уже провалился.
Семантический аудитор обнаружил несоответствие кода гипотезе — код не реализует гипотезу NOT. Перепишите код стратегии так, чтобы он реализовывал гипотезу EXACTLY (инструмент, таймфрейм, направление, заявленное преимущество/механизм, размер позиции). Конкретные проблемы: в гипотезе заявлен оверлей на двух инструментах (SPY — основной, QQQ — дополнительный; инструменты: ["SPY.USEQ", "QQQ.USEQ"]), однако config.instrument_id содержит QQQ.USEQ с extra_instruments=[] и только QQQ bar_type, а PreFomcAnnouncementDriftOverlayQqqUseq не содержит логики инструмента или ордеров SPY.USEQ (только текст в docstring). Заявленный основной сегмент отсутствует и в конфигурации, и в коде; это отклонение от заранее зарегистрированного набора инструментов, которое Layer 1.5 не выявляет.
Поправка Бенджамини—Хохберга при q=0.10 для 286 кандидатов программы оставляет 4. Кандидата, не прошедшего этот фильтр, нельзя отличить от собственного шума программы, какими бы хорошими ни были его отдельные статистические показатели.
Сводка по итогам
Даже корректно реализованная и хорошо документированная академическая аномалия может провалиться лишь из-за малого эффекта. Если единственные настройки — это простой множитель масштаба и один уже перебранный дискретный параметр, путь для итераций отсутствует, а ослабевший после публикации эффект нельзя восстановить настройкой параметров.
Аналитик отказался от стратегии после оптимизации: все жёсткие критерии валидности пройдены, но выбранный Sharpe 0.105 оказался ниже порога удачи для лучшего из N (expected_max 0.2255). Скорректированный на смещение Sharpe составил 0.243, программа-FDR отклонила стратегию (p 0.757). Атрибуция сделок показала, что дрейф снизился с +0.409%/событие (t=2.47) в 1999-2009 до +0.098%/событие (t=1.04) за 266 событий 2010-2026.
Надстройка только с длинными позициями, активируемая событиями, для SPY и QQQ (дневные бары USEQ): риск по акциям удерживается только в сессию перед каждым запланированным объявлением FOMC, чтобы извлекать дрейф до объявления FOMC по Луке—Мёнху; всего два свободных параметра.
Оптимизированный бэктест за 1993-2026 дал 440 сделок только в длинную по 220 запланированным событиям FOMC: общая доходность 21.1%, CAGR 0.70%, Sharpe 0.105 (95% CI–-0.225 до +0.450), фактор прибыли 1.38, максимальная просадка 5.5%, средняя доходность сделки 0.244% от номинала. Walk-forward-анализ не выявил переобучения (IS 0.428 против OOS 0.580, PBO 0.485); контрольная выборка прошла с Sharpe 0.185 и 90 сделками.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.