MOO-955 Recheck & Intraday Research — Apr 22, 2026

Полный аудит стратегии + regime analysis + ответы на 3 вопроса трейдера (partial exit, intraday post-09:55, CAR-pattern)
Статус daemon
OFFLINE
Apr 22 state file missing
V7 Scorer
BROKEN
Apr 21: 881 candidates → all SKIP
PnL tracking
BROKEN
44 trades Apr 21, all avg_price=0
M10R LONG edge
DECAYING
2022→2025 drop 53%→45%

🔴 1. Production Audit — критические проблемы

Scoring / Rating System

ФактDeтали
Grade mappingConsistent config ↔ m10r_rules.py
Dead code [24, 999]Артефакт M9→M10 в config.json
V7 scorer data sourceMASTER_FILTERED_winners.csv недоступен в worktree
Lookahead check M10RClean (direction from pm_close 09:25)
S1 rule — honest OOS checkWR 14% в 2023, 37% в 2025 — unstable
S12 rule в кодеНе реализован в m10r_rules.py (только в config)

Broker Integration

CheckРезультат
Clipboard pushНЕ автоматизирован в daemon.py
Preflight 8-checkВ коде не найден
Exit 09:55 market orderНет явной логики market order в daemon
Fills feedback loopPipes API не возвращает avg_price/fills
Apr 21 PnL44 trades, 0/44 wins, pnl=$0 (fills lost)
Apr 22 stateНЕ создан — daemon не работал сегодня

ACTION REQUIRED

📊 2. M10R Re-verification — Regime Flip 2023→2024

Universe: 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).

LONG gap buckets — WR% / mean_ret% / by year

Filter2022202320242025Verdict
LONG gap 1-3%59% / +0.4256% / +0.5054% / +0.0645% / +0.09Decay
LONG gap 3-5%53% / +0.1353% / +0.1044% / -0.2045% / -0.19DEAD 2024+
LONG gap 5-10%53% / +0.2746% / +0.0344% / -0.2736% / -0.61STRONG DECAY
LONG gap 10%+48% / -0.2350% / +0.0945% / -0.1142% / -0.55Always weak

SHORT gap-up — regime inversion ⚡

Filter2022202320242025Verdict
SHORT gap-up 3-5%43% / -0.2743% / -0.2452% / +0.0651% / +0.05FLIP
SHORT gap-up 5-10%44% / -0.4151% / -0.1753% / +0.1361% / +0.47STRONG
SHORT gap-up 10-20%47% / +0.0447% / -0.4753% / +0.0659% / +0.57GROWING
SHORT S1 (gap -3..-1 + prev<-2)67% / +1.1014% / -1.9167% / +1.1838% / -0.93Unstable

КЛЮЧЕВОЙ 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.

💡 3. Вопрос #1: Partial exit до 09:55?

Simulation на 21,621 LONG (gap>0) и 2,002 SHORT_S1 events за 2025-04 → 2026-04 (1y, ADV 2M+).

Fixed-time exits (hold to time X)

ExitLONG WR/meanSHORT WR/mean
09:3547.3% / -0.011%46.0% / -0.135%
09:4047.8% / -0.039%46.7% / -0.100%
09:4548.3% / -0.015%44.3% / -0.198%
09:5047.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.

Profit-target early exits (+X% → close)

TargetLONG 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.

50/50 partial exit (half out at target, half hold to 09:55)

TargetLONG WR%mean%SharpeSHORT WR%mean%
+0.5%53.2%-0.223-1.6252.1%-0.232
+1.0%52.5%-0.167-1.1651.6%-0.182
+2.0%50.4%-0.104-0.6749.1%-0.128
+3.0%49.2%-0.072-0.4447.9%-0.105

РЕКОМЕНДАЦИЯ

🎯 4. Вопрос #2: Intraday 09:35-10:30 combos — 0 robust setups

105,235 events scanned, 1440 combos × (direction, entry_time, exit_time, filter). Costs 0.10% round-trip.

Top-9 combos (all with ≥ 1 quarter negative mean)

#DirEntryExitFilterNWR%mean%Sh_ann20252026min Q
1LONG09:5511:00gap_dn + weak @09:45160856.0+0.321.70+0.51+0.13-0.43 (26Q2)
2LONG09:4511:00gap_dn continuation160857.0+0.351.60+0.61+0.00-0.93 (26Q2)
4SHORT10:1511:00post-MOO strong (gap≥10, ret0930_0955 ≥+2)20356.2+0.331.52+0.18+0.78-0.57 (25Q3)
6SHORT09:4511:00gap≥5 + vol<10% ADV78060.0+0.281.30+0.30+0.25-1.05 (25Q3)
9SHORT09:3509:55gap≥10%66856.4+0.281.03+0.07+0.79-0.40 (25Q2)

