源文件:research/quant_digests/2026-04-18_0049_auction-profile-poc-lvn-shell.md
README.md + src/strategies/volume_profile.py)看了 mefai-dev (2026) 的 GitHub repo Mefai Autotrade,重点不是它 README 里那堆“20+ strategies”,而是源码里的 src/strategies/volume_profile.py。这个模块已经把一条可直接落地的短周期策略壳写得很完整:
POC(成交最密集价)、VAH/VAL(70% 成交价值区上下沿)、HVN/LVN(高/低成交节点);POC bounce、value-area edge re-entry、LVN breakout;POC/VA 目标位、ATR stop、risk_pct 仓位归一都在源码里。repo 元数据也说明它是很新的仓:创建于 2026-03-25,最近一次 push 在 2026-04-08。
base alpha 很清楚:不是泛“技术分析确认层”,而是 auction-market 里的两段式 raw alpha。
更直白地说:
VAH/VAL 内,往往会继续朝 POC 这个“最拥挤成交价”回归;LVN 这种低成交真空带,往往会更快滑向下一块有成交承接的区域。所以它不是单纯 mean reversion,也不是单纯 breakout,而是一个很适合 desk 的“拍卖结构路由器”:
这比继续写一篇泛 BB/RSI/EMA 壳更值钱,因为当前索引里几乎还没有把 volume profile / auction structure 当成主主题展开。
源码用最近 session_bars 根 K 线建 profile,默认:
num_bins = 50value_area_pct = 70%session_bars = 288(正好对应 288 x 5m = 1 天)实现上不是 tick 级真 profile,而是把每根 bar 的成交量均匀分摊到其覆盖的价格 bins。这个做法不完美,但对 5m/15m 最小实验已经够诚实,因为它只需要公开 OHLCV 就能复刻。
(a) POC bounce
POC 足够近(默认 0.1% 内),POC 下方就做多,在 POC 上方就做空。这条最像“围绕公平价的短距回归”。
(b) Value-area edge re-entry
VAH 外、这一根重新回到 VAH 内:做空;VAL 外、这一根重新回到 VAL 内:做多。翻成人话:价格试图逃离高成交区,但又没逃出去,回到价值区时,先按失败逃逸处理。
(c) LVN breakout / traverse
LVN 中部:做多;LVN 中部:做空。这条不是“突破就追”那么粗糙,本质更像:低成交区像空气层,价格一旦进去,容易更快滑向下一块有成交承接的区域。
源码里的完整壳:
POC;若方向关系不合,就退到 VAH/VALATR stop,默认 atr_stop_mult = 1.5calculate_position_size(account_balance, entry, stop, risk_pct)risk_pct = 1.0poc / va_high / va_low / vwap / hvn_count / lvn_count也就是说,这不是“只有信号没有交易壳”的半成品;它已经满足我们这轮优先级里最重要那条:可直接落地为完整策略。
最近几天已经很密的方向包括:
但 volume profile / auction structure 几乎没被作为主 alpha 母板认真展开。这个主题刚好补空位,而且不依赖私有 L2、也不需要 prediction market 外部数据。
它天然适合 5m/15m,也能往 1m/3m 下钻:
5m:先做 session profile + POC/VA/LVN 母版;15m:适合做更粗的 acceptance / rejection;1m/3m:可把 LVN traverse 做得更接近 execution-aware routing。最小可复现实验只需要公开 OHLCV。
这点比很多看起来更“高级”的 microstructure 题更现实。
这份代码最值钱的是把 auction 结构拆成了 entry/exit/risk 的完整语言,不是默认参数本身:
POC proximity 0.1%VA proximity 0.15%50 bins70% value area这些数值大概率都要重标。不同币、不同周期、spot/perp 都不会一样。
源码不是逐笔 volume-at-price,而是把整根 bar 的量均匀撒进价格区间。这会带来两个问题:
所以这更像低成本第一版研究母板,不是最终 production 口径。若最小实验有感觉,下一步就该升级到:
1m 先建 profile,再聚合到 5m/15m 做交易。源码里 POC bounce 逻辑非常激进:只要足够接近 POC,下方就多、上方就空。这个写法容易在单边趋势里被反复打脸。
相比之下,我觉得更值得优先测的是两条:
因为这两条更贴近 auction-market 的“接受/拒绝”叙事,也更容易做出干净的事件定义。
BTCUSDT / ETHUSDT / SOLUSDT perpetual5m,再看 15m1d(288 根 5m)或 2dprev_close > VAH 且 close <= VAH → next bar open shortprev_close < VAL 且 close >= VAL → next bar open longPOC 止盈1.5 x ATR 止损max holding = 12~24 barspost-cost expectancy、hit rate to POC before stop1m/3m/5mLVN midpointHVN / VA edge1R~1.5R穿越后 1/3/5 bar MFE、反向回抽概率如果 A/B 单独不过线,也值得测:
这份 repo 真正值得拿走的,不是“volume profile 很酷”,而是:它把 auction-market 结构翻译成了一个可直接回测的完整策略壳。 对当前 short-cycle desk,最该先测的不是 POC 附近瞎抄底摸顶,而是 VA re-entry -> POC 的失败逃逸回归腿,以及 LVN traverse 的低成交空洞穿越腿。
POC bounce、VA re-entry、LVN traverse 不要混在一起。hit POC / hit next HVN / stop-first 概率,先判断哪条腿真的有 edge。https://github.com/mefai-dev/mefai-autotradehttps://github.com/mefai-dev/mefai-autotrade/blob/master/src/strategies/volume_profile.pyhttps://raw.githubusercontent.com/mefai-dev/mefai-autotrade/master/src/strategies/volume_profile.pycreated_at=2026-03-25, pushed_at=2026-04-08