文档版本: v1.0 最后更新: 2026-04-09 作者: Claude Code 状态: 规范阶段 (Specification Phase)
本文档详细描述了平台风险控制和对冲引擎(L6)的核心业务场景。涵盖净敞口监控、自动对冲触发、资金管理、路由模式切换、风险准备金管理、熔断机制、多币种优先级分配,以及对冲缓冲问题等8个关键场景。
每个场景基于”方案二(内部对赌 + 阈值对冲)”的双账户架构:
场景背景: 一天内用户持续做多BTC,平台通过L3(INTERNAL对赌)承接这些小额订单,内部净敞口从$0逐步增长。当累积净敞口突破$100K阈值时,L6对冲引擎触发自动对冲,在HL对冲账户开启对冲头寸。
输入:
决策规则:
净敞口 = 累计INTERNAL多头 - 累计INTERNAL空头
if (净敞口 > $100K):
hedge_ratio = 50%
hedge_amount = 净敞口 * hedge_ratio
execute_hedge(amount=hedge_amount, direction="long", symbol="BTC")
else:
skip_hedge()
当前净敞口 = $95K + $8K = $103K > $100K
→ hedge_amount = $103K * 50% = $51.5K
输出:
HEDGE_ORDER{symbol: BTC, side: long, notional: $51.5K, leverage: 3x}{symbol: BTC, internal_exposure: $103K, hedged: $51.5K, ratio: 50%}监控点:
失败兜底:
HL_MODE(所有新订单→HL)场景背景: 平台需要对冲$400K的内部敞口,但对冲账户仅有$100K可用资本。以3x杠杆只能覆盖$300K,资金缺口$100K。系统需要智能提升杠杆或触发资金补充,确保对冲能力不被资本限制。
输入:
决策规则:
required_hedge = net_exposure * hedge_ratio = $400K * 50% = $200K
available_capacity = account_capital * current_leverage = $100K * 3x = $300K
if (required_hedge <= available_capacity):
execute_hedge(amount=required_hedge)
else:
required_leverage = required_hedge / account_capital = $200K / $100K = 2x
if (required_leverage <= max_leverage):
increase_leverage_to(required_leverage)
execute_hedge(amount=required_hedge)
trigger_fund_request()
else:
partial_hedge = account_capital * max_leverage
execute_hedge(amount=partial_hedge)
alert("资金不足", severity=P1)
在本场景中:
required_leverage = $200K / $100K = 2x < max_leverage(5x) → 提升杠杆到2x(或2.5x保留缓冲)输出:
FUND_REQUEST{amount: $100K, chain: TRON, priority: HIGH}监控点:
失败兜底:
partial_amount = $100K * 3x = $300K,对冲$150K(75% of $200K)HL_MODE,新订单全部转HL规避敞口场景背景: 平台对冲账户持有BTC多头$500K(3x杠杆),基础资本$166.67K。突然BTC市价下跌10%,对冲仓位产生$50K浮亏,导致账户保证金率从500%跌至350%。系统需要从风险准备金紧急补充资金,维持对冲账户健康。
输入:
(账户权益 / 占用保证金) = ($200K - $50K) / $166.67K = 150% / 166.67K ≈ 300%(实际计算HL定义)决策规则:
account_equity = account_capital + unrealized_pnl = $200K - $50K = $150K
maintenance_margin_requirement = hedge_position / max_leverage_allowed
= $500K / 5x = $100K(保守估计)
margin_ratio = account_equity / maintenance_margin_requirement = $150K / $100K = 150%
if (margin_ratio < 500%):
shortage = (target_ratio * maintenance - account_equity)
= (5 * $100K) - $150K = $350K
# 补充最小安全量
supplement = min(shortage, available_reserve)
transfer_from_reserve(supplement)
if (shortage > available_reserve):
alert("准备金不足以覆盖浮亏", severity=P0)
reduce_hedge_position()
在本场景:
输出:
MARGIN_SHORTFALL_ALERT{account: hedge, shortage: $50K, supplement: $50K, reserve_balance_after: $XXK}监控点:
失败兜底:
场景背景: 平台正常运行在NORMAL_MODE($10K阈值),内部敞口稳定在$300K-$400K之间。突然一批大用户或机构订单涌入,使得INTERNAL净敞口快速飙升到$800K,远超最大安全容量。系统需自动检测并切换到HL_MODE,强制所有新订单路由到Hyperliquid,防止敞口失控。
输入:
决策规则:
def check_routing_mode():
if (net_exposure > HL_MODE_threshold):
if (current_mode != HL_MODE):
switch_mode(NORMAL → HL_MODE)
halt_internal_orders()
notify_risk_manager()
check_point_A: net_exposure = $550K → OK, 保持NORMAL_MODE
check_point_B: net_exposure = $550K + $220K(前两笔订单) = $770K → 接近阈值,发告警
check_point_C: net_exposure = $770K + $150K = $920K > $800K → 触发自动切换
# 后续新订单全部转HL
Order_4($50K) → HL(而非INTERNAL)
Order_5($80K) → HL
输出:
amount > 0 → HL_MODE → forward to L4 (HL Proxy Execution)🚨 ROUTING MODE AUTO-SWITCH
Previous: NORMAL_MODE | Current: HL_MODE
Trigger: Net Exposure $920K > Threshold $800K
Action: All new orders → Hyperliquid
Time: 2026-04-09 14:32:15 UTC
监控点:
失败兜底:
场景背景: 平台累积了$450K风险准备金(来自用户在INTERNAL交易中的净亏损)。由于市场行情有利,连续几天用户盈利,准备金被消耗用于补充对冲浮亏和操作开支。准备金余额逐日下降,最终跌破$200K安全下限。系统需触发风险准备金补充流程,暂停或限制对赌交易。
输入:
决策规则:
def monitor_reserve():
if (reserve < $500K):
severity = "YELLOW" # 告警:建议补充
if (reserve < $300K):
severity = "ORANGE" # 警告:开始限制对赌
if (reserve < $200K):
severity = "RED" # 紧急:暂停对赌
action = "halt_internal_trading"
当前 reserve = $180K < $200K → RED
→ halt_internal_trading()
→ switch_mode(NORMAL → HL_MODE / or FULL_HL)
→ notify_admin(urgency=P0)
输出:
RESERVE_REPLENISHMENT_REQ{target: $500K, current: $180K, gap: $320K}监控点:
失败兜底:
场景背景: 平台INTERNAL对赌业务每日都有净损益。正常日波动在±$20K,但某些极端行情日可能出现用户集中盈利、平台净亏损。系统设立日净亏损熔断器:当日INTERNAL净亏损达$500K时自动暂停对赌,防止极端风险。
输入:
决策规则:
# 每笔INTERNAL成交后,累加日净亏损
daily_loss = sum(all_internal_trades_pnl_today)
if (daily_loss < -$100K):
log_alert("日亏损告警", severity=P2)
notify_risk_manager()
if (daily_loss < -$500K):
log_alert("日亏损熔断", severity=P0)
halt_internal_trading()
switch_mode(HL_MODE)
update_circuit_breaker_status(TRIGGERED)
# 次日00:00 UTC自动重置
if (utc_hour == 0 and utc_minute == 0):
reset_daily_loss_counter()
circuit_breaker_status = RESET
if (mode == HL_MODE_due_to_loss):
# 自动尝试恢复NORMAL_MODE(如其他指标允许)
try_restore_normal_mode()
时间轴示例:
09:30 - 日亏损 -$20K (OK)
12:15 - 日亏损 -$80K (OK)
14:45 - 日亏损 -$120K → 发告警 P2
16:20 - 日亏损 -$350K → 告警升级 P1
18:05 - 日亏损 -$510K > -$500K → 熔断触发 P0
→ 暂停INTERNAL对赌
→ 切HL_MODE
→ circuit_breaker = TRIGGERED
→ 通知Risk Manager + CTO
次日 2026-04-10 00:00:00 UTC:
→ daily_loss_counter = 0
→ circuit_breaker = RESET
→ 尝试恢复NORMAL_MODE(如敞口许可)
输出:
🔴 CIRCUIT BREAKER TRIGGERED
Type: Daily Loss Limit
Current Loss: -$510K
Threshold: -$500K
Action: All internal trading HALTED
Mode: HL_MODE (all orders → Hyperliquid)
Auto-Reset: 2026-04-10 00:00:00 UTC
{timestamp, daily_loss, trigger_value, action, user_impact}监控点:
失败兜底:
场景背景: 平台支持多币种交易(BTC、ETH、SOL等)。在某个高波动日,多个币种同时积累了较大净敞口,都需要触发对冲。但对冲账户的可用资本有限,无法同时满足所有币种的完整对冲需求。系统需实现智能资金分配:按敞口规模优先级排序,优先覆盖大敞口,小敞口可能被切HL_MODE。
输入:
决策规则:
def allocate_hedge_across_symbols():
total_demand = sum(symbol.exposure * hedge_ratio for symbol in symbols)
total_capacity = account_capital * current_leverage
if (total_demand <= total_capacity):
# 充足,全部满足
for symbol in symbols:
execute_hedge(symbol, symbol.exposure * hedge_ratio)
else:
# 不充足,按规模优先级分配
symbols_by_size = sort_by_exposure(symbols, desc=True)
remaining_capacity = total_capacity
for symbol in symbols_by_size:
required = symbol.exposure * hedge_ratio
if (remaining_capacity >= required):
execute_hedge(symbol, required)
remaining_capacity -= required
else:
# 无法满足,分两种处理
if (remaining_capacity > 0):
execute_hedge(symbol, remaining_capacity)
remaining_capacity = 0
# 剩余敞口切HL_MODE
alert(f"{symbol} 敞口转HL_MODE")
switch_symbol_to_hl(symbol)
本场景执行顺序:
1. BTC($600K,最大)→ 对冲$480K(占用$160K资本 @ 3x)
remaining = $600K - $160K = $440K
2. ETH($300K,中等)→ 对冲$150K(占用$50K资本 @ 3x)
remaining = $440K - $50K = $390K
3. SOL($150K,最小)→ 需$75K
实际可对冲:$390K / 3x = $130K(可覆盖$75K)
对冲$75K(占用$25K资本 @ 3x)
remaining = $390K - $25K = $365K
结论:全部币种可满足对冲 ✓
输出:
HEDGE_ORDER_1: {symbol: BTC, amount: $480K, leverage: 3x}
HEDGE_ORDER_2: {symbol: ETH, amount: $150K, leverage: 3x}
HEDGE_ORDER_3: {symbol: SOL, amount: $75K, leverage: 3x}
异常:如果总占用>账户资本,则需缩减。例如实际容量应为$200K,则:
{BTC: {internal: $600K, hedged: $480K}, ETH: {...}, SOL: {...}}监控点:
失败兜底:
场景背景: 平台对一个大用户的BTC多头$800K(INTERNAL)进行了对冲,在HL对冲账户持有BTC多头$640K(50%对冲+10%缓冲)。该用户在1小时内突然决定全部平仓,INTERNAL敞口从$800K→$0。平台对冲账户需相应减仓从$640K→$0,但不能过快平仓(易产生滑点、市场冲击),需分批逐步减仓。
输入:
决策规则:
def adjust_hedge_on_position_change():
new_exposure = get_current_net_exposure()
current_hedge = get_current_hedge_position()
# 根据对冲阈值和比例计算目标对冲
if (new_exposure < HEDGE_THRESHOLD):
target_hedge = 0
else:
target_hedge = new_exposure * hedge_ratio
hedge_adjustment = current_hedge - target_hedge
if (hedge_adjustment > 0):
# 需要减仓
reduce_hedge(hedge_adjustment)
elif (hedge_adjustment < 0):
# 需要加仓
increase_hedge(-hedge_adjustment)
# 本场景:
trigger_point_1: exposure = $800K - $150K = $650K
target_hedge = $650K * 80% = $520K
adjust = $640K - $520K = $120K (需减仓$120K)
execute_reduce($120K, max_rate=$200K/min)
trigger_point_2: exposure = $450K
target_hedge = $450K * 80% = $360K
adjust = $520K - $360K = $160K (需减仓$160K)
execute_reduce($160K, max_rate=$200K/min)
...最终...
trigger_point_N: exposure = $0 < $100K_threshold
target_hedge = 0
adjust = remaining_hedge (需完全减仓)
execute_reduce_all(remaining_hedge, max_rate=$200K/min)
每次缩减限制速率:最多$200K/分钟(避免市场冲击)
输出:
时间 INTERNAL敞口 对冲账户 对冲率
14:00 $800K $640K 80%
14:05 $650K $440K 67.7% (进度中)
14:10 $450K $240K 53.3% (进度中)
14:15 $0K $0K 0% (完成)
监控点:
失败兜底:
原计划: $200K/min → 降为 $100K/min
计划重新生成,延长至8-10分钟完成
某笔减仓订单被拒(HL流动性不足) → 指数退避重试 + 标记延迟状态
减仓中途INTERNAL敞口反向增长(用户追加仓位) → 动态调整:重新计算目标对冲,可能暂停或反向加仓
此场景在”边缘与异常场景”(06-edge-cases.md) 的SC-EC-009详细描述。
此场景在”边缘与异常场景”(06-edge-cases.md) 的SC-EC-010详细描述。
| 指标 | 告警阈值(黄) | 触发阈值(红) | 动作 |
|---|---|---|---|
| 净敞口 | $500K | $800K | 切HL_MODE |
| 对冲账户保证金率 | 300% | 150% | 补充资金 |
| 风险准备金 | $300K | $200K | 暂停对赌 |
| 日净亏损 | -$100K | -$500K | 熔断触发 |
| HL API延迟 | 200ms | 500ms | 降级处理/转HL |
| 数据同步延迟 | 1s | 5s | 告警+人工 |
文档完毕