hybrid-perps-spec

L5 保证金与清算模型

这是整个系统最核心的模块。所有计算公式必须与 HL 保持 95% 以上一致。

数值精度规范

所有计算必须与 HL 精度对齐,从 HL meta API 获取并缓存:

参数 来源 说明
价格精度(szDecimals) HL /info meta API 每币种不同,BTC=1位,小币种 0–4 位
数量步进 HL /info meta API 最小下单量和步进值
维持保证金率分级表 HL /info meta API 按仓位大小分级,大仓位维保率更高

精度规则每小时同步一次(与 HL 合约元数据同步周期一致)。

逐仓模式(Isolated Margin)

每个仓位分配独立保证金,清算互不影响。

初始保证金

初始保证金 = 名义价值 / 杠杆
           = size × entry_price / leverage

维持保证金率(分级)

HL 的维保率按仓位大小分级,从 HL meta API 获取:

示例(BTC):
  名义价值 < $100K   → 维保率 0.4%
  名义价值 $100K–$1M → 维保率 0.6%
  名义价值 > $1M     → 维保率 1.0%

必须从 HL API 获取实际分级表,不可硬编码。

清算价格(含资金费侵蚀)

逐仓多头:

清算价 = entry_price × (1 - (margin - 累计资金费支出) / notional + maintenance_rate)

逐仓空头:

清算价 = entry_price × (1 + (margin - 累计资金费支出) / notional - maintenance_rate)

说明:

逐仓清算触发条件

当 (仓位保证金 + 仓位未实现 PnL) ≤ 名义价值 × 维持保证金率
→ 触发该仓位清算
→ 其他仓位不受影响

全仓模式(Cross Margin)

所有全仓仓位共享账户余额,一个仓位的盈亏影响其他仓位的清算线。

核心概念

账户权益 = 钱包余额 + Σ(所有全仓仓位未实现 PnL)
全仓维持保证金需求 = Σ(各全仓仓位名义价值 × 对应维保率)

全仓清算触发条件

账户权益 ≤ 全仓维持保证金需求
→ 触发账户级清算

全仓清算顺序

  1. 先平亏损最大的仓位(释放维持保证金需求 + 止损)
  2. 每平一个仓位后重新计算账户权益
  3. 账户权益 > 剩余维持保证金需求 → 停止清算,保留剩余仓位
  4. 仍不够 → 继续平下一个仓位,直到全部平完

全仓清算执行

全仓 + 逐仓混合模式

用户可同时持有逐仓和全仓仓位:

可用余额 = 钱包余额 - Σ(逐仓仓位保证金) + Σ(全仓仓位未实现盈亏)

统一清算引擎

适用于 INTERNAL 和 HYPERLIQUID 两种仓位,平台 是唯一清算主体。

清算检测

清算执行

仓位类型 执行方式 平台盈亏
INTERNAL L3 内部结算,按 mark price 平台赚取用户保证金(80/20 分配)
HYPERLIQUID 向 HL 发市价平仓 → 等回执 → 按 close_price 结算 无额外客损

清算后处理

用户保证金归零
已实现 PnL 记录
INTERNAL 客损分配:
  80% → 平台利润账户
  20% → 风险准备金
仓位状态 → LIQUIDATED
推送清算通知给用户