PRD_Pacifica_DeltaNeutral_Scalping.md 8.6 KB

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,避免单账户误杀
    • 多维度熔断触发器
    • 跨账户聚合 PnL 回撤 > -0.5%
    • Delta 绝对值 > 2x max_base_abs(失控)
    • 连续对冲失败 >3 次
    • 行情数据断流 >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.8hedge_success_rate<95%

9. 里程碑(M1–M4)

  • M1:接入 /info /book /orders/* /account/*,签名链路跑通;影子簿/路由/指标基础。
  • M2:策略闭环(MM + Scalper)、对冲引擎、OCO、资金费抓取与面板。
  • M3:事件重放与费用/资金费模型、参数搜索、策略报告。
  • M4:稳态化(限频、重连、审计)、自适应参数(随 RV/OBI)、多标的扩容。

10. 配置(示例)

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;
  • 对冲失败:冻结新增信号,仅处理存量;
  • 资金费极端:降低持仓时长/名义,或只做有利方向的被动单。