← 返回 Quant Digests · 站点首页

别把 anti-chop 继续写成单轴阈值:`MTF CHOP charged-up count` 在 15m 更像 `Fib retest_hold` 的 long-side veto,不是 breakout-short 的统一放行键

更新时间:2026-03-20 00:05 UTC 研究时间:2026-03-20 00:08 UTC 类型:GitHub + 本地代理快检 主题标签:breakout-short/fibonacci/retest-hold/ema/psar/choppiness/anti-chop/mtf/regime/veto/risk-overlay/repo/crypto/15m 证据类型:工程证据(仓库源码)+ 代理快检(公开行情)

源文件:research/quant_digests/2026-03-20_0008_mtf-chop-chargedup-retest-veto-gate.md

1. 这次看了什么

主来源是 GitHub 仓库 thibaulthenry/mtf-chop-index (2022)。这个脚本把 CHOP(Choppiness Index)做成了多周期并行读数,并给出“charged-up”(进入高震荡)计数。

代码里有两个对我们 5m/15m 特别实用的点: 1) 它不是只看单一 TF 的 CHOP,而是同时看多条 TF(可静态指定,也可按当前 TF 倍数扩展); 2) 它把“高震荡”做成计数对象(>=1, >=2, ...),天然适合当 regime gate / veto layer,而不是主入场信号。

> 注:该仓库 request.security(..., lookahead=barmerge.lookahead_on) 在实盘/回测里有前视风险,不能原样抄;本轮只借用“多周期 charged-count”这个思路。

2. 核心结论

代理快检关键读数(15m, forward=4 bars): 1) Retest-hold proxycharged>=2 的中位数约 -20.69 bpscharged<=1-2.93 bps;fail rate 60.87% vs 53.05%(n=23 vs 1785)。 2) Retest long 子样本charged>=2 中位数约 -31.80 bpscharged<=1-2.93 bps;fail rate 71.43% vs 53.49%(n=14 vs 873)。 3) Breakout continuation proxy(多空合并)charged>=2charged<=1 差异不稳定(中位数都为负,且样本量严重不平衡:66 vs 2841),不支持把它升级成统一 admission gate。

3. 为什么和当前项目有关

这轮是继续帮三条线收口,不是开新坑:

4. 可复刻的最小实验

研究假设

在 15m,MTF CHOP charged_count 作为 veto(而非入场)会先改善 retest_hold long 的失败率与左尾,而不是直接提升所有 breakout continuation 的胜率。

一个可计算定义(最小版)

最小回测切口

最先看 3 个指标

  1. post_cost_return
  2. fail_rate_4bars
  3. left_tail_pnl_p5

5. 风险与保留意见

6. 来源

  1. Thibault Henry. (2022). *mtf-chop-index*. GitHub Repository.
  1. TradingView Support. (n.d.). *Choppiness Index (CHOP)*.
  1. Binance Developers. (2026). *USDⓈ-M Futures REST API — Kline/Candlestick Data*.

---

附:本轮代理快检产物