Broker Readiness · 04:00 ET · Apr 23, 2026
Audit + Stress tests + Dry-run · Generated 2026-04-22 22:50 ET
VERDICT
System готов к торговле с 04:00 ET 23 Apr. ZAPAS + PM-MOO включены (ранее были disabled). Все критические компоненты зелёные. 3 non-blocking bugs задокументированы ниже.
Компоненты
TrapBus (основной feed)
| Universe | 2065 tickers |
| Refresh period | 5.0s |
| Last duration | 25-35ms |
| Error count | 0 |
| Fields | Bid, Ask, LstCls, Gap%, BidLstClsΔ%, PreMktHigh/Low/Open, PreMktVolN, Vol, ADV90 |
Polygon (hybrid)
| API key | loaded |
| 1m bars | working (SPY fetched) |
| Latency | ~0.8s/ticker (sequential) |
| Status в продакшн | DEAD CODE |
| Note | pm_moo._fetch_1m_bars() написан, но в _do_scan не вызывается (pm_svc=None). Все стратегии фактически TrapBus-only. См. Finding #4. |
Broker Process
| Port | :8301 |
| Python | 3.12.10 |
| Started | 2026-04-22 18:46 ET (restart after config flip) |
| Positions restored | 21 / 21 |
| DuckDB | ok |
Alerts
| Telegram | bot @dragan_update_bot (chat 974940) |
| Slack webhook | NOT configured |
| Slack queue | active — 4 msgs накоплены |
| Queue path | C:\datum-api-examples-main\broker\data\slack_queue.jsonl |
Стратегии (5 enabled)
| Name | Status | Universe | Entry ET | Exit ET | Data source |
| pm_moo | ENABLED (new) | 606 | 08:00 / 08:30 / 09:00 | MOO 09:30 | TrapBus (proxy VWAP/RSI) |
| zapas | ENABLED (new) | 606 | 08:05 CORE | MOO manual | TrapBus |
| pump_scanner | ENABLED | 2065 | 09:25 / 09:30 (+ scans 09:00/09:15) | 09:45-11:00 | TrapBus |
| earnings_d0_moo | ENABLED | dyn | 09:30:30 | 09:55 | TrapBus + earnings DB |
| moc_moo | ENABLED | dyn (575 сегодня) | 15:55 (prepare 15:50) | next 09:30 MOO | Daily OHLCV + TrapBus |
Disabled: earnings_pre_d1, earnings_pead_moc, earnings_edges.
Расписание на завтра (23 Apr ET)
00:00Scheduler reset (_fired_today.clear())
04:00Pre-market открывается · TrapBus начинает получать PM данные · dashboard prescan endpoints auto-switch в pre-market mode (min_vol=20K, liq_floor=300K)
08:00PM-MOO entry_0800 · is_8am=True (validated lower thresholds) · ~15 max positions · Grade B+ default
08:05ZAPAS entry CORE · gap+PM convergence · max 15 · Grade A (min_score 10)
08:30PM-MOO entry_0830
09:00PM-MOO entry_0900 + Pump scan
09:15Pump scan (15 min before open)
09:25Pump entry SHORTs (PS7/PS8/PS9)
09:30MOC→MOO exit (21 overnight positions) + Pump entry LONGs (PS1/PS3/PS4)
09:30:30Earnings D0 entry (BMO tickers)
09:55Earnings D0 exit (manual via MOO TradingApp)
15:50MOC→MOO prepare (next overnight basket)
15:55MOC→MOO entry
Stress Tests
Test 2 · TRAP resilience
| Timeout behaviour | 3ms normal, bogus ticker no-hang |
| 10 parallel calls | 10/10 OK в 452ms |
| 100 rapid-fire | 155 rps, p99 151ms |
| 580×4 bulk (MOC workload) | 3ms, 771K fields/s, 2320/2320 |
VERDICT: TRAP resilient под production load.
Test 3 · Dashboard API
| 200 req, parallelism 20 | 719 rps, 0 err, p99 276ms |
| WebSocket 30 clients | 150 drops в 10s (low rate) |
| Combined HTTP+WS+TRAP | 8859 success, TRAP active |
VERDICT: scales. WS drops не критично — UI poll'ит HTTP каждые 5-10s.
Test 1 · Overnight gaps (4yr history)
Samples <-10%
1318 / 0.16%
21 сегодняшних позиций × $1K notional ≈ $21K basket. Tail risk в пределах ~$2-3K per single night, но basket worst day исторически до -$11K. SPY hedge частично компенсирует.
Live Dry-Run (после restart в 22:47 ET)
ZAPAS scan
| Universe | 606 |
| Qualified | 0 (AH mode expected) |
| Note | ZAPAS требует pm_bars≥5 (estimated из TRAP vol≥20K). В AH без PM flow — 0 signals. Норма для 22:47 ET. |
PM-MOO scan @ 09:00
| Total scored | 604 / 606 |
| Qualified B+ | 42 |
| Top signals | ADI SELL 0.303 VWAP+4.34% · CSX SELL VWAP+6.64% · MCHP SELL VWAP+5.48% |
| Verdict | working on proxy data |
Mock PM Scenarios (scoring validation)
| Scenario | Expected | PM-MOO 08:00 | PM-MOO 09:00 |
| Gap+10% VWAP+5 RSI85 vol200K | SELL (fade) | SELL B+ 0.303 | SELL B+ 0.303 |
| Gap-8% VWAP-4 RSI25 vol300K | BUY (bounce) | BUY B 0.184 | BUY B 0.184 |
| Flat VWAP=0 vol=20K (illiquid) | SKIP | SKIP | SKIP |
| Mild gap+2% vol100K | SELL | SELL B 0.217 | SELL B 0.217 |
ZAPAS gates (mcap≥$2B, pm_bars≥5, gap≥0.5%) валидированы через код review — синтетические mock stocks без pm_bars отбраковываются корректно.
Findings (3 non-blocking bugs)
#1 · dashboard /api/strategy/{name}/preview падает для не-MOC стратегий
ErrorMessage: 'XxxStrategy' object has no attribute 'features_cache' — endpoint ожидает features_cache dict (есть только у moc_moo). Обход: /api/strategy/{name}/recommendations (cached) + POST /api/strategy/{name}/scan триггерит обновление. Не влияет на ордера, только на dashboard preview button для ZAPAS/PM-MOO/MOO-955/Pump.
#2 · Polygon hybrid — dead code
pm_moo.py содержит _fetch_1m_bars() + _append_live_bar() для true VWAP/RSI, но в _do_scan жёстко pm_svc = None — всегда proxy. min_grade: "B" в config намеренно понижен ("relaxed while TRAP-only proxy"). Завтра торгуем на прокси-фичах, не validated Polygon data.
#3 · Slack webhook не настроен
Все signal alerts пойдут в broker/data/slack_queue.jsonl вместо Slack. Telegram работает. Чтобы активировать Slack: echo "https://hooks.slack.com/services/..." > C:/Users/wsu/.slack_webhook.txt + restart broker.
#4 · WebSocket drops (не критично)
Stress test 3: 30 WS clients получили по 1 сообщению в 10s (150 drops). Dashboard UI poll'ит HTTP endpoints каждые 5-10s для live updates — не завязан на WS.
Действия для активации завтра
Already done ✓
- ✅ ZAPAS enabled в config.yaml
- ✅ PM-MOO enabled в config.yaml
- ✅ Broker restarted — 5 strategies registered, 21 positions restored
- ✅ Scheduler расписан: 12 events на завтра
- ✅ Dashboard prescan endpoints (pre-market adaptive mode с 04:00)
- ✅ Stress tests прошли (TRAP + Dashboard)
Optional (до 04:00)
- 📢 Slack webhook — если хочешь real-time alerts в Slack
- 🔍 Включить
earnings_edges — 60 WF-validated edges "shadow default"
- 🛠 Fix features_cache bug — cosmetic, не блокирует trading
Generated by broker audit · https://7gt-cy-pc-118.taila359d5.ts.net/broker/