| Ticker | Avg pattern | Stable % | Mean gap | Mean 25м | → 11:00 | → close | Direction | Описание |
|---|---|---|---|---|---|---|---|---|
| SQ | MOO_GAP_DOWN_BOUNCE | 60% | -1.46% | +1.15% | +1.47% | +0.83% | LONG | открылся с гэпом ВНИЗ и развернулся ВВЕРХ — bounce |
| PG | POST_OPEN_RUN_UP | 75% | +0.00% | +0.51% | +0.44% | +0.25% | LONG | открылся ровно, в первые 25 мин ВВЕРХ — defensive bounce |
| XLP | FLAT (но stable) | 67% | -0.07% | — | +0.31% | +0.26% | LONG | Defensive consumer staples bounce |
| XRT | FLAT (но stable) | 65% | -0.30% | — | +0.27% | +0.80% | LONG | Retail bounce — 2x close vs 11:00 (продолжается) |
| HYG | FLAT (но stable) | 65% | -0.06% | +0.16% | +0.13% | +0.22% | LONG | High-yield bond bounce — credit normalization |
| GLD | FLAT (но stable) | 64% | +0.42% | — | -0.21% | -0.21% | SHORT | Gold gap-up в panic, к 11:00 fade — risk-on перевешивает |
| XOM | FLAT (но stable) | 61% | -0.27% | -0.09% | +0.30% | +0.41% | LONG | Energy oversold bounce |
| CVX | FLAT (но stable) | 61% | -0.29% | -0.34% | +0.19% | +0.21% | LONG | Same dynamic as XOM |
| WMT | FLAT (но stable) | 61% | -0.10% | +0.49% | +0.26% | +0.34% | LONG | Defensive bounce |
| USO | FLAT (но stable) | 61% | -0.71% | -0.05% | +0.35% | +0.49% | LONG | Oil oversold |
| EWJ | FLAT (но stable) | 61% | -0.26% | +0.23% | +0.17% | +0.51% | LONG | Japan bounce |
| VLO | FLAT (но stable) | 60% | -0.27% | +0.32% | +0.26% | +0.68% | LONG | Refiner oversold |
Stable% = доля дней где знак ret_to_1100 совпадает со знаком средней. ≥60% = considered stable. 12 из 50 тикеров проходят порог ТОЛЬКО в R0 — в R1-R4 паттерны слишком разнообразны.
| N сигналов | 1,563 |
| Mean PnL | +0.069% |
| Sharpe (raw) | +0.84 |
| Sign-flip p | 0.021 |
| Block-bootstrap CI | [-0.23, 1.95] |
| HHI (квартальный) | 0.119 ✓ |
| Verdict | borderline FAIL (Sh<1) |
| N сигналов | 1,977 |
| Mean PnL | +0.115% |
| Sharpe (raw) | +0.97 |
| Sign-flip p | 0.0045 |
| Block-bootstrap CI | [-0.09, 2.00] |
| HHI (квартальный) | 0.131 ✓ |
| Verdict | borderline FAIL (Sh<1) |
12m OOS показал Sh 2.12 (May 06), 3y OOS даёт Sh 0.97 — реальный edge меньше, но p=0.005 на 1977 сигналах — статистически значимый. HHI ≪ 0.4 → equity не сосредоточен в одном квартале. CI lower bound -0.09 — на грани нуля; нужно ужесточение фильтра.
Edge не seed-specific. Sweep подтверждает что регим-классификатор устойчив:
средний Sharpe ≥1 в half of (k, fit_pool) cells, треть конфигов имеют p<0.05.
Best robust config k=7, fit_pool=90 на close window даёт min Sh 1.62 across 3 seeds
(max 2.66) — это реально устойчивое преимущество.
Per-fit_pool means: 90→Sh 0.89 / 120→1.05 / 180→1.49. Длинный fit_pool лучше.
Per-k means (close): 4→0.64 / 5→1.21 / 6→0.84 / 7→1.89. k=7 лучше k=5 для close window.
| Pattern | Условия | Trade direction | Описание |
|---|---|---|---|
| MOO_GAP_UP_FADE | gap >+1% AND first-25м <-0.3% (или to_1100 <-0.3%) | SHORT | открылся с гэпом ВВЕРХ и ушёл ВНИЗ — fade с MOO до 11:00 |
| MOO_GAP_UP_CONTINUE | gap >+1% AND first-25м >+0.3% | LONG | открылся с гэпом ВВЕРХ и продолжил расти — momentum |
| MOO_GAP_DOWN_BOUNCE | gap <-1% AND first-25м >+0.3% (или to_1100 >+0.3%) | LONG | открылся с гэпом ВНИЗ и развернулся ВВЕРХ — oversold bounce |
| MOO_GAP_DOWN_CONTINUE | gap <-1% AND first-25м <-0.3% | SHORT | гэп ВНИЗ + продолжение падения |
| POST_OPEN_RUN_UP | |gap| ≤ 1% AND first-25м >+0.5% | LONG | ровный open, но в первые 25 мин пошёл ВВЕРХ — post-open momentum |
| POST_OPEN_RUN_DOWN | |gap| ≤ 1% AND first-25м <-0.5% | SHORT | ровный open, в первые 25 мин ВНИЗ — early-day weakness |
| FLAT_DAY | ни gap ни move не превышают порогов | HOLD | ровный день без выраженного движения |
В классификаторе если intraday-1m данных нет на дату (covers ~500 days only), fallback на MOO→11:00 с 1.5x повышенным порогом.
| Подход | OOS days | N сигналов | Sh (close) | p | HHI | Verdict |
|---|---|---|---|---|---|---|
| Iter 1 — Analog matcher cosine top-K=10 | 218 | 1,991 | -0.33 | 0.76 | 0.31 | FAIL |
| Iter 2a — Regime classifier k=5 (12m) | 130 | 401 | +2.12 | 0.022 | 0.71* | PASS Sh+p |
| Iter 2b — Regime classifier 3y (no futures) | 670 | 1,977 | +0.97 | 0.0045 | 0.131 | borderline |
| Sweep (k=7, fit_pool=90, best robust) | ~150 | ~250 | +2.19 (mean of 3 seeds) | ≤0.08 | — | stable |
* HHI 0.71 на 130-day OOS = только 2 квартала, gate структурно неприменим. 3y вариант (670 OOS days) даёт честный HHI 0.131 — well below 0.4 gate.
Generated 2026-05-07 · 53/53 unit tests pass · 3y walk-forward · advisory only · raw PnL no slippage
Code: tools/dejavu_advisor/ (regimes.py + patterns.py + run_iter2_extended.py) ·
Data: iter2_extended_walkforward.parquet (1977 rows) ·
iter2_regime_avg_shapes.parquet (209 rows) ·
iter2_sensitivity.parquet (72 rows)