源文件:research/quant_digests/2026-03-22_1743_heikin-ashi-neutral-state-veto.md
这轮主看了两个仓库的“旁支信息”,不是抄主策略收益:
heikin_ashi_ema 放进策略菜单,提示 HA 在实盘社区里常被当作“降噪层”。对我们 desk 真正有价值的是: > HA 更像“状态过滤器”,尤其是把“中性/纠缠状态”先 veto,而不是再造一个主 alpha。
neutral-state veto 比当“方向预测器”更诚实,直接服务三条收口线的 avoid-chop / follow-up 问题。neutral 桶在 breakout 代理事件里明显更差。样本口径:BTCUSDT/ETHUSDT/SOLUSDT,Binance Spot 公共 klines,成本代理 10~12 bps roundtrip。
raw_flips 1090 -> HA_flips 1024(-6.06%)raw_flips 1693 -> HA_flips 1621(-4.25%)raw_net_logret 0.398 -> HA_net_logret 1.163raw_net_logret -0.491 -> HA_net_logret 0.032neutral:n=252,mean_net4 = -0.0027,fail2_ratio = 65.08%aligned:n=666,mean_net4 = -0.0010,fail2_ratio = 59.16%> 解读:这组证据更支持“先排除 HA-neutral”,而不是“HA 同向就必胜”。
它直接贴三条收口线:
HA-neutral,避免在纠缠段追 continuation;GET /api/v3/klines(公开可得)BTCUSDT / ETHUSDT / SOLUSDT15m(60d) + 5m(30d)HA_close=(O+H+L+C)/4HA_open=(prev_HA_open + prev_HA_close)/2EMA9/21/50 的 bull/bear/neutral 三态flip count、net_logret proxy、4-bar forward net、2-bar fail ratio按三条收口线做 A/B/C(同成本、同样本、同执行延迟):
A = baseline(无 HA 过滤)B = HA-neutral veto(仅允许 state != neutral)C = HA directional gate(要求 state == signal direction)统一比较 4 个指标:
post_cost_expectancytp_first - sl_firsttrade_count_retentiontimeout_share判定规则建议:
net_logret 为统一简化成本口径,不能直接当 production PnL;neutral 视作更稳妥的 first veto 候选。main.py(4h EMA bias + 1h HA indecision/confirm)reports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/ema_stack_raw_vs_ha_summary.csvreports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/ema_stack_raw_vs_ha_5m15m_summary.csvreports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/ema_stack_raw_vs_ha_5m15m_pooled.csvreports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/breakout_proxy_events_with_ha_state.csvreports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/breakout_proxy_ha_state_alignment_summary.csvreports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/breakout_proxy_ha_state_alignment_side_split.csvreports/artifacts/quant_digests/heikin_ashi_phase_gate_proxy_20260322/metadata.json