这笔空头,正是回测想要的交易。标记价格在 11 分钟内大约跌了 8%。未实现盈利在增加。维持保证金很宽裕。接着交易所按一个从未在买盘上印出的价格把仓位买回平掉,余下的暴跌发生在一个已经空仓的账户里。
那笔成交就是自动减仓。当一笔被强平的多头走到破产、订单簿吞不下、保险基金也补不上这个窟窿时,交易所就会这么做。引擎给正在盈利的空头排名,并按破产交易者的破产价格开始平掉他们。你自己被强平是另一件事。这一次发生时,你的保证金比率看起来仍然没问题。
14:03 仍开着的空头
逐仓,25×,在 64,200 卖出 2 BTC 的 USDT 保证金永续。标记价格是 59,100。未实现盈利是 10,200 USDT。策略里唯一挂着的单是 65,400 的止损,防一次还没到来的轧空。钱包余额是最初的 5,136 初始保证金。如果把未平仓盈利算进去——交易所会这么算——权益是 15,336。
有效杠杆已经从 25× 降到接近 8×,因为那 10,200 现在进了分母。信号并不在意。这是一笔趋势空头,它正在奏效,回测会拿着 2 BTC 走过接下来打出的任何价格。
穿仓归零的多头
订单簿没有一档一档往下走。它跳空了。一笔 2 BTC 的多头,50×,在 60,600 开仓,每枚大约有 1,220 USDT 的逐仓保证金。该账户权益在 59,390 附近归零。强平引擎先去碰盘口。连锁清算时,盘口只是传闻。仓位破产了:亏损大于保证金,得有人来补这个差额。
在一个普通的下午,那个「有人」就是保险基金。基金是那些成交好于破产价的强平所剩下的保证金,躺在一个你永远看不到时间序列的池子里。我没有交易所那个小时的内部余额,你的研究栈也没有。你看到的是公开后果。要么基金接走了这笔破产多头,要么它开始点名空头。
本该承担亏损的资金池
保险基金撑不住时,Binance 和 Bybit 不会按比例削减每个盈利账户。它们给对手方排名,从队列顶端开始平仓,直到窟窿补上。Hyperliquid 做的是同一件事的一个版本。把「未被强平」当成「仍在持仓」的回测,等于默默假设保险基金是无限的。
5 盏灯和一个 0.665
Binance 会公布排名。PnL 百分比是未实现盈利除以绝对名义价值。有效杠杆是绝对名义价值除以钱包余额加未实现盈亏。仓位盈利时,分数是这两者的乘积。亏损仓位用另一套公式,排在队尾。
我们 14:03 的空头:名义价值 118,200,盈利 10,200,钱包 5,136。PnL 百分比是 8.63%。有效杠杆是 7.71×。分数是 0.665。
| 账户 | 空头数量 | 钱包 | 分数 | 指示灯 | ADL 会做什么 |
|---|---|---|---|---|---|
| 这笔空头 | 2.0 BTC | 5,136 | 0.665 | 5 | 最先被全额平掉 |
| 同样仓位、更厚的钱包 | 2.0 BTC | 40,000 | 0.203 | 2 | 本轮未被触及 |
| 半仓空头 | 0.5 BTC | 12,000 | 0.175 | 2 | 本轮未被触及 |
瘦钱包的赢家,是交易所第一个点到的名字。同样的 2 BTC 放在 40,000 的钱包上,有效杠杆会降到 2.5× 以下,分数会降到 0.22 以下。补保证金会把我们往队列后面挪。回测从未考虑过补保证金,因为这笔交易本身没有任何问题。
我以前把仓位上那 5 盏小灯当成装饰,就像你忽略发动机故障灯,直到已经开上了高速。它们是唯一的警告,却完全不告诉你保险基金还有没有钱。全仓也会把我们的分数压下去:整个钱包都进分母。把我们推到队首的,正是逐仓。
59,390 的那笔成交
ADL 按 59,390——破产多头的破产价格——平掉我们的 2 BTC。那一刻的标记价格是 59,100。我们是空头,平仓意味着买入,而 59,390 比标记价格更差。已实现盈利是 9,620 USDT。1 秒之前的盯市还是 10,200。这 580 USDT 的缺口就是被指派的代价:你被当成了最后的托底,所以拿不到最后那一跳。
那笔成交是对破产多头的指派,不是吃掉你挂着的买盘。没有队列位置,没有 post-only 标志,也没有机会撤单。手续费怎么处理因交易所而异,通常很难看。65,400 的止损仍在挂着,现在绑在账户里已经没有的数量上。我有一张客服截图,交易者贴上成交记录,写着「这不是我点的。」他们确实没点。
回测继续拿着空头的那 40 分钟
标记价格继续走。该小时最低是 58,050。回测仍空着 2,又记上 2,680 USDT 的未平仓盈利,还在一笔模拟账户并不持有的仓位上记了一笔资金费。模拟盘已经空仓。如果策略是趋势跟随,它可能想在 58,050 重新做空。回测不会再进场,因为它从未离场。从这个时间戳往后,两本账在数量、资金费、止损,以及下一根 K 线的信号如何处理「当前仓位」上,全部对不上。
部分 ADL 更难对账。如果破产多头是 1.5 BTC,账户会空着 0.5,回测空着 2.0,之后每一笔都会按错误的库存来定尺寸。而研究侧的止损仍然活着,覆盖着一个幽灵数量。
账本必须多长出的那一行
你拿不到一份保真度堪比 OHLCV 的保险基金历史成交带。但你仍然可以拒绝假装基金是无限的。记下这笔未经请求的成交,带上原因代码、破产价格和剩余数量。在研究里对尾部做压力测试:当收益和强平成交量一起飙升时,强制平掉一部分得分最高的逐仓赢家,不要让它们吃完整段行情。把那条权益曲线,和每笔仍在工作的空头都坐到该根 K 线最低价的那条比一比。
一笔正在奏效的空头,是对手方爆仓时交易所第一个点到的名字。如果回测没法以这种方式亏钱,那当指示灯从 2 盏变成 5 盏时,它拿着的就不是模拟账户会拿着的那份合约。
← 全部文章