Детали всех 1440 combos — research_results/intraday_0935_1030_combos_apr22.parquet


CAR-style SHORT after squeeze exhaustion (hypothesis test)

ГипотезаNShПроблема
gap≥20 + HOD в first 25min + ret≤0 → SHORT 09:55→10:3065-0.26Q-by-Q от -0.93 до +2.32
gap≥5 + ret_0930_0940 ≥+3 + c_30<c_15 → SHORT 09:55→11:00-0.61Q1-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:002025Q22025Q32025Q42026Q12026Q2
Sharpe+0.05-0.93-1.28+2.28+5.99
WR%47.548.747.258.778.0
N13915817614350

СОВЕТ Систему на CAR-pattern строить можно, но только с regime filter: SHORT gap-fade активен только когда SPY_20d_ret < -3% AND VIX > 22. Это уберёт 2025Q3-Q4 drawdowns, сохранив 2026Q1-Q2 edge.

📅 5. Today Apr 22, 2026 Analysis

Daemon не запускался сегодня. Последний cycle 2026-04-21T10:22, state/history/ содержит только Apr 20. DB обновилась до Apr 21 EOD (daily_ohlcv). Intraday Apr 22 ещё не собран.

CAR — контекст перед сегодняшним SHORT

DateOpenCloseDay ret %Volume
Apr 15394.4395.8+0.37.2M
Apr 16396.0449.0+13.46.7M
Apr 17438.7493.9+12.64.8M
Apr 20491.3608.8+23.95.7M
Apr 21624.0714.0+14.412.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.

🎯 6. Итоговые рекомендации по 3 вопросам

Q1: Фиксить профит до 09:55?

COMPROMISE

  • На full basket hold to 09:55 оптимален (tail risk убивает target-based)
  • На A+ individual trades где +2-3% за 5 минут = партиал 30% out + 70% hold
  • Ключевое: НЕ весь basket фиксить рано — съесь правый хвост распределения
  • Требует восстановления V7 scorer для точного теста

Q2: Intraday 09:35-10:30 систематика?

NOT YET

  • 0 robust edges нашлось на 1y data
  • Все 9 top-combos имеют ≥ 1 квартал с потерями
  • Нужно 3-5 лет full-session 1m bars (Polygon flat)
  • Regime filter (SPY+VIX) обязателен — stoploss research в background доделает

Q3: CAR-pattern надёжная система?

ТОЛЬКО С REGIME

  • Setup gap≥10 SHORT 09:45→11:00: Sh +5.99 (Q2-26) vs Sh -1.28 (Q4-25)
  • Regime 100% определяет profitability
  • Гейт: SPY_20d < -3% AND VIX > 22 — тогда SHORT fade валиден
  • NO для permanent strategy, YES для regime-adaptive module

📁 Файлы и дальнейшие шаги

Saved outputs

  • research_results/partial_exit_fixedtime.csv — 10 конфигов fixed-time exits
  • research_results/partial_exit_targets.csv — 12 target-exit combos
  • research_results/partial_exit_5050.csv — 10 50/50 partial combos
  • research_results/intraday_0935_1030_combos_apr22.parquet — 1440 combos
  • research_results/intraday_0935_1030_summary.md — detailed RU report
  • _m10r_recheck.py + output — M10R 3y verification

Stoploss research — ЗАВЕРШЕНО, результат NULL ❌

  • 5,125 combos (8 гипотез × 11 entries × 5 TP × 5 SL × 5 time-stops), N=1.17M entries
  • Strict pass: 0 (N≥100, WR≥58%, mean≥0.3%, Sh≥2.0)
  • Stable (4+ из 5 кварталов): 0
  • Best: H5 trend_cont_long 09:50 TP+2%/SL-3%/30m → Sh 2.55, но Q4-2025 WR 45% mean -0.30% → q_pass 3/5
  • Breakout/breakdown 09:30 ±0.5% + vol≥1.5× ADV — Sharpe отрицательный после costs (чистый шум)
  • Gap fade (10-15%) — N<30 на entry/год, не хватает истории
  • research_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.

Next actions

  • ⚠️ Запустить daemon на Apr 22 — сейчас OFFLINE
  • ⚠️ Починить V7 scorer path (все 881 candidates → SKIP)
  • ⚠️ Debug pipes fill feedback (44 trades с avg_price=0)
  • 📊 Получить 3y full-session 1m bars для nirobust intraday research
  • 📊 Добавить SPY/VIX regime classifier в M10R для adaptive SHORT