← Back to Reviews

20260115_004055_vwap_sol_session_pullback.md

# AI Review: vwap_sol_session_pullback (1-Minute) **Date:** Thu Jan 15 00:40:55 CET 2026 **Strategy File:** /root/trade_1m/strategies_rejected/vwap_sol_session_pullback.py --- ```json { "score": 35, "flags": ["cost_sensitive", "execution", "inconsistent", "concentration"], "review": "## Critical Issues\n\n### 1. Cost Sensitivity - Fatal Flaw\n- **Average trade: ~0.01%** (calculated from 10.16% return / ~1650 trades across all periods)\n- With 0.10% round-trip costs, this strategy is **deeply underwater**\n- Validation period shows -2.58% return with Sharpe of -3.58, confirming cost death\n- The 24-hour cooldown creates low frequency but **doesn't create edge per trade**\n\n### 2. Execution Reality at 1-Minute Scale\n- **Same-bar cross detection is dangerous**: Checking `prev_close < vwap_val` and `current_close > vwap_val` means you're trying to enter ON the close of the cross bar\n- At 1-minute timeframe, by the time you detect the cross and the 0.15% move, the bar has closed and price has moved\n- Real execution would be next bar open, dramatically reducing or eliminating the 0.30% TP edge\n- No next-bar validation that the edge persists\n\n### 3. Inconsistent Performance Profile\n- Returns wildly swing: +6.8% → -5.2% → +10.0% → -0.1% → +2.4% → -3.7%\n- No stable edge across market conditions\n- Positive performance appears concentrated in 2020 and 2022 (likely trending years)\n- **Mean reversion strategy struggling in different regimes**\n\n### 4. Edge Logic Questionable\n- 0.15% cross strength filter seems arbitrary (why not 0.10% or 0.20%?)\n- VWAP mean reversion at 1-minute scale fights momentum, not harvests it despite claims\n- 0.30% TP vs 0.20% SL is 1.5:1 R:R but needs >40% win rate to break even after costs\n- Strategy achieves ~41-51% win rate but with tiny avg trade that gets crushed by costs\n\n### 5. False Microstructure Claim\n- **Claims to trade \"strong momentum\"** but actually trades mean reversion to VWAP\n- True 1-minute microstructure edge would be VWAP rejection bounces or continuation through VWAP with volume\n- This strategy enters AFTER the move, hoping for continuation, but exits quickly (30 bars = 30 minutes)\n- Mixed timeframe confusion: detecting fast moves but holding for mean reversion\n\n### 6. Parameter Concerns\n- `vwap_period=60` (1 hour) is reasonable\n- But `cross_min_strength=0.15%` appears optimized rather than logical\n- Why 0.15%? Why not 0.1% (10bps, a natural spread level) or 0.2% (20bps)?\n- `cooldown_bars=1440` (24h) is extremely conservative but doesn't create edge\n\n## What Actually Happens\n\n1. Price crosses VWAP by 0.15%+ in one bar\n2. Strategy enters at close of that bar (or more realistically, next bar open)\n3. By next bar, the momentum impulse is **already done**\n4. Strategy sits in position hoping for continuation\n5. Gets stopped out or time-stopped at small profit/loss\n6. Net result: ~0.01% per trade before costs, deeply negative after\n\n## Why Validation Failed\n\nValidation return of -2.58% with Sharpe -3.58 is **conclusive evidence** this doesn't work out-of-sample. The strategy likely got lucky in 2020 and 2022 training months but has no real edge.\n\n## Cost Analysis\n\n- Needs ~1650 trades over 6 years = ~275 trades/year\n- At 0.10% round-trip: -27.5% per year in costs alone\n- Strategy returns maybe +2-3% per year pre-cost in training\n- **Impossible to survive real trading**\n\n## Fundamental Problem\n\nThis strategy confuses **detecting** fast moves with **profiting** from them. By the time you detect a 0.15% cross and enter, the edge is gone at 1-minute scale. Real microstructure strategies either:\n- Trade reversals at extremes (RSI <20, price 2 ATRs from VWAP)\n- Trade continuation with confirmation (volume, next-bar follow-through)\n- Provide liquidity at better-than-market prices\n\nThis does none of those.", "rule_suggestion": "VWAP cross strategies at 1-minute must validate edge persistence: require next-bar confirmation that price stays on the crossed side of VWAP, or reduce target to <0.20% for quick scalp exits. Cross detection on current bar close with entry next bar open must show positive expectation in that exact configuration. Average trade must exceed 0.10% pre-cost to survive real execution." } ```