清算燃料耗尽:一个短线反转因子的拆解


清算燃料耗尽:一个短线反转因子的拆解封面图

清算燃料耗尽:一个短线反转因子的拆解

今天看到 YuCry 提到一个很有意思的因子:价格跳跃成交额相关性因子

原理并不复杂:当价格在某一分钟内剧烈跳动,同时成交额突然放大,我们可以把这一分钟视为一次潜在的清算冲击。合约市场里,价格短时间往一个方向极端运动,往往不是因为所有人突然达成共识,而是因为一批杠杆仓位被迫平仓,强平单变成了继续推动价格的燃料。

但燃料不是无限的。

当该爆的仓集中爆完,市场短时间内就可能进入“燃料枯竭”状态。如果没有新的主动趋势资金继续接力,价格就容易出现短线反向运动。

这篇文章把这个因子拆成一个可以落地的量化框架。

一句话定义

价格跳跃成交额相关性因子 = 用“短时间价格剧烈跳动 + 成交额异常放大”的共振,识别疑似清算/爆仓燃料耗尽点,做短线反向。

它不是趋势因子,而是一个典型的 清算后反转因子

更准确的英文名可以叫:

Liquidation Exhaustion Reversal Factor

中文可以叫:

清算燃料耗尽反转因子

这个因子到底在捕捉什么?

普通价格因子关注的是:价格涨了还是跌了。

普通成交量因子关注的是:这一段有没有放量。

但这个因子真正关心的是:

这一分钟的价格运动,是不是被清算流强行推出来的?

如果是,那么它隐含两个信息:

  1. 方向性冲击已经发生;
  2. 推动冲击的被动燃料可能快耗尽。

所以它不是追突破,而是在找“杠杆链条断裂之后”的短线均值回归。

flowchart TD
    A[价格短时间剧烈跳动] --> C[疑似清算冲击]
    B[成交额异常放大] --> C
    C --> D[强平单推动价格单边运动]
    D --> E[爆仓燃料逐渐耗尽]
    E --> F[短线反向修复]

典型方向是:

  • 急跌 + 高成交额 + 高价格跳跃:疑似多头清算,后续偏反弹;
  • 急涨 + 高成交额 + 高价格跳跃:疑似空头清算,后续偏回落。

因子拆解:三个核心变量

这个因子可以拆成三个部分:价格跳跃、成交额异常、二者共振。

1. 价格跳跃:Price Jump

最简单的跳跃定义是当前分钟的实体收益:

但清算场景里,单看实体不够。很多清算会表现为长上下影线,所以更推荐用振幅:

如果有逐笔成交数据,还可以用微观价格路径:

三者区别:

  • jump_body 更关注方向性;
  • jump_range 更适合捕捉插针和剧烈波动;
  • micro_jump 最适合捕捉“上下剧烈抖动”。

如果只有 1m K 线,我会优先用 jump_range

2. 成交额异常:Turnover Spike

清算一定伴随成交。没有成交额配合的价格跳动,可能只是流动性薄或者报价跳变,不一定是系统性强平。

成交额可以定义为:

如果数据里只有 base volume,可以近似:

然后做标准化:

或者用更稳健的中位数倍数:

常见窗口:

  • N = 60:过去 60 分钟,适合短线;
  • N = 240:过去 4 小时,更稳一点;
  • N = 1440:过去 1 天,适合日内统计。

3. 跳跃-成交额共振:Shock

推文里提到“价格跳跃成交额相关性”,严格做法可以计算滚动相关:

但实盘触发时,我更喜欢用当前分钟的冲击乘积:

原因很简单:滚动相关更像状态变量,而 shock_t 更像触发变量。

jump_z_tturnover_z_t 同时很高,说明当前这根 1m K 线不仅波动大,而且成交额也异常大。它更像一次真实的冲击,而不是普通噪音。

最终因子公式

有了冲击强度之后,还需要判断方向。方向可以用当前分钟收盘相对开盘的符号:

最终反转因子可以写成:

展开就是:

含义:

  • factor_t > 0:偏多,通常对应急跌后的反弹;
  • factor_t < 0:偏空,通常对应急涨后的回落。
flowchart LR
    A[1m OHLCV] --> B[计算价格跳跃 jump]
    A --> C[计算成交额 turnover]
    B --> D[jump z-score]
    C --> E[turnover z-score]
    D --> F[shock = jump_z × turnover_z]
    E --> F
    A --> G[direction = sign close-open]
    F --> H[factor = -direction × shock]
    G --> H
    H --> I[短线反转信号]

入场规则示例

这个因子最好先用非常简单、可解释的规则验证,不要一开始就堆太多参数。

做多信号

翻译成人话:

  • 当前 1m 明显下跌;
  • 当前振幅异常;
  • 当前成交额异常;
  • 疑似多头被集中清算;
  • 做短线反弹。

做空信号

翻译成人话:

  • 当前 1m 明显上涨;
  • 当前振幅异常;
  • 当前成交额异常;
  • 疑似空头被集中清算;
  • 做短线回落。

最小可用版本可以直接写成:

出场:别把微结构因子拿成趋势单

这个因子捕捉的是清算后的短线修复,不适合拿太久。它的优势通常集中在几分钟到十几分钟内。

常见出场有三种。

1. 固定持有时间

最适合做因子验证:

先看不同持有期的未来收益分布,再决定策略化时用哪个窗口。

2. 回到短线均值

做多时:

做空时:

这对应的是“清算插针后修复到短线均值”的逻辑。

3. 冲击 K 线失效止损

