Vibe-Trading 清算热图与杠杆水平分析:从清算集群识别、瀑布风险到磁吸交易信号的完整实战框架
【免费下载链接】Vibe-Trading"Vibe-Trading: Your Personal Trading Agent"项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading
本文以 Vibe-Trading 开源仓库中的清算热图技能文档 liquidation-heatmap/SKILL.md 为核心骨架,系统讲解加密衍生品市场中清算价格的计算机制、清算热图的解读方法、清算集群识别算法与三大实战交易信号,并深入仓库回测引擎与多智能体交易桌的源码实现,帮助读者掌握一套可直接落地于研究、回测与交易决策的清算水平分析框架。
一、为什么清算水平分析是加密衍生品交易的关键一环
在加密衍生品(尤其是永续合约)市场中,杠杆仓位的位置分布与清算价格水平,直接决定了价格在关键区间的行为模式。清算热图分析的核心价值在于:通过估算杠杆仓位的分布与其清算价位,识别出强平会加速价格运动的区域。清算集群(Liquidation Clusters)就像"磁铁"——做市商与鲸鱼有动力触发连锁清算来获利,因此价格往往会被吸引向大规模清算集中的价格带运动。
Vibe-Trading 仓库将其沉淀为一个名为liquidation-heatmap的技能,归属 crypto 分类,用于"识别杠杆仓位集中度、清算瀑布、止损猎杀区间,并将清算数据作为支撑/阻力信号"。该技能不仅是知识文档,更与多智能体交易桌预设、回测引擎清算钩子深度联动,构成从"认知"到"执行"的完整闭环。
二、清算机制:从公式到分层维持保证金
2.1 清算价格的计算公式
无论多空方向,清算的本质都是仓位权益跌破维持保证金。SKILL.md 给出了两种方向的清算价格估算公式:
# 多头仓位清算价 long_liquidation_price = entry_price * (1 - 1/leverage + maintenance_margin) # 空头仓位清算价 short_liquidation_price = entry_price * (1 + 1/leverage - maintenance_margin) # 示例:BTC 多头入场 $65,000,10x 杠杆,0.5% 维持保证金率 # 清算价:$65,000 * (1 - 1/10 + 0.005) = $58,825 # 只要出现 9.5% 的逆向波动就会触发强平公式中1/leverage决定了清算价距入场价的基础距离,maintenance_margin(维持保证金率)则在此基础上进一步收窄安全边际。这一逻辑在 Vibe-Trading 回测引擎中也有严格对应实现。
2.2 杠杆与清算距离的关系
| 杠杆 | 多头清算距离 | 空头清算距离 |
|---|---|---|
| 2x | 约 -50% | 约 +50% |
| 5x | 约 -20% | 约 +20% |
| 10x | 约 -10% | 约 +10% |
| 20x | 约 -5% | 约 +5% |
| 50x | 约 -2% | 约 +2% |
| 100x | 约 -1% | 约 +1% |
这张表是清算热图的"换算底表":给定某一价格水平处的开仓量与杠杆分布,即可反推该价格水平的清算池规模。杠杆越高,清算价越贴近现价,也就越容易成为"止损猎杀(stop-hunt)"的目标。
2.3 源码佐证:维持保证金率并非固定值
SKILL.md 中的示例使用 0.5% 的固定维持保证金率,而 Vibe-Trading 的回测引擎则实现了分层(Tiered)维持保证金率表。在 agent/backtest/engines/_market_hooks.py 中:
# ── Crypto: OKX tiered maintenance margin table (simplified) ── _TIER_TABLE = [ (100_000, 0.004), (500_000, 0.006), (1_000_000, 0.01), (5_000_000, 0.02), (10_000_000, 0.05), (float("inf"), 0.10), ]对应的查询函数_maintenance_rate(notional_usd)(同一文件 L314-L319)按名义价值notional_usd落入的档位返回维持保证金率:名义价值 ≤ $100K 时为 0.4%,$100K–$500K 为 0.6%,$500K–$1M 为 1%,以此类推直至 10% 封顶。这意味着大仓位实际距离清算比简化公式更近——这也是为什么清算热图估算时,维持保证金率应取分层值而非固定值。
2.4 源码佐证:回测引擎的清算判定逻辑
引擎中的check_crypto_liquidation(agent/backtest/engines/_market_hooks.py#L409-L434)把公式落实为可执行的清算判定:
def check_crypto_liquidation(symbol, bar, positions) -> bool: pos = positions.get(symbol) if pos is None or (pos.leverage <= 1.0 and pos.direction > 0): return False mark_price = _liquidation_mark(bar, pos) margin = pos.size * pos.entry_price / pos.leverage unrealized = pos.direction * pos.size * (mark_price - pos.entry_price) notional = pos.size * mark_price maint_rate = _maintenance_rate(notional) maint_margin = notional * maint_rate return (margin + unrealized) <= maint_margin几个值得注意的实现细节,与 SKILL.md 的公式相互印证:
- 保证金:
margin = size * entry_price / leverage,即"名义价值 / 杠杆",与文档公式中的1/leverage项一一对应; - 维持保证金:
maint_margin = notional * maint_rate,对应公式中的maintenance_margin项,但采用上述分层费率; - 判定条件:仓位权益(保证金 + 浮动盈亏)≤ 维持保证金即触发清算,与"清算 = 权益跌破维持保证金"的定义完全一致;
- 1x 多头的豁免:
pos.leverage <= 1.0 and pos.direction > 0时直接返回 False——因为 1x 多头的破产价为零,理论上不会被清算;但 1x 空头不豁免(详见下文测试佐证)。
此外_liquidation_mark(L392-L406)采用"空头看最高价、多头看最低价"的**不利极端价(adverse extremum)**作为标记价,保证 K 线内的插针(wick)也能触发清算判定。
三、清算热图解读:把价格轴上的清算池"可视化"
一张清算热图展示的是不同价格水平上清算订单的集中度,通常用颜色深浅表示密度。SKILL.md 用 ASCII 示意了典型的读图方式:
Price Level Long Liquidations Short Liquidations Interpretation $70,000 ░░░░░░░░░░ ████████████████ Heavy short liquidation zone $68,000 ░░░░ ██████████ Moderate short liquidation $66,000 ███████ ███████ Balanced (current price area) $64,000 ██████████ ░░░░ Moderate long liquidation $62,000 ████████████████ ░░░░░░░░░░ Heavy long liquidation zone读图的核心原则有三条:
- 清算集群是磁铁(Liquidation clusters are magnets):价格倾向于向大规模清算池靠拢,因为强平产生的市价单为鲸鱼/做市商提供了成交流动性;
- 清算瀑布(Liquidation cascades):当一个集群被触发后,强平单会推动价格继续行进,进而触发下一个集群,形成连锁反应;
- 清算完成即角色反转(After liquidation wipe):当一个大型集群被清算殆尽后,该价格水平往往转化为支撑或阻力——因为过度杠杆的头寸已经被"洗掉",此后再无密集的强制单堆积。
四、清算水平识别:从持仓与杠杆分布反推清算集群
由于交易所不会实时公布所有用户的清算价格,实践中需要基于持仓分布(open interest by price)与杠杆分布(leverage distribution)进行统计估算。SKILL.md 给出了集群识别算法的骨架:
def identify_liquidation_clusters(open_interest_by_price, leverage_distribution): clusters = [] for price_level in price_range: # 多头清算:在该价位上方以高杠杆开仓的头寸 long_liq_volume = estimate_long_liq_at_price( open_interest_by_price, leverage_distribution, price_level ) # 空头清算:在该价位下方以高杠杆开仓的头寸 short_liq_volume = estimate_short_liq_at_price( open_interest_by_price, leverage_distribution, price_level ) total = long_liq_volume + short_liq_volume if total > significance_threshold: clusters.append({ "price": price_level, "long_liq": long_liq_volume, "short_liq": short_liq_volume, "type": "long" if long_liq_volume > short_liq_volume else "short", "magnitude": total, }) return sorted(clusters, key=lambda x: x["magnitude"], reverse=True)算法要点:
- 方向判断:多头清算量大于空头即标记为
"long"型集群(意味着跌破该价会引发多头强平抛压),反之标记为"short"型; - 显著性过滤:
significance_threshold用于剔除噪音,只有总量超过阈值的价格带才进入集群列表; - 排序输出:按
magnitude降序返回,便于交易者优先关注体量最大的清算池。
该算法与回测引擎的清算钩子形成呼应:引擎同样按"多头向下看、空头向上看"的不利方向评估清算,只是引擎针对的是单仓位实盘/回测持仓,而集群识别针对的是全市场估算。两者共享同一套清算力学原理。
五、清算驱动的三大交易信号
5.1 信号一:清算磁吸(Liquidation Magnet)
价格倾向于向最近的、且体量显著更大的清算集群运动:
def liquidation_magnet_signal(current_price, clusters): above = [c for c in clusters if c["price"] > current_price] below = [c for c in clusters if c["price"] < current_price] nearest_above = min(above, key=lambda c: c["price"] - current_price) if above else None nearest_below = min(below, key=lambda c: current_price - c["price"]) if below else None if nearest_above and nearest_below: above_magnitude = nearest_above["magnitude"] below_magnitude = nearest_below["magnitude"] if above_magnitude > below_magnitude * 2: return "upward_magnet" # 上方集群更大 → 价格倾向向上 elif below_magnitude > above_magnitude * 2: return "downward_magnet" # 下方集群更大 → 价格倾向向下 else: return "balanced" # 上下集群相当 → 无显著偏向关键判据是体量不对称性达到 2 倍时才给出方向性信号,避免在平衡状态时过度交易。这也是 SKILL.md 输出格式中"Strongest upside/downside magnet"的直接来源。
5.2 信号二:瀑布风险(Cascade Risk)
瀑布风险的来源是同向集群在价格轴上紧密堆叠——触发第一个集群后,强平单几乎必然点燃下一个:
def cascade_risk(current_price, clusters, direction="down"): if direction == "down": relevant = sorted([c for c in clusters if c["price"] < current_price and c["type"] == "long"], key=lambda c: c["price"], reverse=True) else: relevant = sorted([c for c in clusters if c["price"] > current_price and c["type"] == "short"], key=lambda c: c["price"]) if len(relevant) < 2: return "low_cascade_risk" gaps = [] for i in range(len(relevant) - 1): gap = abs(relevant[i]["price"] - relevant[i+1]["price"]) / current_price * 100 gaps.append(gap) if min(gaps) < 2: return "high_cascade_risk" # 集群间距 < 2% → 极易连锁 elif min(gaps) < 5: return "moderate_cascade_risk" else: return "low_cascade_risk"注意两个工程细节:向下瀑布只看现价下方的多头集群(跌破会引发多杀多),向上瀑布只看现价上方的空头集群;间距以现价为分母归一化为百分比,使风险分级在不同资产间可比。
5.3 信号三:清算后的支撑/阻力(Post-Liquidation Support/Resistance)
大型清算事件结束后,该价位因"过度杠杆头寸消失"而角色反转:
def post_liquidation_sr(price_history, liquidation_events): sr_levels = [] for event in liquidation_events: if event.total_liquidated > 100_000_000: # 单事件清算额 > $1 亿 sr_levels.append({ "price": event.price_level, "type": "support" if event.liquidation_type == "long" else "resistance", "strength": event.total_liquidated, "date": event.date, }) return sr_levels规则简洁且可量化:多头被清算(long liquidation)→ 下方形成支撑;空头被清算(short liquidation)→ 上方形成阻力;且以 $1 亿清算额作为"重大事件"门槛,strength字段即事件体量,供后续分级使用。
六、清算数据指标与市场状态分级
6.1 核心追踪指标
| 指标 | 描述 | 信号含义 |
|---|---|---|
| 24h 总清算额 | 全交易所累计清算美元金额 | > $5 亿 = 极端,波动率骤升 |
| 多空清算比 | 多头清算额 / 空头清算额 | > 2 = 多头被挤压;< 0.5 = 空头被挤压 |
| 单笔最大清算 | 最大的单笔强平头寸 | > $1000 万 = 鲸鱼清算 |
| 清算后 OI 变化 | 事件后未平仓合约变化 | OI 大幅下降 = 杠杆被洗出(健康) |
| 分交易所清算 | 哪家交易所清算最多 | 指示杠杆集中地 |
6.2 清算量级与市场状态映射
| 24h 清算额 | 市场状态 | 含义 |
|---|---|---|
| > $10 亿 | 极端事件 | 大规模杠杆清洗,可能 V 型反转 |
| $5 亿 – $10 亿 | 高波动 | 显著仓位重置 |
| $2 亿 – $5 亿 | 偏高 | 中度降杠杆 |
| $5000 万 – $2 亿 | 正常 | 背景噪音 |
| < $5000 万 | 平静 | 低波动,杠杆积累期 |
值得强调的是去杠杆的"健康"与"不健康"之分:OI 大幅下降且资金费率转负,通常意味着杠杆被充分清洗、底部更扎实;反之,如果清算额巨大但 OI 很快回补,说明新的杠杆又堆积起来,风险并未真正释放。
七、清算瀑布解剖:从触发到筑底的完整链条
SKILL.md 给出了典型的瀑布演化序列:
1. 初始触发(宏观事件、鲸鱼砸盘、技术破位) ↓ 2. 价格触及第一个清算集群($65,000) → 约 $2 亿多头强平被迫卖出 ↓ 3. 强平抛压把价格推向下一个集群($63,000) → 又约 $3 亿多头强平 ↓ 4. 瀑布加速 → 高杠杆仓位($62,000-$60,000) → 短时间内约 $5 亿连环强平 ↓ 5. 最终:OI 下降 20-30%,资金费率转负 → 杠杆被"洗出" → 底部形成 ↓ 6. 短期反弹开始(已无更多强制卖盘)围绕瀑布的交易纪律:
- 瀑布前:降低杠杆、放宽止损,避免在重型清算区附近持有高杠杆多头;
- 瀑布中:绝不逆势接飞刀,等待 OI 企稳再考虑动作;
- 瀑布后:当资金费率深度转负且 OI 已下降 20%+ 时,可以带紧止损做逆势多单。
这套纪律在 Vibe-Trading 的交易桌预设中进一步被"量化"为风险门控(详见第九节)。
八、交易所层面的清算机制差异
不同交易所的清算引擎直接决定了清算事件的"烈度":
| 交易所 | 清算引擎 | 关键特征 |
|---|---|---|
| OKX | 分层自动减仓(Tiered ADL) | 部分清算(减仓而非全平) |
| Binance | 保险基金 + ADL | 最大保险基金(约 $10 亿+),降低瀑布烈度 |
| Bybit | ADL(自动减仓) | 保险基金耗尽后触发 ADL |
| dYdX | 链上清算 | 透明,任何人可清算(存在 MEV 机会) |
解读要点:部分清算机制(OKX)会缓解瀑布的速度——每个仓位只被减仓一部分而非全部强平,强制单的瞬时规模更小;而保险基金充当缓冲垫(Binance 约 $10 亿),在极端行情中吸收违约损失、推迟 ADL。做清算热图分析时,对"清算池被触发后的实际抛压"应结合交易所机制做折扣估算。仓库的 OKX 技能文档 okx-market/SKILL.md 也提到,OKX 的标记价格(Mark Price)接口正是用于 PnL 与清算计算的实时数据来源。
九、清算数据来源与工具
| 数据源 | 访问方式 | 可用数据 |
|---|---|---|
| CoinGlass | 免费(受限) | 清算热图、24h 清算、OI |
| Laevitas | 免费/付费 | 期权 + 期货清算水平 |
| Kingfisher (Coinalyze) | 付费 | 实时清算水平估算 |
| Hyblock Capital | 付费 | 专业级清算热图 |
| OKX API | 免费 | 历史清算数据 |
| DeFi Llama | 免费 | DeFi 协议清算数据 |
使用提示:热图数据本质是统计估算而非精确值(交易所不会公布所有用户的实时清算水平),各供应商基于 OI 与杠杆分布建立统计模型推算清算价;清算水平会随交易者开平仓不断漂移,应视为动态区域而非固定价格。这也是 Vibe-Trading 研究态框架反复强调的"证据边界"。
十、标准输出格式:让分析可复现、可传递
SKILL.md 定义了一套结构化的输出模板,确保 Agent 或分析师每次产出格式一致、信息完整:
## Liquidation Analysis — [资产] — [日期] ### Liquidation Overview (24h) - **Total liquidated**: $XXX M - **Long liquidated**: $XXX M (XX%) - **Short liquidated**: $XXX M (XX%) - **Largest single**: $XX M [交易所] - **Market state**: [extreme / elevated / normal / calm] ### Key Liquidation Levels | Price Level | Type | Est. Volume | Distance from Current | Priority | |------------|------|-------------|----------------------|----------| | $XX,XXX | Short liq cluster | $XXX M | +X.X% | High | | $XX,XXX | Long liq cluster | $XXX M | -X.X% | High | | $XX,XXX | Long liq cluster | $XXX M | -X.X% | Medium | ### Heatmap Summary - **Strongest upside magnet**: $XX,XXX (short liquidation cluster, $XXX M) - **Strongest downside magnet**: $XX,XXX (long liquidation cluster, $XXX M) - **Asymmetry**: [upside magnet stronger / downside stronger / balanced] ### Cascade Risk - **Downside cascade risk**: [high / moderate / low] - [现价下方 X% 内堆叠了 X 个集群] - **Upside cascade risk**: [high / moderate / low] ### Post-Liquidation S/R Levels - **Recent support formed**: $XX,XXX (long liquidation wipeout on DATE) - **Recent resistance formed**: $XX,XXX (short liquidation wipeout on DATE) ### Trading Implications - **Bias**: [上方磁吸更强 → 温和看多 / 下方 → 看空] - **Risk**: [X% 内存在高杠杆区 → 降低仓位] - **Key level**: [$XX,XXX — 若跌破,瀑布风险激活]该模板的每个字段都能在上文五、六、七节的算法与指标中找到出处,即"结论可追溯到方法论"。
十一、在 Vibe-Trading 中的落地:多智能体交易桌与回测验证
11.1 清算分析师角色(Crypto Trading Desk)
仓库在 crypto_trading_desk.yaml 中定义了专门的liquidation_analyst角色——"清算与市场微观结构专家",职责正是本 SKILL 的内容:
- 清算热图:识别现价下方的主要多头清算集群(含美元体量估算)、现价上方的主要空头清算集群,判断最近的清算磁吸方向;评估集群是否在 2-3% 间距内紧密堆叠(即瀑布风险);
- 近期清算事件:24h 总清算量(多空分解)、24h 最大单笔清算、清算后形成的支撑/阻力水平;
- 市场微观结构:±1%/±2%/±5% 处订单簿深度、主流交易所买卖价差、成交量分布、大单执行条件($1M+ 订单滑点 <0.1%);
- 执行建议:最优执行交易所、订单类型(限价/TWAP/冰山单)、日内流动性时段差异。
该角色的技能列表为[liquidation-heatmap, market-microstructure, execution-model],并在任务编排(tasks 段)中通过task-liquidation与资金费率分析、链上资金流分析并行执行,最后汇入desk_risk_manager做信号整合。
11.2 信号权重与清算风险门控
在 crypto_trading_desk.yaml 的风险经理角色 中,清算分析被赋予明确的决策权重与风险门控:
- 三维信号表:资金费率/基差 + 清算 + 资金流,优先级权重为 链上资金流 40% > 资金费率/基差 35% > 清算水平 25%;
- 清算邻近门控:"若价格距某大型集群 X% 以内,收紧止损"——直接落实 SKILL.md 中"清算集群是动态区域"的思想;
- 门控阈值(X%)要求从观测数据锚定而非拍脑袋,例如用
get_market_data拉取历史波动率、用src.quantlib.risk.historical_var/historical_cvar与fit_gpd_tail估算尾部风险。
此外 crypto_research_lab.yaml 的 sentiment 分析师技能列表也包含liquidation-heatmap,将清算数据(如"清算量上升可能加速价格下跌")作为情绪面的量化输入之一。
11.3 回测引擎中的清算验证
SKILL.md 的清算公式在仓库回测引擎中有可运行验证。除前文check_crypto_liquidation外,agent/tests/test_market_hooks_liquidation.py 用一组测试钉死了清算语义:
- 1x 空头必须清算:保证金等于全部名义价值,2 倍逆向波动即归零(
test_1x_short_liquidates_through_twice_the_entry_price); - 1x 多头豁免:破产价为零,90% 回撤也存活(
test_1x_long_survives_ninety_percent_drawdown); - 插针触发:K 线最高/最低价穿越维持保证金即触发,而非只看收盘价(
test_wick_through_maintenance_triggers_when_high_low_present)。
这些测试与 SKILL.md 的清算公式、杠杆-距离表互为印证,说明文档中的理论在仓库中是可执行、可测试的工程事实。
十二、使用边界与研究纪律
最后,SKILL.md 明确列出若干使用前提,任何基于清算热图的决策都应遵守:
- 数据是估算而非精确值:交易所不公布全部用户的实时清算水平,热图基于 OI 与杠杆分布建模推算;
- 水平持续漂移:交易者不断开平仓,清算水平是动态区域而非固定价格;
- 止损猎杀是常态:价格"轻触清算集群后反转"很常见——做市商故意触发集群获利;
- 透明度差异:DeFi 清算完全透明(链上可查),CEX 清算则不透明;
- 研究用途声明:本框架仅供研究,不构成投资建议;仓库中所有衍生品分析均定位为"研究与回测",不执行实盘交易(见 crypto-derivatives/SKILL.md 的 Notes 部分)。
总结:清算热图分析不是一个"看图说话"的辅助工具,而是一套完整的力学模型——从清算价公式、维持保证金分层、集群识别算法,到磁吸/瀑布/反转三大信号、市场状态分级与输出模板,Vibe-Trading 将其文档化(SKILL.md)、角色化(多智能体交易桌)、工程化(回测引擎钩子与测试),为加密衍生品研究者提供了一条"可学习、可回测、可验证"的完整路径。
【免费下载链接】Vibe-Trading"Vibe-Trading: Your Personal Trading Agent"项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考