Лонг-выкуп дна мёртв во всех вариантах. Шорт прямо на первом импульсе пампа (07:15) давал WR 67%/avg +2.25% — но это selection-lookahead: событие определялось через «gap≤−10% достигнут где-то в окне», а вход случался раньше этого порога. После причинного гейта (gap≤−10% и ликвидность уже верны на баре входа) эдж схлопнулся до WR 54%, avg +0.52% и умирает при 0.5% издержек.
Единственный причинный фильтр, переживающий 0.5% издержек: шортить, когда к 09:00 цена отжата обратно к/выше вчерашней постмаркетной (after-hours) цены. WR 62%, avg +0.75%, net@0.5% +0.25%, все 3 года ≥61%, p(WR≤50)=0.013 (N=87). Это ровно твоя идея про постмаркет — но работает для ШОРТА отжатого пампа, не для выкупа дна. Trap: если к 09:00 уже отскочил ≥10% — не шортить (сквизер, WR 39%).
Решение в 09:00 (причинные фильтры) → шорт на открытии 09:30 → выход в close. Никакого премаркет-шорта. Лучший набор — ликвидные не-сквизеры (PM$vol≥$20M ∩ цена≥$20 ∩ к 09:00 не отскочил ≥10%): N=253, WR 58.5%, медиана +1.00%, avg +0.72%, net@0.5% +0.22%, p(WR≤50)=0.005. Постмаркет-AH фильтр тут НЕ нужен (ужимает N и теряет значимость). MOO оставлял деньги — close даёт больше.
| Фильтр (известен в 09:00) | N | WR | avg% | med% | net@.3 | net@.5 | WR CI | pWR50 |
|---|
Сырой open→close шорт теряет (имена отскакивают от открытия). Плюс даёт именно фильтр «крупный+ликвидный+без сквиза». Хвост (худшие −18/−13%) — внутридневные сквизы; медиана всё равно +1%.
Раннее (07:00–07:55) — лучший avg, но это и зона selection-leak. Надёжная точка — 09:00 (гейт уже выполнен).
| Фильтр (известен в 09:00) | N | WR | avg% | net@.3 | net@.5 | 3 года≥53 | pWR50 |
|---|