Research Roadmap
Гипотезы, исследования, доработки — Apr 12, 2026
Tier 1: Immediate Research (data ready, high impact)
Данные уже собраны. Нужен только анализ. Ожидаемый прирост: +5-10pp WR к scoring v3.
H1. 5-Track Factors → Scoring v3
CRITICAL
Гипотеза: 5-Track findings (VIX+IWM SHORT 73.5%, earnings_season+ARKK 74.7%, friday+ARKK 70.7%) улучшат scoring минимум на +3pp WR.
Что делать: Добавить 4 boosters + 3 TRAPs (vix_high+SHORT 28.1%, auto_sales 30.7%, eps+float>1% 30.2%) в compute_score(). Walk-forward split 180d/60d.
Риск: Overfitting — 5-Track на тех же 12M. Нужен out-of-sample на 4yr.
Что делать: Добавить 4 boosters + 3 TRAPs (vix_high+SHORT 28.1%, auto_sales 30.7%, eps+float>1% 30.2%) в compute_score(). Walk-forward split 180d/60d.
Риск: Overfitting — 5-Track на тех же 12M. Нужен out-of-sample на 4yr.
H2. Phase 2 Cross-Factor Candidates
CRITICAL
Гипотеза: 6 кандидатов из Phase 2 (TLT gap>2% + LONG 79.8%, UUP<-1% + Tech SHORT 80.8%, es_up+ARKK 76.5% N=3116, ARKK+BMO 78.2%) добавят +2-4pp сверх 5-Track.
Что делать: Валидация на 4yr data (есть!). Проверить H1-only vs H2 robustness. Добавить VXX SHORT 59.3% N=6454 — низкий WR но огромный N.
Вопрос: TLT/UUP — macro сигналы. Decay быстрее чем regime? Проверить по полугодиям.
Что делать: Валидация на 4yr data (есть!). Проверить H1-only vs H2 robustness. Добавить VXX SHORT 59.3% N=6454 — низкий WR но огромный N.
Вопрос: TLT/UUP — macro сигналы. Decay быстрее чем regime? Проверить по полугодиям.
H3. Walk-Forward Validation Protocol
CRITICAL
Гипотеза: Scoring v3 с H1+H2 факторами покажет +3pp WR на out-of-sample 60 дней.
Что делать: (1) 12M split: train 180d / test 60d × 3 folds. (2) 4yr split: train 2022-2024 / test 2025. (3) Проверить каждый фактор individually + ensemble.
Критерий: WR test ≥ WR train - 3pp. Если разница >5pp = overfitting, убрать слабые.
HARD GATE: Без прохождения walk-forward ни один фактор не должен попасть в live scoring.
Что делать: (1) 12M split: train 180d / test 60d × 3 folds. (2) 4yr split: train 2022-2024 / test 2025. (3) Проверить каждый фактор individually + ensemble.
Критерий: WR test ≥ WR train - 3pp. Если разница >5pp = overfitting, убрать слабые.
HARD GATE: Без прохождения walk-forward ни один фактор не должен попасть в live scoring.
H4. Cleanliness Prediction Pre-Open
HIGH
Гипотеза: %CLEAN можно предсказать ДО open по pre-market факторам. Если модель предсказывает CLEAN с precision ≥70% → sizing +50%.
Что делать: Logistic regression: {gap%, prevol, regime, sector, mcap, earnings_d0, options_skew, auction_vol} → binary CLEAN/NOT.
Факты: ARKK+LONG = 36.8% CLEAN, earnings_d0 = 11% CLEAN, 62% DEEP, gap>5% = 10% CLEAN.
Вопрос: Можно ли достичь precision 70%+ или noise слишком высок?
Что делать: Logistic regression: {gap%, prevol, regime, sector, mcap, earnings_d0, options_skew, auction_vol} → binary CLEAN/NOT.
Факты: ARKK+LONG = 36.8% CLEAN, earnings_d0 = 11% CLEAN, 62% DEEP, gap>5% = 10% CLEAN.
Вопрос: Можно ли достичь precision 70%+ или noise слишком высок?
H5. Auction Volume × Regime Deep Dive
HIGH
Гипотеза: 60MB аукционных данных за 12M почти не использованы. 5-Track нашёл: auction 1.5-3x + IWM68.5% N=705. Но аукцион разбивался только по rel_auction.
Что делать: (1) Разбить аукцион по $ value, не только ratio. (2) Crossed auction vs uncrossed. (3) Auction imbalance direction vs gap. (4) Auction timing (9:28 vs 9:20). (5) Multi-day auction pattern (3-day trend).
Вопрос: Есть ли edge в auction $ imbalance (buy vs sell), а не только объём?
Что делать: (1) Разбить аукцион по $ value, не только ratio. (2) Crossed auction vs uncrossed. (3) Auction imbalance direction vs gap. (4) Auction timing (9:28 vs 9:20). (5) Multi-day auction pattern (3-day trend).
Вопрос: Есть ли edge в auction $ imbalance (buy vs sell), а не только объём?
H6. Imbalance Crowding Dynamics
HIGH
Гипотеза: Imbalance crowding (45.8% WR при >50K supporting) может быть ещё сильнее по сегментам: mcap × direction × time-of-year.
Что делать: (1) Crowding decay: imb>50K в earnings season vs non-earnings. (2) Crowding по mcap: small-cap crowded vs mega-cap crowded. (3) Imb delta: 9:25→9:28 change (коллектим сейчас, будет готово ~May 12). (4) Imb vs gap_pct: crowded + big gap vs small gap.
Суб-гипотеза: Imb AGAINST + strong regime = smart money signal (52.7% baseline, может быть 58%+ в combo).
Что делать: (1) Crowding decay: imb>50K в earnings season vs non-earnings. (2) Crowding по mcap: small-cap crowded vs mega-cap crowded. (3) Imb delta: 9:25→9:28 change (коллектим сейчас, будет готово ~May 12). (4) Imb vs gap_pct: crowded + big gap vs small gap.
Суб-гипотеза: Imb AGAINST + strong regime = smart money signal (52.7% baseline, может быть 58%+ в combo).
Tier 2: Data-Dependent Research (collecting or needs new pulls)
Данные собираются или требуют одноразового pull. 2-6 недель до анализа.
H7. 9:25 Stretch × Grade Amplifier
CRITICAL
Гипотеза: 9:25 stretch aligned 1-2% + A/A+ grade = WR 87-90% (N=30-40). Самый мощный неиспользованный фактор.
Проблема: stretch_pct нужен из 1-min bars. 270K API calls к Polygon. ~$50-100 + 4-8hr collection.
Что делать: (1) Собрать 1m bars для earnings dates only (сокращает до ~40K calls). (2) Валидировать stretch на 4yr. (3) Построить stretch_aligned × grade × regime 3-way table.
Ключевой вопрос: N=30 — достаточно ли для confidence? Нужен 4yr для N≥100.
Проблема: stretch_pct нужен из 1-min bars. 270K API calls к Polygon. ~$50-100 + 4-8hr collection.
Что делать: (1) Собрать 1m bars для earnings dates only (сокращает до ~40K calls). (2) Валидировать stretch на 4yr. (3) Построить stretch_aligned × grade × regime 3-way table.
Ключевой вопрос: N=30 — достаточно ли для confidence? Нужен 4yr для N≥100.
Prerequisite:
1m bars collection или хотя бы earnings-only subset
H8. Extended Hours S/R Levels
COLLECTING
Гипотеза: PM high/low = ключевые S/R уровни для MOO entry. PM stretch research показал: timing экстремума важнее magnitude. Но EH levels как support/resistance для non-earnings тикеров — не проверено.
Что делать: (1) AH high/low vs next-day gap fill rate. (2) PM high как resistance: gap UP к PM high → reject → SHORT. (3) PM low как support: gap DOWN к PM low → bounce → LONG. (4) Distance from PM level at 9:25 as scoring factor.
Открытый вопрос: EH levels работают для non-earnings? PM stretch research был только earnings.
Что делать: (1) AH high/low vs next-day gap fill rate. (2) PM high как resistance: gap UP к PM high → reject → SHORT. (3) PM low как support: gap DOWN к PM low → bounce → LONG. (4) Distance from PM level at 9:25 as scoring factor.
Открытый вопрос: EH levels работают для non-earnings? PM stretch research был только earnings.
Prerequisite:
extended_high_low*.parquet collection complete
H9. Options Skew Expansion
HIGH
Гипотеза: put_skew + overextended SHORT = WR 85-88% (N=26-56). Впечатляюще, но N маленький. Расширение до 73K targets увеличит N в 3-5x.
Суб-гипотезы: (1) IV percentile standalone vs as combo with grade. (2) IV term structure (front vs back) as signal. (3) OI change 1d as directional signal. (4) Unusual volume ratio = informed flow?
Факт: options standalone = NO signal (WR 50%). Только в combo с stock phase работает.
Вопрос: 95K → 73K targets ещё не pulled. Один Polygon batch = ~4hr. Worth the $?
Суб-гипотезы: (1) IV percentile standalone vs as combo with grade. (2) IV term structure (front vs back) as signal. (3) OI change 1d as directional signal. (4) Unusual volume ratio = informed flow?
Факт: options standalone = NO signal (WR 50%). Только в combo с stock phase работает.
Вопрос: 95K → 73K targets ещё не pulled. Один Polygon batch = ~4hr. Worth the $?
Prerequisite:
Polygon options batch pull
H10. TTN News Factor
COLLECTING
Гипотеза: Guidance news SHORT = WR 75% (N=20), product news = 65%. Но Polygon news покрывает 0.4% trades. TTN API — 83 stories realtime, нет исторического endpoint.
Что делать: (1) Продолжать daily snapshot collection. (2) При N=500+ (60-90 days): news_type × direction × regime. (3) News velocity (stories/hour) as volatility predictor. (4) Sector news spillover (news на AAPL → effect на MSFT).
Может ли news factor дать edge сверх того что уже в gap%?
Что делать: (1) Продолжать daily snapshot collection. (2) При N=500+ (60-90 days): news_type × direction × regime. (3) News velocity (stories/hour) as volatility predictor. (4) Sector news spillover (news на AAPL → effect на MSFT).
Может ли news factor дать edge сверх того что уже в gap%?
Prerequisite:
ttn_daily_snapshots.csv — need 60+ days accumulation
H11. Imbalance Delta 9:25→9:28
COLLECTING
Гипотеза: Изменение imbalance между 9:25 и 9:28 = stronger signal чем static imbalance. Рост crowding за 3 мин = ещё хуже WR. Разворот imb = smart money flip.
Что делать: (1) Delta categories: growing_with, growing_against, flip_to_with, flip_to_against. (2) Delta × regime × direction. (3) Speed of change: fast flip vs gradual.
Факт: bot/imbalance_delta_monitor.py уже создан, коллектит.
Что делать: (1) Delta categories: growing_with, growing_against, flip_to_with, flip_to_against. (2) Delta × regime × direction. (3) Speed of change: fast flip vs gradual.
Факт: bot/imbalance_delta_monitor.py уже создан, коллектит.
Prerequisite:
imbalance_delta daily collection — started, need 30 daysTier 3: Deep Research & New Hypotheses
Новые углы, которые пока не исследованы. Требуют существенного effort. High reward if confirmed.
H12. Counter-Trend Breakout × Regime
HIGH
Гипотеза: Counter-trend breakout (stock gaps against sector/market) + strong regime = WR 73-77%. Логика: весь рынок UP, один сток DOWN, он "ломается" и присоединяется → мощный reversal.
Что делать: (1) Define breakout: stock gap vs sector ETF gap в opposite direction. (2) Regime strength bucketing. (3) Counter-trend × mcap × earnings proximity. (4) Validate on 4yr.
Пока не сделано потому что нужны brk_* columns. Можно обойти через proxy: gap_direction != sector_etf_direction.
Что делать: (1) Define breakout: stock gap vs sector ETF gap в opposite direction. (2) Regime strength bucketing. (3) Counter-trend × mcap × earnings proximity. (4) Validate on 4yr.
Пока не сделано потому что нужны brk_* columns. Можно обойти через proxy: gap_direction != sector_etf_direction.
Prerequisite:
brk_* columns — можно создать proxy без 1m bars
H13. ML Ensemble Scoring
MEDIUM
Гипотеза: Gradient boosting (XGBoost/LightGBM) на 114 features найдёт нелинейные взаимодействия, которые ручной scoring пропускает.
Что делать: (1) Feature importance → top 20 features. (2) Time-series CV (walk-forward, NOT random split!). (3) Calibrated probability → WR estimate per trade. (4) Сравнить с ручным scoring v3.
Риски: 114 columns на 245K trades = overfitting-land. Regularization critical. Feature selection first.
Вопрос: Заменить scoring или использовать как второе мнение / meta-factor?
Что делать: (1) Feature importance → top 20 features. (2) Time-series CV (walk-forward, NOT random split!). (3) Calibrated probability → WR estimate per trade. (4) Сравнить с ручным scoring v3.
Риски: 114 columns на 245K trades = overfitting-land. Regularization critical. Feature selection first.
Вопрос: Заменить scoring или использовать как второе мнение / meta-factor?
H14. Intraday Flow Microstructure
MEDIUM
Гипотеза: Order flow imbalance в первые 30 секунд после open предсказывает направление до 9:55 лучше чем 2-min rule.
Что делать: (1) Собрать tick data для топ-20 тикеров в день (1 месяц). (2) Buy/sell imbalance ratio в 9:30-9:31. (3) Block trade detection (>100 lot). (4) Spread widening as reversal signal.
Проблема: нет исторических tick data. Нужна collection с нуля. Стоит ли?
Что делать: (1) Собрать tick data для топ-20 тикеров в день (1 месяц). (2) Buy/sell imbalance ratio в 9:30-9:31. (3) Block trade detection (>100 lot). (4) Spread widening as reversal signal.
Проблема: нет исторических tick data. Нужна collection с нуля. Стоит ли?
H15. Portfolio Correlation & Sector Caps
MEDIUM
Гипотеза: Сейчас basket = все A/A+ без ограничений. Если 6/10 позиций = Tech LONG → один bad Tech day = wipeout. Sector cap + direction cap уменьшит drawdown без потери WR.
Что делать: (1) Посчитать корреляцию внутри дневного basket. (2) Backtest с sector cap (max 3/sector). (3) Direction balance (max 70% same direction). (4) Beta-neutral option.
Вопрос: Ограничения на basket = меньше trades = меньше доход. Где sweet spot?
Что делать: (1) Посчитать корреляцию внутри дневного basket. (2) Backtest с sector cap (max 3/sector). (3) Direction balance (max 70% same direction). (4) Beta-neutral option.
Вопрос: Ограничения на basket = меньше trades = меньше доход. Где sweet spot?
H16. 4-Year Robustness Validation
HIGH
Гипотеза: Все 60 findings из 12M подтвердятся на 4yr данных (2022-2025). Те что не подтвердятся → kill or downgrade.
Что делать: (1) Replay все 60 findings на 4yr. (2) Stability check: по годам 2022/2023/2024/2025 отдельно. (3) Regime-specific: tariff crisis (H1 2025) vs calm (H2 2024). (4) Kill всё что H1-only (как NQ
Факт: 4yr daily data = 11.5M rows. Coverage 99.9%. Но нет 4yr 1m bars → stretch/cleanliness/2-min rule не проверить на 4yr.
Что делать: (1) Replay все 60 findings на 4yr. (2) Stability check: по годам 2022/2023/2024/2025 отдельно. (3) Regime-specific: tariff crisis (H1 2025) vs calm (H2 2024). (4) Kill всё что H1-only (как NQ
H17. Alpha Decay Rate Per Factor
MEDIUM
Гипотеза: Модель использует -3pp/yr alpha decay для ВСЕХ факторов. Но regime factors (ARKK, IWM) могут decay быстрее (рынок адаптируется). Structural factors (earnings, gap size) — медленнее.
Что делать: (1) Rolling 6-month WR для каждого из 60 findings. (2) Fit decay curve per factor. (3) Identify factors with accelerating decay. (4) Build factor retirement alert: "factor X WR dropped below threshold".
Ключевой вопрос для longevity всей системы.
Что делать: (1) Rolling 6-month WR для каждого из 60 findings. (2) Fit decay curve per factor. (3) Identify factors with accelerating decay. (4) Build factor retirement alert: "factor X WR dropped below threshold".
Ключевой вопрос для longevity всей системы.
H18. Overnight MOC Strategy Research
LOW
Гипотеза: MOC overnight (19:00→04:00) = отдельная стратегия. Scoring для overnight exposure: strong close + weak futures PM → gap up next day.
Что делать: (1) MOC vs next-day gap correlation. (2) Regime for overnight (different from intraday?). (3) Risk: overnight gap risk = unlimited, нужен hedge.
Факт: Futures PM data собрана, но для overnight стратегии не исследована.
Что делать: (1) MOC vs next-day gap correlation. (2) Regime for overnight (different from intraday?). (3) Risk: overnight gap risk = unlimited, нужен hedge.
Факт: Futures PM data собрана, но для overnight стратегии не исследована.
H19. VIX Term Structure Deep
LOW
Гипотеза: VIX term structure (contango vs backwardation) = better regime indicator чем VIX level. Backwardation = fear = worse for LONG. Steep contango = complacency = better for shorts.
Факт: vix_term_structure.parquet есть, но помечен как "MOSTLY UNTAPPED".
Что делать: (1) Contango/backwardation bucketing. (2) × direction × gap%. (3) VIX curve slope as continuous variable.
Факт: vix_term_structure.parquet есть, но помечен как "MOSTLY UNTAPPED".
Что делать: (1) Contango/backwardation bucketing. (2) × direction × gap%. (3) VIX curve slope as continuous variable.
Impact × Effort Matrix
Recommended Sequence
1
H1+H2: Scoring v3 factors — данные готовы, ~8hr → +5-9pp WR
2
H3: Walk-forward validation — HARD GATE, ~8hr → confidence level
3
H4: Cleanliness prediction — logistic regression, ~6hr → sizing optimization
4
H5+H6: Auction + Imbalance deep — untapped data, ~6hr → +1-3pp
5
H16: 4yr robustness — kill/confirm 60 findings, ~2 weeks → system confidence
6
H7: 9:25 stretch (after 1m bars collected) → potential A+ WR 87-90%
7
H12: Counter-trend proxy — можно начать без 1m bars → WR 73-77%
8
H9: Options expand (after Polygon pull) → validate N=56 findings
9
H17: Alpha decay rates — factor longevity → retirement calendar
10
H13: ML ensemble — after manual scoring v3 validated → meta-score
11
H15: Portfolio correlation — reduce drawdown 20-30%
12
H10+H11: TTN + Imb delta (data ready ~May-Jun) → new factors
13
H8+H18+H19: EH / MOC / VIX term — secondary, diversification
Untapped Data Assets
| Asset | Size | Status | Research Potential |
|---|---|---|---|
| vix_term_structure.parquet | ~5MB | UNTAPPED | Regime filter improvement (H19) |
| auctions_*.parquet | 60MB+ | PARTIALLY | Auction $ imbalance, timing, multi-day (H5) |
| extended_high_low*.parquet | collecting | COLLECTING | EH S/R levels for all tickers (H8) |
| es/nq/rty/vx_intraday_pm | ~20MB | PARTIAL | Overnight strategy, regime (H18) |
| etf_first_candle.parquet | ~2MB | PARTIAL | SPY/QQQ/IWM/ARKK 1st candle combos |
| calc_high_low_52w*.parquet | ~10MB | UNTAPPED | 52w H/L proximity × gap × regime |
| calc_avg_true_range_14d | 21MB | USED (basic) | ATR-normalized sizing, volatility regimes |
| 1m intraday bars | NOT COLLECTED | MISSING | Stretch, 2-min rule, counter-trend, cleanliness (H7, H12, H4) |
Known Dead Ends (don't re-research)
| Hypothesis | Result | Why Dead |
|---|---|---|
| NQ<ES + RTY<ES | H1-only | Tariff crisis artifact. Not robust across halves. |
| Auction multi-day patterns | Max 55.1% | No edge above baseline. |
| Datum pm_vol / auction / liquidity signals | No edge | New Datum fields tested, all ~50% WR. |
| imb_against = WR 29% | NOT CONFIRMED | Actually 52.7%. INVERTED to crowding penalty. |
| PM stretch magnitude (how much) | WR 48-50% | Only TIMING of extreme matters, not size. |
| PM volume level | No improvement | Tested, no edge beyond gap%. |
| Stretch acceleration/deceleration | WR 48-50% | Speed of stretch = noise. |
| Options skew standalone | WR 50% | Only works in combo with stock phase. |
| 4yr data backfill | NOT NEEDED | 99.9% daily coverage already. |
Key Insight
Bottleneck #1: 1-минутные бары — блокируют 3 самых перспективных гипотезы (H7 stretch WR 90%, H12 counter-trend WR 77%, H4 cleanliness prediction).
Quick Win: H1+H2 (scoring v3 factors) — данные УЖЕ есть, effort = 8hr, impact = +5-9pp WR.
Risk: 114 columns × 245K trades = overfitting territory. Walk-forward (H3) = mandatory gate.
Untapped gold: auctions 60MB, VIX term structure, 52w H/L — ни разу не тронуты.