做多后,如果价格继续跌破冲击 K 线低点,说明这可能不是燃料耗尽,而是真趋势继续:

做空后,如果价格继续突破冲击 K 线高点,也应该止损:

为什么它不是普通成交量因子?

普通成交量因子经常会把“放量”理解成趋势确认。

但这个因子的关键不是放量本身,而是:

放量是否和价格跳跃同时发生。

三种情况要分开:

  • 只有放量,价格不动:更像换手,不一定有方向;
  • 只有价格跳,成交额不大:可能只是流动性薄;
  • 价格剧烈跳 + 成交额异常放大:更像清算冲击。

所以这个因子真正捕捉的是“成交额驱动的价格冲击”。

最好用什么数据?

最好:逐笔成交 + 强平数据

如果数据条件允许,最理想的数据组合是:

  • Binance aggTrade;
  • forceOrder liquidation stream;
  • mark price / index price;
  • orderbook imbalance;
  • open interest。

这样可以把“疑似清算”变成更接近“确认清算”。

次优:1m OHLCV

如果没有强平流,1m K 线也可以做弱版本。

最小字段是:

但要记住:OHLCV 只能推断清算,不能证明清算。

不建议只用 3m/5m

推文里说的是“某一分钟”。

3m 或 5m 会把清算瞬间摊平,信号会变钝,甚至把“冲击后反弹”合并到同一根 K 线里,导致因子失真。

可以加的过滤器

1. OI 下降过滤

清算通常伴随 open interest 下降。

如果价格急跌、成交额巨大、OI 明显下降,更像多头被清掉;如果价格急涨、成交额巨大、OI 明显下降,更像空头被清掉。

2. Funding / Premium 过滤

如果 funding 长时间偏多后急跌,更容易出现多头清算后的反弹。

如果 funding 长时间偏空后急涨,更容易出现空头清算后的回落。

可以写成:

3. 大盘同步过滤

如果 BTC、ETH 和主流山寨同时出现清算冲击,说明可能是全市场杠杆去化。

这种情况下,单币种反转信号的质量往往更高,因为它不只是局部流动性问题。

4. 趋势过滤

这个因子最怕把真趋势突破误判成清算反转。

可以加一个简单过滤:

  • 大周期极强下跌时,少做急跌反弹;
  • 大周期极强上涨时,少做急涨回落;
  • 或者只允许极短持有,防止反转失败变成逆趋势硬扛。

最大风险:趋势接力

这个因子最大的坑是:

有些大成交 + 大跳跃不是清算尾声,而是趋势启动。

比如重大新闻、交易所故障、宏观数据、ETF 流出、监管事件,都可能让大成交之后继续同向运动。

解决方法有几个:

  1. 等冲击 K 线收完再进,不追正在形成中的针;
  2. 看后续 1-3 分钟是否继续同向放量;
  3. 一旦突破冲击 K 线极值,立刻承认判断失败;
  4. 不在重大新闻窗口机械做反转。

回测应该怎么看?

最关键不是看单个阈值收益,而是看 shock 分桶后的未来收益。

例如把 shock 分成:

  • 0-1
  • 1-2
  • 2-3
  • 3-5
  • >5

分别统计未来:

  • 3 分钟收益;
  • 5 分钟收益;
  • 10 分钟收益;
  • 15 分钟收益。

然后分方向看:

  • 急跌 shock 后,未来收益是否为正;
  • 急涨 shock 后,未来收益是否为负。
flowchart TD
    A[收集 1m OHLCV] --> B[计算 jump_z / turnover_z / shock]
    B --> C[按 shock 强度分桶]
    C --> D[区分急涨冲击和急跌冲击]
    D --> E[统计未来 3/5/10/15m 收益]
    E --> F{高 shock 分桶是否稳定反向?}
    F -->|是| G[进入策略化]
    F -->|否| H[因子故事好听但 alpha 不足]

如果 shock > 3shock > 5 之后,反向 5-15 分钟收益显著为正,这个因子才算真的站住。

如果分桶越高,反向收益没有改善,甚至继续同向,那它就是一个看起来很合理、但市场不给钱的故事。

和现有策略池的结合

这个因子很适合接进 ETH/BTC 的短线策略池,尤其是已有以下数据链路时:

  • aggTrade 成交流;
  • liquidation 强平流;
  • orderbook runtime;
  • premium/funding feature;
  • Freqtrade dry-run 框架。

我的建议是先做两个版本:

版本 A:OHLCV 弱版本

只用 1m K 线:

优点是简单,数据稳定,容易快速回测。

版本 B:强平确认版本

在版本 A 上增加:

也就是只有当强平额异常,并且 OI 下降时,才认为它是高质量清算冲击。

这个版本信号更少,但质量应该更高。

结语

价格跳跃成交额相关性因子的核心,不是“放量就反向”,也不是“插针就抄底”。

它真正的逻辑是:

当价格冲击和成交额异常同时出现,市场可能正在经历一轮杠杆清算。清算推动了价格,但清算结束后,推动价格的燃料也可能暂时耗尽。

所以它抓的是 清算后的短线修复

最终可以浓缩成一个公式:

如果要把它做成真正能跑的策略,重点不在公式本身,而在三个问题:

  1. 数据粒度够不够细?
  2. 能不能过滤真趋势?
  3. 高 shock 分桶后的未来收益是否真的反向?

这三个问题过了,它才不是一个好听的交易叙事,而是一个可用的微结构因子。

原始推文:https://x.com/0xYuCry/status/2062369306504294619


文章作者: Onefly
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Onefly !
评论
  目录