🧨 ZAPAS COMBO LIVE с 12.07 💵 FLAT $1K/вход — бэктест 2м · проекция 2м вперёд · аудиты

загрузка…
Grade
Реф-линии (v3.6 / +добор)
Проекция из

Equity 2м, flat $1K — LIVE (=+добор+AVGUP) vs реф-линии ($ cum)

Дневной PnL LIVE-варианта ($/день)

Проекция 42 дня вперёд — bootstrap 10K путей (P10–P90)

Проекция — числа

iid-бутстрэп дневных PnL COMBO; кластеры волатильности не моделируются — ориентир, не обещание.

Аудит — цифры за 2м

Аудит — потенциальные проблемы стратегии

SeverityПроблемаДетали / что делать

⏱ Когда набираются позы — качество входа по слотам (2м, live-книга, avg fade %/транш)

Зелёные бары = E6B-слоты (вся книга), синие = добор-слоты (только z≥1). Высота = средний фейд транша, взятого в этот слот; в тултипе N и WR.

❓ «Набрал 3 транша до 08:00, а цены потом лучше» — цена вопроса

⏱ Плейбук — как торгуется стратегия, пошагово (все времена ET)

ВремяШагЧто происходит / что делает оператор
01:00–05:00Ночной пайплайн W1–W3Данные D-1 (Massive + Datum OPG), W2-12 пересобирает юниверс (US common, ADV20≥2M sh, px≥$7, mcap≥$300M → ~935 тикеров), W3-8b строит беты из OPG-гэпов, W3-14 рестартует брокер. Оператор спит.
04:00Старт поллингаFast-поллер сканирует книгу каждые 15с; карта COMBO на дашборде живая. Свежие беты подхватываются автоматически по mtime (~05:0x). Проверка глазами: бейдж β asof = вчерашняя сессия, uni ≈ 935, TRAP зелёный.
07:30–07:55Добор-слоты (5-мин сетка)Вход ТОЛЬКО при z_e ≥ 1 (идиосинкратический памп), размер $1000. Тикеры без беты/без z — молчат. SHORT по биду, ордера уходят сами (gRPC → NSDQ, при сбое — клипборд для ручной вставки).
08:00–09:00E6B-слоты 08:00/05/15/30/40/09:00Полная v3.6-книга: скорер v3 отбирает A/A+ пампы (гейт PM $vol ≥ $1M). Размер входа = $1000 плоско (12.07: грейд-сайзинг и z-веса выключены; z работает только как добор-фильтр). Между слотами добор-сетка продолжает работать.
07:30–09:00AVGUP доливкиЕсли запущенный SHORT растёт дальше — авто-доливка на ап-мувах, максимум 3 транша/тикер/день, каждый $1000. Вниз никогда не доливаемся (average-down запрещён, тестился хуже). По бэктесту flat — главный усилитель книги (+$12.2K/2м).
каждый слотХедж TQQQПо взвешенному нетто книги: шорт-книга хеджится LONG TQQQ 1:3 (≈ QQQ 1:1). Нетто < $500 — нога не ставится.
09:25Подготовка выходаИсточник выхода = блок «📤 MOO cover» в карточке (строится из ПОЗИЦИЙ брокера — включает скрытые A-грейды и avgup-транши) или окно позиций TradingApp. ⚠️ Копи-боксы матчей — НЕ источник выхода: там скрыты A и матчи ≠ филлы. BUY-to-cover все SHORT + продать hedge-ногу TQQQ тем же MOO.
09:30ВЫХОД — MOO auctionВСЯ книга закрывается ТОЛЬКО аукционным принтом MOO (не первым принтом сессии!). Это ручной шаг — пропуск = позиция в RTH без модели. Хедж TQQQ закрывается тем же MOO.
после 09:30ЖурналВсе входы дня с z_e/β/весами лежат в broker/data/zapas_live/YYYY-MM-DD.jsonl — сырьё для post-hoc атрибуции (вклад тилта/добора/avgup).
стоп-условияКогда НЕ торгуемДневной realized ≤ −$3K → новые входы блокируются (открытые ДЕРЖИМ до MOO — аукцион и есть выход). Бет нет / TrapBus мёртв → книга деградирует в чистую v3.6 (вес 1.0, добор молчит) — это fail-safe, не ошибка. TradingApp не запущен → стек не стартует вовсе.

📚 Какие данные / знания используются

ВходИсточникОбновление
Live котировки, BidLstClsΔ% (кумулятив от закрытия D-1)TradingApp пайпы → trap_service :8300 → TrapBus (2.5K тикеров)каждые 10с
Юниверс (935: US common, ADV20≥2M, px≥$7, mcap≥$300M)universe_pm_moo_dynamic.csvночью W2-12
Беты и ref-ETF на тикерzapas_betas_live.parquet ← build_zapas_betas.py (Datum OPG auction-принты)ночью W3-8b + hot-reload
Скорер v3: raw_bb, momentum, pct/mcap-тилты, C7, гейт PM $vol≥$1Mscoring_pm_moo_v3.pyстатичен (recal по ресёрчу)
Вчерашние ретёрны тикера и SPY (prior-day tilt R12/R13)daily-стор (Massive)ночью
SMH PM (rotation steer чипы/софт)TrapBuslive
Грейды и размеры: A=$1K, A+=$3Kbroker.yaml grade_position_usdконфиг
Валидация правила: gauntlet 09.07 — 12м/251д, WF 4/4, boot CI>0, BH-FDR ✅zapas_gauntlet_rows12m_2026_07_09.parquetresearch

🧮 Формулы

— бета (ночь, канон Pro Beta):
β = Σ(gap_etf·gap_stock)/Σ(gap_etf²)  OLS α=0, 60td close→open гэпов, клип 2.5σ
ref = argmax corr(stock, ETF) из панели 22 ETF
— живой запас (каждый слот):
z_e = stock_cumΔ% − β × ref_cumΔ%  сырой residual, НЕ стандартизован; |z|>25 → выброс (None)
— отбор входа по z:
E6B-слот: вход всегда · добор-слот: вход только z_e ≥ 1
z-веса ×1.5/×0.5 и грейд-сайзинг ВЫКЛЮЧЕНЫ (user 12.07) — z остался фильтром добора
— размер ордера (SHORT по биду, asymmetric pricing):
usd = $1000 плоско на каждый вход и каждый avgup-транш
shares = 1000 / bid  риск-клип min($5K, 5%·BP) не задевается
справочно (выключено): usd = grade_size × w(z) × steer × prevday
steer: SMH_PM < −0.3% → chips ×1.5 / software ×0.5
prevday: вчера ≥ +5% → ×1.25 · вчера красный → ×0.50 · SPY ±: ×1.10/×0.90
— AVGUP:
re-entry если px > px_first и n_траншей < 3  каждый транш × вес своего слота
— хедж:
net = Σlong − Σshort · если |net| > $500: TQQQ = |net| × 0.3333 / px_tqqq  3× лев → QQQ ≈ 1:1
— PnL трейда (и в бэктесте):
fade% = −(MOO − entry)/entry × 100  SHORT: падение к опену = плюс
pnl = fade%/100 × usd
— почему это работает (edge):
Премаркет-пампы в среднем фейдятся к опену (v3.6). z_e вычитает бету×ETF — отделяет идиосинкратический памп (фейдится сильнее → ×1.5) от бета-эха рынка (фейдится хуже → ×0.5). Дроп z<−1 в ганлете ПРОВАЛИЛ WF — поэтому даунсайз, а не фильтр.