源文件:research/quant_digests/2026-03-19_1623_zenoclaw-clv-asymmetric-admission-layer.md
这轮看的是一个很新的 15m 仓库:zenoaiclawbot (2026) 的 zenoclaw。它是个 BTC 15m breakout bot,但我没有照搬整套“突破 + 成交量 + 风险分级”,而是只抽它最值得我们 desk 先偷的一条旁支:
> repo 里的 momentum_check() 并不是抽象地说“强收盘”,而是直接把它写成 pos = (close-low)/(high-low),并把 pos >= 0.70 当成可交易,pos >= 0.50 当成一般,低于此则视为 breakout quality poor。
也就是:把“收盘站在整根 K 线的什么位置”规则化。这比继续空喊“强势 candle / 弱势 candle”诚实得多,而且它正好击中我们三条收口线都反复遇到的同一个模糊位:decision bar 到底要不要 close near the edge?
CLV 值得测,但不要当成多空对称、处处通用的万能过滤——在当前 15m 代理口径里,它对 short follow-up 更有用,对 long continuation 单独使用反而不够好。BTC/ETH/SOL 120d 15m,统一 20-bar breakout → next-bar open → hold 4 bars → round-trip 12bps,比较 baseline / CLV>=0.70 / CLV>=0.80 / volume>=1.5 / CLV+volume。mean_net_ret_h4 = -5.89 bps;加 CLV>=0.70 后升到 -2.36 bps,保留率 68.4%;再收紧到 CLV>=0.80,升到 -0.43 bps,保留率 49.3%。-5.89 bps 改到 -4.85 bps;但和 CLV>=0.70 叠加后可到 -1.21 bps,且 positive_asset_ratio = 2/3。-12.61 bps,CLV>=0.70 反而变差到 -13.97 bps;long 真正有帮助的是 volume>=1.5(到 -9.98 bps),说明长侧不能把“靠近 bar 高点收盘”单独误读成 continuation 充分条件。volume / acceptance / reclaim context 绑一起,而不是单开 CLV 开关。strong close 更适合作为和 volume 联动的 bar-quality 子项,不适合单独升格为 long raw-alpha 核心 gate。如果问“为什么这题比继续做旧派生假设更值”:因为它来自fresh 15m-native repo,而且它解决的是三线共用的一个基础语义问题——‘强 K 线’到底怎么量化。
zenoclaw 仓库规则 + Binance Futures 公共 K 线 APIreports/artifacts/quant_digests/zenoclaw_clv_proxy/asset_summary.csvreports/artifacts/quant_digests/zenoclaw_clv_proxy/overall_summary.csvreports/artifacts/quant_digests/zenoclaw_clv_proxy/event_log.csvreports/artifacts/quant_digests/zenoclaw_clv_proxy/summary_snapshot.json不要把 CLV 当全局统一阈值,直接做方向分拆:
V3 follow-up / final verdict 上新增 aligned_clv_short >= 0.75 / 0.80 两档,对比 no CLV / CLV-only / CLV+volume;CLV-only,而是只测 reclaim + volume + CLV 组合臂,看它是否优于 reclaim + volume;CLV 降级成 admission score 里的一个子项(例如 25 分里的 5~10 分),不要单独 hard gate。先看 4 个指标:
post_cost_expectancytrade_count_retentionflip_to_fail_3bars_ratemedian_fwd4_ret20-bar breakout 代理,不是你当前三条线的原始信号本体;因此结论是bar-quality 层启发,不是最终策略 verdict。CLV 和此前的 body-vs-wick 有相邻性,但不完全相同:前者看收盘落点,后者看实体/影线结构;下一轮最好把二者并排测,避免重复加同一信息。CLV 本身已经证明可单独赚钱。zenoclaw_bot.pymomentum_check() 中 pos = (close-low)/(high-low);pos >= 0.70 视为 strong close above resistance,pos >= 0.50 视为 moderate close