源文件:research/quant_digests/2026-03-20_0851_same-clock-intraday-rvol-volume-gate.md
这次主看一个很新的 GitHub 仓库 ycchew/CQ_breakout_strategy(2026-03 创建)。真正值得偷的,不是 repo 里那些日线股票 breakout 参数,而是它在 indicators/volume.py 里单独写出来、但很多 desk 会忽略的一层:calculate_intraday_rvol 会把当前 bar 的成交量,拿去和“历史同一时刻的 bar”比较,而不是拿最近 20 根滚动均量硬比。
same-time-of-day 的 RVOL 计算骨架;我又用 Binance Futures BTCUSDT 15m 公共 K 线做了一个最小快检,看 naive RVOL 和 same-clock RVOL 到底有多常打架。naive_rvol > 1.5 当“放量”,会有 3.96% 的 bar 属于“naive 看着像 spike,但 same-clock 其实只是正常”;反过来有 2.57% 的 bar 是“same-clock 真 spike,但 naive 看不出来”。dry-down 更敏感:若把 rvol < 0.7 当“缩量”,则有 10.83% 的 bar 是“naive 说缩量、same-clock 不认”,另有 20.07% 的 bar 是“same-clock 认缩量、naive 没认”。这对 Fib retest_hold 很关键,因为我们最近不少确认层正依赖“回踩时量能降下来”。这轮不是偏题,反而是在给三条收口线补一个共同的“地基洞”:你现在很多 confirmation layer 都在用 volume,但 volume 本身若没先做时段归一化,后面的 gate 很容易是伪精细。
rolling mean 会把“正常活跃时段”误判成 spike,也会把冷时段里的真正异常量漏掉。repo 的 calculate_intraday_rvol 大意是:
HH:MM 时刻;当前量 / 历史同 slot 均量 得到 intraday_rvol。把它翻回我们 desk 语言,就是:
14:30 只和历史 14:30 比;21:45 只和历史 21:45 比;这很适合当前阶段,因为它不是又加一个复杂外部数据源,也不是重做主信号;它只是把已有 volume gate 的计量口径修正得更诚实。
把当前所有 volume confirmation / dry-down 从 naive rolling RVOL 改成 same-clock RVOL 后,能减少 false confirm,并保留更多真正有信息的慢时段 setup。
HH:MM 维护过去 N=20 次同 slot 的均量:slot_avg_vol_t = mean(volume at same HH:MM over past N occurrences)slot_rvol = volume / slot_avg_vol_tslot_dry = slot_rvol < 0.7slot_spike = slot_rvol > 1.5rolling 20-bar RVOLvolume confirm 从 naive RVOL 改成 slot_spike;比较 4~8 bars 内回抽失败率。slot_dry,重破阶段用 slot_spike;看 hold confirmed 后的 N-bar continuation 是否更干净。post-cost expectancy。post-cost expectancyfalse-follow / false-hold rate(入场后 4~8 根内回到 opposite edge 或失守确认线)event / jump blackout。https://github.com/ycchew/CQ_breakout_strategyhttps://github.com/ycchew/CQ_breakout_strategy/blob/master/README.mdhttps://github.com/ycchew/CQ_breakout_strategy/blob/master/indicators/volume.pyhttps://github.com/ycchew/CQ_breakout_strategy/blob/master/strategies/breakout.pyN/Aycchewhttps://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Kline-Candlestick-Datahttps://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=15m&limit=1500N/A--- 快检文件:
reports/artifacts/literature/same_clock_intraday_rvol_quickcheck_2026-03-20.jsonreports/artifacts/literature/same_clock_intraday_rvol_slot_stats_2026-03-20.csvreports/artifacts/literature/same_clock_intraday_rvol_examples_2026-03-20.csv