🧪 hedge-paper
статус РАБОТАЕТ
режим 🟢 ТЕСТ

Изменения применяются ко всем демонам в течение 2 сек без рестарта. Правь любые поля в любых блоках и жми «сохранить» один раз внизу — одной транзакцией.

📂 Разделы Polymarket

какие типы маркетов вообще брать в обработку — фильтр на уровне discovery

ключ значение описание
enable_crypto bool: брать крипто-маркеты (BTC/ETH/... Up or Down)
enable_sports bool: брать спорт-маркеты (общий свитч, перекрывает под-разделы)
enable_sports_soccer bool: футбол (EPL/UCL/La Liga/Serie A/MLS/FIFA/...)
enable_sports_basketball bool: баскетбол (NBA/NCAAB/WNBA)
enable_sports_football bool: американский футбол (NFL/NCAAF)
enable_sports_baseball bool: бейсбол (MLB)
enable_sports_hockey bool: хоккей (NHL)
enable_sports_tennis bool: теннис (ATP/WTA)
enable_sports_combat bool: единоборства (MMA/UFC/бокс)
enable_sports_esports bool: киберспорт (CS2/Dota2/LoL/Valorant/...)
enable_sports_other bool: прочий спорт (крикет, регби, гольф и т.д.)

🚀 Главные переключатели

master switch, режимы ботов, daily DD

ключ значение описание
enabled master switch (0=pause everything)
live_trading ВНИМАНИЕ: в paper-боте всегда 0. Реальная торговля не поддерживается.
enable_binary enable binary bot
enable_multi enable multi-outcome bot (paper-hedge работает только в binary: нужен один чистый контр-outcome)
enable_taker_fallback (наследие sniper) не используется в paper
daily_dd_stop_usd daily drawdown kill-switch

🎯 Входной фильтр · evaluator

когда создаём сигнал: цена, EWMA, ликвидность, окно входа

ключ значение описание
threshold min leader price to enter (в хедж-стратегии ниже, т.к. вход раньше)
min_liquidity_usd min liquidity on buy side in ±0.01 of target (тоньше, чем у sniper)
ewma_window_sec EWMA window for anti-spike
max_ewma_divergence в evaluator: если price - ewma > X, сигнал не создаём (анти-спайк: свежий всплеск вверх, EWMA не догнала)
min_obi evaluator: минимальный order-book imbalance = bid_sz/(bid_sz+ask_sz) в ±0.01 от best. <X → продавцов больше, skip
max_micro_gap evaluator: микроцена (weighted by OBI) должна быть не ниже best_ask на больше чем X. иначе давление вниз, skip
tape_window_sec evaluator: окно анализа ленты сделок по лидеру в секундах
min_tape_flow_ratio evaluator: доля BUY-notional в ленте лидера за tape_window_sec. <X → медведи давят, skip. 0 → фильтр выключен
window_min_sec min sec before endDate to consider entry (hedge-окно: раньше!)
window_max_sec max sec before endDate to consider entry

📐 Размер и цена ордера

ставка, лесенка, maker-offset, cap'ы

ключ значение описание
bet_usd (наследие sniper) не используется в paper
ladder_levels кол-во уровней maker-лесенки (1=один ордер как раньше, 2=top + top-step, 3=top + 2 ступени, ...)
ladder_step шаг лесенки вниз от top-цены (0.005 = 5 тиков по 0.001)
maker_offset (наследие sniper) не используется в paper
maker_cap_below_signal на сколько ниже цены сигнала потолок maker'а (0=по сигналу, 0.001=1 тик, 0.005=5 тиков)
max_px_drop_from_signal executor: максимальное падение best_bid относительно price_at_signal между созданием сигнала и постом ордера. Если bb < sig_px-X — книга обвалилась, вход отменяем, сигнал → failed. Защита от фейков типа трейда #42 (sig 0.99 → пока дошли до поста, bb=0.40). 0.03=3 цента, для тонких рынков можно 0.05.

⏱️ Таймауты и ретраи · executor

как долго ждём fill, сколько раз пробуем повторно, параллелизм

ключ значение описание
maker_timeout_sec (наследие sniper) не используется в paper
post_retry_max макс. попыток post_order при транзиентных ошибках (SSL EOF через прокси и т.п.)
post_retry_cutoff_sec прекратить ретраи, если до endDate меньше N секунд
executor_parallel кол-во одновременно обрабатываемых сигналов в одном tick (для burst'ов)

🛡 Taker safety

гейты перед taker-fallback: premium-кап, R:R-кап, TTS, walk-the-book, re-check OBI

ключ значение описание
max_taker_px_above_signal taker: максимум на сколько best_ask может быть выше price_at_signal. ba > sig_px+X → skip (рынок ушёл, premium слишком большой). 0 = выключить
max_taker_px_abs taker: абсолютный потолок цены. ba > X → skip. upside слишком мал для оправдания риска (при 0.985 R:R = 1:66). 0 = выключить
taker_min_tts_sec taker: минимальный time-to-endDate. если до резолва < X сек → skip, не успеем зафиксить fill
max_taker_slippage taker: макс. эффективный слиппедж от walk-the-book до полного размера. weighted_avg_ask - sig_px > X → skip (книга тонкая). 0 = выключить
taker_recheck_obi bool: re-check OBI/microprice на момент taker'а (использует min_obi/max_micro_gap из evaluator-секции). 0 = выключить

🔁 Частота тиков демонов

как часто крутятся discovery / evaluator / resolver

ключ значение описание
discovery_tick_ms discovery loop period
evaluator_tick_ms evaluator loop period for hot-list
resolver_tick_ms resolver loop period

🧾 Служебное

отметки сбросов и прочая бухгалтерия

ключ значение описание
stats_reset_ts unix ts: сделки/сигналы раньше этого момента не учитываются в обзоре

🗂 Прочее

ключи без явной группы — добавь в CONFIG_GROUPS в dashboard.py

ключ значение описание
enable_hedge bool: включить hedger (0 → позиция будет просто резолвиться без хеджа)
executor_tick_ms paper executor loop period
hedge_max_contra_ask не хеджимся, если best_ask контр-outcome больше этого (0.98 → 1-0.90-0.98=-0.08, невыгодно)
hedge_window_end_sec не хеджимся, если до endDate меньше N секунд (не успеем / книга тонкая)
hedger_tick_ms hedger loop period
min_locked_profit $/share: минимальная замороженная прибыль для триггера хеджа. locked = 1 - leader_px - hedge_ba
paper_slip симулированный проскальзыватель при paper-fill (добавляется к best_ask)
paper_tg_enabled bool: слать резолв-уведомления в Telegram (по умолчанию выкл)
position_size_usd номинал одной paper-позиции в USDC
сохраняется вся форма целиком — изменения из всех блоков уйдут одной транзакцией