← Back to Reviews

20260115_004052_vwap_eth_momentum_breakout.md

# AI Review: vwap_eth_momentum_breakout (1-Minute) **Date:** Thu Jan 15 00:40:52 CET 2026 **Strategy File:** /root/trade_1m/strategies/vwap_eth_momentum_breakout.py --- ```json { "score": 78, "flags": [ "cost_sensitive", "execution" ], "review": "## VWAP Momentum Breakout Strategy Review\n\n### Strengths\n\n**Clear Microstructure Logic**: The strategy correctly identifies VWAP as an institutional anchor point and trades momentum breakouts. The 0.50% threshold is substantial enough to filter noise at 1-minute scale.\n\n**Cost-Aware Design**: The 12-hour cooldown (720 bars) dramatically reduces trade frequency, which is critical for cost survival. Target of 0.30% vs 0.20% stop provides 1.5:1 R:R ratio that can overcome friction.\n\n**Volatility Regime Filters**: ATR z-score filters (entry < 1.5, emergency exit > 2.0) appropriately avoid chaotic market conditions where slippage explodes.\n\n**Directional Bar Confirmation**: Requiring bullish bar for long entries (close > open) and bearish bar for shorts adds microstructure validation beyond just VWAP distance.\n\n**Consistent Performance**: Strong Sharpe progression (1.14 → 3.46 across periods) and profitable across all time periods demonstrates robustness across different market regimes.\n\n### Critical Issues\n\n**Same-Bar Execution Risk**: The strategy evaluates conditions and enters on the SAME bar where the breakout occurs. At 1-minute timeframe, this is dangerous:\n- You measure `vwap_deviation` using `current_bar.close`\n- You check `is_bullish_bar` using that same bar's OHLC\n- You then assume you can enter at reasonable prices within that same 1-minute window\n- In reality, by the time you detect \"close > open\" at bar close, the opportunity may be gone\n- **Recommendation**: Entry logic should trigger on bar N but execute at open of bar N+1, or use a \"breakout + confirmation\" pattern where you enter the bar AFTER the breakout bar.\n\n**Cost Sensitivity Despite Low Frequency**: While the cooldown helps, let's verify edge survival:\n- Total trades across training: ~2,977 trades (561+661+587+320+388+460)\n- Total return: ~52.6%\n- Avg return per trade: 0.0177% (1.77 basis points)\n- With 0.10% round-trip cost: -0.0823% net per trade\n- **This fails the cost test** - the raw edge (1.77bp) cannot overcome realistic slippage (10bp)\n\nHowever, validation shows 1.03% return, suggesting the strategy may still have merit if the cost model in backtest already includes some friction. The issue is ambiguous without knowing if costs are already baked in.\n\n**VWAP Calculation Ambiguity**: Using 60-period rolling VWAP means the \"anchor\" constantly shifts. Institutional VWAP typically resets daily or at session boundaries. A rolling window may not capture the same institutional reference point:\n- Rolling VWAP = moving average-like behavior\n- Session VWAP = true institutional fair value anchor\n- The strategy may be trading mean reversion to a moving average rather than institutional flow\n\n**ATR Caching Implementation**: The strategy caches ATR in state but recalculates the entire array each time `atr()` is called during warmup/init. This isn't a logic error but suggests the ATR should be incrementally updated rather than fully recalculated, though this is a performance issue rather than correctness.\n\n### Minor Concerns\n\n**Win Rate Consistency**: Win rates are consistently in low-to-mid 40% range (42.6%-49.2%). For a momentum breakout strategy, this is reasonable but leaves little margin for execution slippage—one or two missed fills per month could flip profitability.\n\n**Max Hold Time**: 20-bar (20-minute) max hold is reasonable for 1-minute microstructure, but the strategy doesn't show what percentage of trades hit this time-stop vs TP/SL. If most trades expire via time-stop, the edge may not be directional momentum but rather market microstructure noise.\n\n**Parameter Round Numbers**: Good use of round numbers (20, 60, 720) rather than optimized values like 17, 63, 687. This reduces overfitting risk.\n\n### Verdict\n\nThe strategy demonstrates solid conceptual understanding of VWAP-based momentum trading and shows consistent performance across multiple periods. However, **same-bar execution at 1-minute scale is a serious practical concern**, and **cost sensitivity calculations suggest the edge may be marginal or negative after realistic slippage**.\n\nThe validation return of 1.03% on unseen data is promising but doesn't overcome the structural execution concerns. The strategy would benefit from:\n1. Next-bar entry logic to avoid look-ahead at 1-minute scale\n2. Explicit cost modeling in backtest (if not already present)\n3. Consideration of session-based VWAP rather than rolling window\n\n**Score: 78/100** - Good conceptual foundation with solid microstructure awareness, but execution realism and cost survival remain borderline. Not a rejection, but needs refinement for live deployment.", "rule_suggestion": "For 1-minute breakout strategies: Entry signals detected on bar N should execute at open of bar N+1, not same-bar close. Same-bar execution creates lookahead bias at microstructure timeframes where signal detection and order submission cannot occur simultaneously within a 60-second window." } ```