Generated 2026-04-17 | ZAPAS / CSE Bridge / MOO→9:55
| File | Strategy | Entry point | Scale | Last touch | Status | Action |
|---|---|---|---|---|---|---|
| scoring_pm_moo_v1.py | ZAPAS + CSE Bridge | PmMooScorer().score_zapas() / score_cse() | 0-25 (min_B+=13) | Apr 15 audit | CANONICAL — production | Keep. Build CSE backtest on top. |
| scoring_v7.py | MOO→9:55 | score_dataframe() | combo sum (unbounded) | Apr 14 | CANONICAL — production | Keep. Used by backtest_moo_955_v8. |
| scoring_v8_overlay.py | MOO→9:55 overlay | apply_v8_overlay(stocks_list) | ±5 adj on v7 | Apr 17 | CANONICAL — add-on | Keep. Apply after v7. |
| scoring_pm_moo_v1_beta_overlay.py | ZAPAS β-overlay | — | ±2 adj on v1 | Apr 16 | EXPERIMENTAL | Evaluate: integrate into v1 or deprecate. |
| scoring_zapas_v2.py | ZAPAS (old) | — | 0-25 | Apr 15 | DEPRECATED | Delete after confirming pm_moo_v1 covers all factors. |
| scoring_v5.py / v6.py / v6_auto.py | MOO→9:45 (old) | — | 0-25 | Apr 12 | DEPRECATED | v7 replaces. Move to archive/. |
| scoring_pm_moo_v1_backup.py | — | — | — | — | BACKUP | Delete. |
SPY_gap > 2% выдаёт массовый LONG signal (1369 сделок Apr 8 2026), но мелкие стоки фейдят → WR 32.5%, -$19K. Нужен trap-combo: SPY_gap>2% AND LONG AND mcap<2B → skip.sector_etf_gaps.csv + foreign_etf_gaps.csv + SPY/QQQ/ARKK/vxx_gap. Если хоть одна колонка NaN → score=0, grade=C.pre_vol<50K — но pre_vol иногда 0 из-за missing enrichment. Fix: treat 0 as unknown, не skip.| Role | Canonical file | Rebuilt by | Used by |
|---|---|---|---|
| Primary trades (1y) | trades_enriched_v6.csv | update_all.py + refill_v6_*.py | scoring_v7, v8_overlay |
| Backfill (2y) | all_trades_backfill_2023-04-15_2025-04-14.csv | manual (old) | research_v8_3y_expanded (missing vix_level) |
| PM snapshots | pm_timing_all_cache.pkl | _fetch_pm_timing_all.py + pull_fresh_daily.py | build_zapas_dataset |
| ZAPAS dataset | zapas_directional_full.parquet | build_zapas_dataset.py | backtest_apr17_full.py |
| CSE signals (static) | zapas_87k_scored.parquet | — (frozen) | backtest_zapas_cse_apr17.py |
| Intraday 1m | intraday_1m_gap_days_v2.parquet | pull_fresh_daily.py / pyarrow concat | backtest_moo_955_v8.py |
| Daily OHLCV + RSI | cache_daily/daily_bars_cache.parquet | (daily_refresh) | scoring_v7, refill_v6_technicals |
| Daily regime (SPY/QQQ etc) | daily_regime.parquet | (daily_refresh) | refill_v6_technicals (breadth proxy) |
| Sector ETF gaps | sector_etf_gaps.csv | refresh_etf_gaps.py | scoring_v7 |
| Foreign ETF gaps | foreign_etf_gaps.csv | refresh_etf_gaps.py | scoring_v7 |
| Beta profiles | beta_profiles_v3.json | nightly_beta_refresh.py | scoring_v8_overlay |
| intraday_1m_gap_days.parquet | LEGACY (Apr 5) | — | — (archive) |
Currently used: /daily, /intraday, /intraday/v3 partial, /calculations/volatility_20d/90d/260d,
/calculations/avg_true_range_14d, /calculations/high_low_52w, /calculations/corr_beta/v2,
/calculations/profiler_top_correlation, /auctions/gaps, /imbalance/imb_09_25, /tickers/etf.
UNUSED или недоиспользуемые (приоритеты по потенциальному edge):
| Endpoint | Hypothesis | Estimated edge | Effort |
|---|---|---|---|
| /calculations/profiler_volume | Volume concentration per ticker — подсветит squeeze candidates (низкий обычно vol + высокий обычный = squeeze trap) | +3-5% WR на squeeze-fade day detection (решает Apr 8 баг) | 1 day |
| /calculations/median_opg_volume_20d | Typical opening auction volume → detect abnormal open (если opg_vol > 3× median = fade сигнал) | +2-4% WR на MOO→9:55 | 1 day |
| /auctions, /auctions/gaps | Full auction data (not just gap) — imbalance+size+print_price → predict open drift | +2-3% WR на MOO direction | 2 days |
| /imbalance/imb_09_25 | MOC/MOO imbalance @ 09:25 — signed directional pressure | +3-5% WR (Factor: imbalance aligned with direction) | 1 day |
| /intraday/extended_high_low + extended_high_low_postmarket | 52w high/low hit в PM = PM breakout detection | +2-4% WR на ZAPAS (HIGH + 52wHi confluence) | 1 day |
| /corporate_actions/listings + ticker_changes | IPO/spinoff detection — flag untradeable; ticker rename = avoid | Avoid -10% disasters (-2 traps/year) | 0.5 day |
| Endpoint | Hypothesis | Notes |
|---|---|---|
| /calculations/avg_premarket_value_traded_ex_finr_20d/3m | $-value PM volume vs shares — captures large-cap PM activity better than raw vol | Replace pre_vol threshold |
| /calculations/avg_postmarket_volume_ex_finr_90d | PM→AH continuation (AH vol prev day predicts PM next day) | ZAPAS entry timing |
| /intraday/v3/benchmark | Relative performance vs sector/SPY in real-time | Replaces manual SPY_gap calc |
| /intraday/money_traded_segments, volume_segments | Intraday money flow by time segment → confirm momentum legitimacy | Exit timing refinement |
| /intraday/ticker_count_at_open | Breadth at open — how many tickers gapping → detect squeeze days | Apr 8 bug fix candidate |
| /ratings, /ratings/grades | Analyst ratings — upgrade/downgrade edge | Already partial in v6, unify |
| /dvd/cash_dividends, stock_dividends, splits | Avoid ex-div trades (price drop ≠ trade signal) | Trap filter |
| /snapshots/yesterday_values | Prev-day snapshot (close, high, low, vol) in one call | Simplifies enrichment pipeline |
| /opg_and_clo, /opg_and_clo/adjusted_closes | Opening+closing auction prints, split-adjusted | Improve MOO price accuracy |
/bics_sectors/{level} — BICS sector hierarchy (already have via Finviz; Datum version cleaner)/countries — for ADR research expansion/holidays, /short_days, /working_days — calendar util, integrate into event calendar step/futures/active_contracts — ES/NQ/RTY future PM tracking/calculations/median_auction_money_traded_20d — refined auction size normalization/reports, /reports/extended — delivery reports (likely not useful for trading)/calendar, /calendar/timerange_chunks — session calendar (already have locally)/latest_close_prices — fast last-close lookup (replace manual)/intraday/ticker_count_at_open + /calculations/profiler_volume
/imbalance/imb_09_25 already partial.
/auctions full data (print price vs imbalance).
/intraday/extended_high_low.
/intraday/money_traded_segments.
/calculations/avg_premarket_value_traded_ex_finr_20d.
/opg_and_clo/adjusted_closes.
/corporate_actions/*.
/futures/active_contracts.
/intraday.
[1/6] daily_refresh.bat — enrichment/v6/finviz/screen/briefing [2/6] pull_fresh_daily.py — PM snapshots + intraday 1m (Datum) [3/6] refresh_etf_gaps.py — sector+foreign ETF gaps from Datum /daily [4/6] refill_v6_etf_gaps.py — fill SPY/QQQ/ARKK/VXX in v6 for missing rows [5/6] refill_v6_technicals.py — rsi14/atr14/pre_vol/breadth/prev_day_ret [6/6] refresh_pm_moo_dashboard.py — rebuild 3 backtests + regen HTML
User action: schtasks /change /tn "DailyRefreshNY1AM" /tr "C:\datum-api-examples-main\nightly_full.bat"
| # | Task | Effort | Owner |
|---|---|---|---|
| 1 | Delete deprecated scoring files (v5, v6, v6_auto, zapas_v2, pm_moo_v1_backup) | 15 min | easy |
| 2 | Build Apr 8 trap-combo into scoring_v7 (SPY_gap>2% & LONG & mcap<2B → skip) | 2 hrs | scoring team |
| 3 | Integrate 6 Priority-1 endpoints into refresh pipeline | 3 days | backend |
| 4 | Research hypothesis #1-6 (one per day) | 6 days | research |
| 5 | 3y MOO→9:55 ret_955 pull (347K trades, ~8 hrs Datum) | 1 day | data |
| 6 | Consolidate backtest runners (3 scripts → 1) | 4 hrs | refactor |