Перейти к содержимому
Все стратегии

Стратегии

Событийная надстройка на основе дрейфа до объявления FOMC для индексных ETF US (SPY + QQQ, дневные бары USEQ): длинная позиция за 24 ч до каждого запланированного решения FOMC, в остальное время без позиции; без комиссий, 2 параметров

Итог: Отменено

PreFomcAnnouncementDriftOverlaySpyQqqUseq

Сводка по итогам

PreFomcAnnouncementDriftOverlaySpyQqqUseq торговал дрейфом перед объявлением FOMC, открывая длинную позицию по SPY и QQQ только на сессии перед каждым из 220 запланированных решений ФРС с 1993 по 2026 и оставаясь без позиции в остальное время. Стратегия дошла до оптимизации после четырёх итераций кодирования (последняя вернула отсутствующую ногу SPY и перенесла окно удержания целиком на период до заявления 14:00 ET); первоначальный бэктест получил вердикт «оптимизировать»: сделки соответствовали гипотезе,……Показать большеСвернуть

PreFomcAnnouncementDriftOverlaySpyQqqUseq торговал дрейфом перед объявлением FOMC, открывая длинную позицию по SPY и QQQ только на сессии перед каждым из 220 запланированных решений ФРС с 1993 по 2026 и оставаясь без позиции в остальное время. Стратегия дошла до оптимизации после четырёх итераций кодирования (последняя вернула отсутствующую ногу SPY и перенесла окно удержания целиком на период до заявления 14:00 ET); первоначальный бэктест получил вердикт «оптимизировать»: сделки соответствовали гипотезе, доходность на сделку была приемлемой — 0.19%. Оптимизация подтвердила корректность реализации: нет резких провалов параметров, переобучения, отложенная выборка положительная, — но дала лишь 0.70% CAGR и Sharpe 0.105, доверительный интервал которого пересекал ноль; скорректированный на смещение Sharpe (0.243) и тест FDR на уровне программы оба дали отрицательный результат. Аналитик отказался от стратегии из-за недостаточной величины эффекта, а не из-за комиссий или переобучения: дрейф измеримо сосредоточен в 1999-2009, два параметра не давали возможности для настройки, а при восьми событиях в год на проверку эффекта и его отделение от шума ушли бы десятилетия.

Гипотеза

Оверлей LOW-FREQUENCY, EVENT-GATED, LONG-ONLY на двух самых ликвидных индексных ETF US (SPY — основной, QQQ — дополнительный) на площадке USEQ без комиссий, дневные бары. Стратегия FLAT примерно 96% времени и принимает риск по акциям только в течение примерно 24 часов непосредственно перед каждым объявлением о политике SCHEDULED FOMC. Механизм — дрейф перед объявлением FOMC (Lucca & Moench 2015): значительная, статистически надёжная доля всей премии за риск по акциям US зарабатывается в течение 24 часов перед……Показать большеСвернуть

Оверлей LOW-FREQUENCY, EVENT-GATED, LONG-ONLY на двух самых ликвидных индексных ETF US (SPY — основной, QQQ — дополнительный) на площадке USEQ без комиссий, дневные бары. Стратегия FLAT примерно 96% времени и принимает риск по акциям только в течение примерно 24 часов непосредственно перед каждым объявлением о политике SCHEDULED FOMC. Механизм — дрейф перед объявлением FOMC (Lucca & Moench 2015): значительная, статистически надёжная доля всей премии за риск по акциям US зарабатывается в течение 24 часов перед запланированными решениями FOMC (в среднем около +40-49 б.п. доходности SPX 1994-2011, положительная примерно в 70-80% событий), поскольку инвесторам компенсируют принятие неопределённости политики перед объявлением, которая разрешается в 2pm ET в день решения. Эта стратегия намеренно не является клоном импульсной стратегии (NOT L94/L95), спредом на криптовалютных парах или коинтеграции (NOT L96), стратегией сбора премии за короткую волатильность/NOT (VRP; кладбище опционов: no_edge/risk_reject) или микроструктурной стратегией на угасание движения, где доход не покрывает комиссий (NOT; кладбище стратегий, убитых комиссиями: 484). Календарь заседаний FOMC общедоступен, фиксирован и известен заранее, поэтому триггер входа полностью детерминирован и 100% поддаётся бэктестингу на дневных данных за десятилетия. Разработчик встраивает список дат запланированных объявлений FOMC (8 в год; ФРС публикует их за несколько лет). В стратегии намеренно 2 параметров (опережение входа в торговых днях, валовая экспозиция на инструмент), чтобы избежать переобучения при большом числе параметров (380). Инструменты: ["SPY.USEQ", "QQQ.USEQ"].

Итерация 4 устраняет именно указанный сбой: семантический аудитор обнаружил отсутствие заранее зарегистрированной основной позиции SPY.USEQ и в конфигурации, и в коде (в итерации 3 использовался только QQQ). Теперь SPY — основной инструмент/bar_type, а QQQ включён в extra_instruments/extra_bar_types; обе позиции проходят через одинаковый календарный фильтр в _submit_entry_instrument / _submit_exit_position (вспомогательные функции дословно взяты из предыдущей двухпозиционной версии стратегии, уже прошедшей слои……Показать большеСвернуть

Итерация 4 устраняет именно указанный сбой: семантический аудитор обнаружил отсутствие заранее зарегистрированной основной позиции SPY.USEQ и в конфигурации, и в коде (в итерации 3 использовался только QQQ). Теперь SPY — основной инструмент/bar_type, а QQQ включён в extra_instruments/extra_bar_types; обе позиции проходят через одинаковый календарный фильтр в _submit_entry_instrument / _submit_exit_position (вспомогательные функции дословно взяты из предыдущей двухпозиционной версии стратегии, уже прошедшей слои 1-3), с равным размером каждой позиции. Всё, что уже прошло проверку, осталось без изменений: те же импорты и структура класса (слой 1), тот же непрерывный календарный сигнал (слой 2) и сдвиг окна в итерации -3, помещающий экспозицию в сессию объявления PRE (от открытия T-1 до открытия T), а не на время заявления. Параметр переименован из gross_exposure в gross_exposure_per_leg, поскольку теперь задаёт размер одной из двух позиций; ограничения объявлены в _param_bounds. Честное замечание: измеренный дрейф на событие с 2020 был близок к нулю в SPY и положителен в QQQ, поэтому позиция SPY может снижать чистую доходность на сделку. Но гипотеза заранее включает оба инструмента, и оба реализованы.

Проблема в величине эффекта, а не в комиссиях или переобучении оптимизатора. Все жёсткие фильтры пройдены, но результат за всю историю — 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 — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.