| Факт | Deтали |
|---|---|
| Grade mapping | Consistent config ↔ m10r_rules.py |
| Dead code [24, 999] | Артефакт M9→M10 в config.json |
| V7 scorer data source | MASTER_FILTERED_winners.csv недоступен в worktree |
| Lookahead check M10R | Clean (direction from pm_close 09:25) |
| S1 rule — honest OOS check | WR 14% в 2023, 37% в 2025 — unstable |
| S12 rule в коде | Не реализован в m10r_rules.py (только в config) |
| Check | Результат |
|---|---|
| Clipboard push | НЕ автоматизирован в daemon.py |
| Preflight 8-check | В коде не найден |
| Exit 09:55 market order | Нет явной логики market order в daemon |
| Fills feedback loop | Pipes API не возвращает avg_price/fills |
| Apr 21 PnL | 44 trades, 0/44 wins, pnl=$0 (fills lost) |
| Apr 22 state | НЕ создан — daemon не работал сегодня |
MASTER_FILTERED_winners.csv в scorer.py:159-170 (scorer возвращает score=0 для всех кандидатов)post_trade_collector.py:99-125 + pipes API response schema (fills не поступают)daemon.py для автоматической подачи basket в TradingAppUniverse: ADV 20d ≥ 2M, prev_close ≥ $5, 2022-04 → 2025-04 (intraday_4yr.parquet). Entry MOO (09:30), exit 09:55 market. Costs: LONG 5bps, SHORT 5bps + 4bps locate. Сравнение 2022-2023 (baseline) vs 2024-2025 (recent).
| Filter | 2022 | 2023 | 2024 | 2025 | Verdict |
|---|---|---|---|---|---|
| LONG gap 1-3% | 59% / +0.42 | 56% / +0.50 | 54% / +0.06 | 45% / +0.09 | Decay |
| LONG gap 3-5% | 53% / +0.13 | 53% / +0.10 | 44% / -0.20 | 45% / -0.19 | DEAD 2024+ |
| LONG gap 5-10% | 53% / +0.27 | 46% / +0.03 | 44% / -0.27 | 36% / -0.61 | STRONG DECAY |
| LONG gap 10%+ | 48% / -0.23 | 50% / +0.09 | 45% / -0.11 | 42% / -0.55 | Always weak |
| Filter | 2022 | 2023 | 2024 | 2025 | Verdict |
|---|---|---|---|---|---|
| SHORT gap-up 3-5% | 43% / -0.27 | 43% / -0.24 | 52% / +0.06 | 51% / +0.05 | FLIP |
| SHORT gap-up 5-10% | 44% / -0.41 | 51% / -0.17 | 53% / +0.13 | 61% / +0.47 | STRONG |
| SHORT gap-up 10-20% | 47% / +0.04 | 47% / -0.47 | 53% / +0.06 | 59% / +0.57 | GROWING |
| SHORT S1 (gap -3..-1 + prev<-2) | 67% / +1.10 | 14% / -1.91 | 67% / +1.18 | 38% / -0.93 | Unstable |
КЛЮЧЕВОЙ INSIGHT Рынок сменил режим между 2023 и 2024. LONG momentum на gap-up превратился в SHORT mean-reversion. Это объясняет почему CAR SHORT сегодня работает — текущий режим уже 2 года продолжается.
⚠️ Combined portfolio daily Sh = -0.49, pos_days 47.3% — без V7 scorer фильтра M10R теряет деньги на полной истории. V7 scorer = critical component для positive edge.
Simulation на 21,621 LONG (gap>0) и 2,002 SHORT_S1 events за 2025-04 → 2026-04 (1y, ADV 2M+).
| Exit | LONG WR/mean | SHORT WR/mean |
|---|---|---|
| 09:35 | 47.3% / -0.011% | 46.0% / -0.135% |
| 09:40 | 47.8% / -0.039% | 46.7% / -0.100% |
| 09:45 | 48.3% / -0.015% | 44.3% / -0.198% |
| 09:50 | 47.6% / -0.015% | 45.4% / -0.197% |
| 09:55 (baseline) | 48.2% / -0.014% | 47.1% / -0.078% |
Все 5 exit-таймов дают ≈ -0.01% mean — ранний выход не даёт и не отбирает edge на unfiltered universe.
| Target | LONG WR% | mean% | max loss |
|---|---|---|---|
| +0.5% | 63.8% | -0.433 | -34.8% |
| +1.0% | 57.2% | -0.321 | -34.8% |
| +1.5% | 53.7% | -0.245 | -34.8% |
| +2.0% | 51.6% | -0.195 | -34.8% |
| +3.0% | 49.6% | -0.131 | -34.8% |
| +5.0% | 48.5% | -0.063 | -34.8% |
⚠️ Tail risk trap: target +0.5% даёт WR 64%, но mean -0.43% — крошечные profits сжираются катастрофическими losers (-34%). Классическая asymmetric tail exposure.
| Target | LONG WR% | mean% | Sharpe | SHORT WR% | mean% |
|---|---|---|---|---|---|
| +0.5% | 53.2% | -0.223 | -1.62 | 52.1% | -0.232 |
| +1.0% | 52.5% | -0.167 | -1.16 | 51.6% | -0.182 |
| +2.0% | 50.4% | -0.104 | -0.67 | 49.1% | -0.128 |
| +3.0% | 49.2% | -0.072 | -0.44 | 47.9% | -0.105 |
РЕКОМЕНДАЦИЯ
105,235 events scanned, 1440 combos × (direction, entry_time, exit_time, filter). Costs 0.10% round-trip.
| # | Dir | Entry | Exit | Filter | N | WR% | mean% | Sh_ann | 2025 | 2026 | min Q |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | LONG | 09:55 | 11:00 | gap_dn + weak @09:45 | 1608 | 56.0 | +0.32 | 1.70 | +0.51 | +0.13 | -0.43 (26Q2) |
| 2 | LONG | 09:45 | 11:00 | gap_dn continuation | 1608 | 57.0 | +0.35 | 1.60 | +0.61 | +0.00 | -0.93 (26Q2) |
| 4 | SHORT | 10:15 | 11:00 | post-MOO strong (gap≥10, ret0930_0955 ≥+2) | 203 | 56.2 | +0.33 | 1.52 | +0.18 | +0.78 | -0.57 (25Q3) |
| 6 | SHORT | 09:45 | 11:00 | gap≥5 + vol<10% ADV | 780 | 60.0 | +0.28 | 1.30 | +0.30 | +0.25 | -1.05 (25Q3) |
| 9 | SHORT | 09:35 | 09:55 | gap≥10% | 668 | 56.4 | +0.28 | 1.03 | +0.07 | +0.79 | -0.40 (25Q2) |
Детали всех 1440 combos — research_results/intraday_0935_1030_combos_apr22.parquet
| Гипотеза | N | Sh | Проблема |
|---|---|---|---|
| gap≥20 + HOD в first 25min + ret≤0 → SHORT 09:55→10:30 | 65 | -0.26 | Q-by-Q от -0.93 до +2.32 |
| gap≥5 + ret_0930_0940 ≥+3 + c_30<c_15 → SHORT 09:55→11:00 | — | -0.61 | Q1-26 mean -0.56% |
| gap≥10 + off_HOD ≥-3% @09:55 → SHORT 09:55→11:00 | — | -0.74 | Не прошёл |
ВЫВОД CAR SHORT сегодня — это regime-specific alpha 2026Q2, а не systematic edge. Тот же setup:
| Setup: gap≥10 SHORT 09:45→11:00 | 2025Q2 | 2025Q3 | 2025Q4 | 2026Q1 | 2026Q2 |
|---|---|---|---|---|---|
| Sharpe | +0.05 | -0.93 | -1.28 | +2.28 | +5.99 |
| WR% | 47.5 | 48.7 | 47.2 | 58.7 | 78.0 |
| N | 139 | 158 | 176 | 143 | 50 |
СОВЕТ Систему на CAR-pattern строить можно, но только с regime filter: SHORT gap-fade активен только когда SPY_20d_ret < -3% AND VIX > 22. Это уберёт 2025Q3-Q4 drawdowns, сохранив 2026Q1-Q2 edge.
Daemon не запускался сегодня. Последний cycle 2026-04-21T10:22, state/history/ содержит только Apr 20. DB обновилась до Apr 21 EOD (daily_ohlcv). Intraday Apr 22 ещё не собран.
| Date | Open | Close | Day ret % | Volume |
|---|---|---|---|---|
| Apr 15 | 394.4 | 395.8 | +0.3 | 7.2M |
| Apr 16 | 396.0 | 449.0 | +13.4 | 6.7M |
| Apr 17 | 438.7 | 493.9 | +12.6 | 4.8M |
| Apr 20 | 491.3 | 608.8 | +23.9 | 5.7M |
| Apr 21 | 624.0 | 714.0 | +14.4 | 12.3M |
5-day pump $394 → $714 = +81%. Classic parabolic exhaustion — SHORT на $800 после morning squeeze это текст-бук entry. Объём Apr 21 x2 от предыдущих дней = climax volume.
Оценка сделки CAR $800 SHORT — discretionary play OK. Параболические экстремумы в этом режиме (2026Q2) дают asymmetric payoff. Но это не MOO-955 signal, а parabolic exhaustion fade.
COMPROMISE
NOT YET
ТОЛЬКО С REGIME
research_results/partial_exit_fixedtime.csv — 10 конфигов fixed-time exitsresearch_results/partial_exit_targets.csv — 12 target-exit combosresearch_results/partial_exit_5050.csv — 10 50/50 partial combosresearch_results/intraday_0935_1030_combos_apr22.parquet — 1440 combosresearch_results/intraday_0935_1030_summary.md — detailed RU report_m10r_recheck.py + output — M10R 3y verificationresearch_results/intraday_0935_1030_STOPLOSS_apr22.parquet — все 5,125 combosВЫВОД Stoploss сам по себе edge не создаёт. Для 09:35-10:30 окна нужен cohort-filter (earnings, TTN news, sector rotation) поверх gap+intraday features. Без него — noise после costs.