# Pacifica Delta-Neutral + Dual-Sided Scalping **版本**: v0.1.0 **类型**: 需求文档(PRD) + 技术方案(Tech Spec) **适用范围**: Pacifica DEX(主网/测试网) ## 1. 背景与目标 - 在 **Delta≈0** 约束下,使用“被动做市 + 双向微剥头皮”获取点差与成交周转,严格避免自成交/违规行为。 - 以主流合约(BTC/ETH/SOL)起步,自动评分筛选是否扩展更多标的。 ## 2. 关键原则 - **合规**:启用 STP(自成交预防),对冲腿在另一账户/venue 完成;保留审计日志。 - **风险优先**:名义/库存/单笔上限、回撤熔断、延迟与数据断流保护。 - **可观测性**:Prometheus 指标与报警;全链路可追踪。 ## 3. 指标/KPI(验收) - EV_p50 ≥ 1.5 bps;EV_p10 ≥ 0 - |Delta| P95 ≤ max_base_abs 的 50% - taker_ratio ≤ 35%;hedge_cost_bps ≤ edge_bps 的 40% - 当日回撤不突破 kill_switch_dd_pct;latency_p99 达标 ## 4. 策略设计 ### 4.1 信号 - Spread 扩张:spread_bps = (ask1 - bid1)/mid * 1e4 - Order Book Imbalance (OBI):k 档不平衡 - Trade Imbalance:T=0.5–2s 窗口的买卖量差 - 短时 RV:200–500ms 波动率,自适应 tp/sl/δ ### 4.2 交易模式 - **被动优先**:mid±δ 两侧 postOnly;一侧成交 → 对冲腿 IOC/紧限价;OCO(tp/sl) 管理退出。 - **微吃单**:spread_bps 放大 + 成交流向偏置时,小额吃入→在中点内侧被动挂出;超时 IOC 退出。 ### 4.3 Delta 控制 - PI 控制:hedge_qty = clamp(kp*Δ + ki*∑Δ, ±Qmax),含最小间隔防抖;资金费率不利时增加偏压。 - **对冲延迟风险预算(新增)**: - 目标延迟:P50 < 500ms, P99 < 2s(从成交信号到对冲完成) - 延迟窗口风险:在高波动期,10 秒单边敞口可能造成 10-50 bps 滑点损失 - 超时处理:若对冲未在 3 秒内完成,触发强制市价平仓 - 对冲失败重试:最多 2 次,每次增加滑点容忍度 +5bps - 预对冲机制(高级):在 MM 挂单前,预先在对冲账户挂反向单,成交时立即对冲 - **资金费率套利风险(新增)**: - **关键风险**:双账户持有相反方向仓位时,若两 venue 资金费率同向,将双重支付而非互相抵消 - 监控指标: - `funding_rate_correlation`:两 venue 资金费率的 30 天滚动相关性(目标 > 0.8) - `funding_cost_net_bps`:双账户净资金费支付/收入(目标每 8h < 1bps) - 风控动作: - 若相关性 < 0.8,告警并建议减仓至 50% - 若出现同向支付(如双方都支付 +0.01%),立即减仓至 30% 并人工审查 - 标的筛选要求:仅选择资金费率相关性 > 0.8 的 venue 对进行双账户对冲 ### 4.4 期望价值 EV ≈ edge_bps - taker_fee_bps*taker_ratio - real_slip_bps - cancel_cost_bps,需 EV_p50 > 1–2 bps 且 EV_p10 ≥ 0。 ## 5. 标的筛选(自动评分任务) - 从 `/info` 读取 tick/lot/min_order; - 从 `/book` 计算 spread_bps、top10_depth_usd、queue_turnover; - 从成交流估每分钟笔数; - **流动性冲击成本评估(新增)**: - 要求:`base_clip_usd ≤ top10_depth_usd * 5%`(单笔订单不超过前 10 档深度的 5%) - 动态调整:若 depth 下降 >30%,自动降低 clip 至新的 5% 阈值 - 监控指标:实际成交滑点 vs 预期滑点,若差异 >2bps 持续 5 分钟,暂停该标的 - **资金费率相关性评估(新增)**: - 从双 venue 抓取最近 30 天的 funding rate 历史 - 计算 Pearson 相关系数,要求 > 0.8 - 检查同向支付频率:若 >20% 的时间双方都支付正费率或都收取负费率,拒绝该 venue 对 - 依据费率/滑点回测 EV,满足阈值放行。 ## 6. 系统架构(与仓库结构对齐) - `packages/connectors/pacifica`:REST 客户端 + 签名; - `packages/utils/shadowBook.ts`:影子订单簿; - `packages/execution/orderRouter.ts`:滑点守卫、STP 检查、下单/撤单; - `packages/strategies`:MarketMaker + MicroScalper; - `packages/portfolio` & `packages/hedge`:持仓聚合与跨账户对冲; - `packages/risk`:限额、回撤熔断; - `packages/telemetry`:Prom 指标; - `apps/runner`:参数加载、定时任务、主循环。 ## 7. 风控与合规 - 硬限:max_notional_abs、max_base_abs、max_order_sz、kill_switch_dd_pct - **Kill-Switch(跨账户聚合,增强)**: - **聚合模式**:计算 Account A + Account B 的总权益与总 PnL,避免单账户误杀 - **多维度熔断触发器**: 1. 跨账户聚合 PnL 回撤 > -0.5% 2. Delta 绝对值 > 2x max_base_abs(失控) 3. 连续对冲失败 >3 次 4. 行情数据断流 >3 秒 - **时间窗口回撤**:基于 1 小时滑动窗口计算,而非从启动时刻 - 订单前置:tick/lot 对齐、滑点守卫、对手价 STP、本地影子簿自家挂单识别 - **跨账户 STP(新增)**:Global Order Coordinator 检查对手价是否来自关联账户,防止经济自成交 - 审计:信号→决策→下单→成交→对冲→OCO 全链路日志(append-only + trace id) ## 8. 可观测性 - **核心指标**:maker_ratio、avg_edge_bps、real_slip_bps、hedge_cost_bps、delta_abs、latency_p99、cancel_rate、pnl_intraday、ev_estimate - **对冲效率指标(新增)**: - `hedge_success_rate`:对冲订单成交率(目标 >98%) - `hedge_latency_p50/p95/p99`:对冲延迟分位数(目标 P50<500ms, P99<2s) - `hedge_slippage_bps`:对冲实际成交价 vs 预期价偏差(目标 <0.5bps) - `hedge_retry_rate`:对冲重试率(目标 <5%) - `cross_venue_basis_bps`:双 venue 价差监控(发现套利或数据异常) - **资金费率指标(新增)**: - `funding_rate_correlation`:双 venue 资金费率 30 天相关性 - `funding_cost_net_bps`:双账户净资金费成本(每 8h) - `funding_same_sign_ratio`:同向支付频率(目标 <20%) - **报警**:delta_abs>阈值、pnl_dd>阈值、latency_p99↑、data_gap、hedge_error、STP_hit、**funding_correlation<0.8**、**hedge_success_rate<95%** ## 9. 里程碑(M1–M4) - **M1**:接入 `/info` `/book` `/orders/*` `/account/*`,签名链路跑通;影子簿/路由/指标基础。 - **M2**:策略闭环(MM + Scalper)、对冲引擎、OCO、资金费抓取与面板。 - **M3**:事件重放与费用/资金费模型、参数搜索、策略报告。 - **M4**:稳态化(限频、重连、审计)、自适应参数(随 RV/OBI)、多标的扩容。 ## 10. 配置(示例) ```yaml env: mainnet api_base: https://api.pacifica.fi/api/v1 symbols: [BTC, ETH, SOL] # 双账户配置 accounts: maker: address: ${MAKER_ADDRESS} private_key: ${MAKER_PRIVATE_KEY} subaccount: maker-01 hedger: address: ${HEDGER_ADDRESS} private_key: ${HEDGER_PRIVATE_KEY} subaccount: hedger-01 # 或不同 venue mm: { layers: 2, base_clip_usd: 1000, spread_bps: 1.6, reprice_ms: 300 } scalper: trigger: { spread_bps: 1.8, min_cooldown_ms: 250 } tp_bps: 3 sl_bps: 6 risk: max_notional_abs: 100000 max_base_abs: 0.8 kill_switch: mode: aggregated # 跨账户聚合 drawdown_pct: -0.5 lookback_window_sec: 3600 # 1 小时滑动窗口 triggers: - { type: pnl_drawdown, threshold: -0.5 } - { type: delta_abs, threshold: 1.6 } # 2x max_base_abs - { type: hedge_failure_count, threshold: 3 } - { type: data_gap_sec, threshold: 3 } hedge: kp: 0.6 ki: 0.05 qmax: 0.4 min_interval_ms: 200 # 对冲延迟预算 latency_budget: target_p50_ms: 500 target_p99_ms: 2000 max_exposure_sec: 3 # 超过则强制市价 retry_max: 2 retry_slippage_increment_bps: 5 # 自适应降级(新增) adaptive_mode: enabled: true rv_threshold_high: 0.5 # realized vol >0.5%/min actions_on_high_vol: - disable: scalper - mm.layers: 1 - mm.spread_bps: 3.0 - mm.clip_multiplier: 0.5 # 流动性监控(新增) liquidity: min_top10_depth_usd: 50000 # 前 10 档最小深度 max_clip_ratio: 0.05 # clip ≤ depth * 5% slippage_alert_bps: 2 # 实际滑点超过预期 2bps 告警 # 资金费率监控(新增) funding: min_correlation: 0.8 # 双 venue 最低相关性 max_same_sign_ratio: 0.2 # 最大同向支付频率 alert_net_cost_bps_per_8h: 1 # 净成本告警阈值 ``` ## 11. 上线演练(Playbook) - 金丝雀:低名义跑 30–60 分钟,观察指标与报警; - 高波动:自动降层/降 clip,放宽 tp/sl; - 数据断流:撤单→HALT; - 对冲失败:冻结新增信号,仅处理存量; - 资金费极端:降低持仓时长/名义,或只做有利方向的被动单。