← Back to Reviews

20260114_092355_doge_bear_protector.md

# AI Review: doge_bear_protector **Date:** Wed Jan 14 09:23:55 CET 2026 **Strategy File:** /root/trade_rules/strategies/doge_bear_protector.py --- ```json { "score": 35, "flags": ["overfitting", "inconsistent", "concentration"], "review": "## Defensive Strategy Review: doge_bear_protector\n\n### Critical Issues\n\n**1. Severe Year-to-Year Inconsistency (Major Red Flag)**\n\nThe strategy shows extreme performance variance across different years:\n- One year: -53.9% (massive loss)\n- Another year: 27.7% (strong gain)\n- Sharpe ratios swing wildly from -1.78 to +0.75\n- Max drawdown of 44.8% in one year violates the 30% defensive role limit\n\nThis pattern indicates the strategy is **highly regime-specific** rather than robust. A defensive strategy must provide consistent downside protection across multiple market environments, not just work in one favorable period while catastrophically failing in others.\n\n**2. Complex Entry Filter Stack (6+ Conditions)**\n\nThe entry logic chains together 6 distinct conditions:\n1. `bear_bars >= 20` (sustained regime check)\n2. `ema50 < ema100 < ema200` (cascade)\n3. 20-bar low calculation\n4. `closes[i] < low_20` (breakdown)\n5. `30 < rsi < 50` (specific RSI range)\n6. No existing position check\n\nThis violates the \"no more than 5-6 entry conditions\" guideline and creates a **highly specific pattern** that may not recur. Each additional filter exponentially reduces trade frequency and increases curve-fitting risk.\n\n**3. Magic Number Parameters**\n\nSeveral non-standard values appear:\n- `bear_bars >= 20` - why exactly 20 consecutive bars?\n- `30 < rsi < 50` - narrow RSI band suggests parameter optimization\n- `stop_pct = max(4, min(..., 8))` - 4% and 8% bounds seem fitted\n- `take_profit_pct = stop_pct * 2.5` - why 2.5x specifically?\n- 20-bar lookback for low - not a standard value (should be 20, which it is, but combined with other lookbacks creates complexity)\n\nWhile individual values may be reasonable, the **combination** suggests these were tuned together to fit historical patterns.\n\n**4. RSI Range Filtering**\n\nThe condition `30 < rsi_vals[i] < 50` is a narrow band that likely emerged from backtesting to avoid losses. This type of \"sweet spot\" filtering is a classic overfitting pattern - it works great on past data but fragile to market changes.\n\n### Minor Issues\n\n**5. Consecutive Regime Counter Logic**\n\nThe `bear_bars` counter resets to zero on any single bar break, requiring an uninterrupted 20-bar sequence:\n```python\nfor j in range(max(0, i-50), i+1):\n if ema50[j] < ema200[j]:\n bear_bars += 1\n else:\n bear_bars = 0 # Hard reset\n```\n\nThis makes the strategy hypersensitive to brief noise and may miss valid downtrends with minor interruptions.\n\n**6. Role Mismatch Potential**\n\nWhile classified as \"defensive,\" the strategy:\n- Shows 44.8% drawdown in one year (far exceeds 30% limit)\n- Has negative overall return (-27.4%)\n- Only profits in specific bear market conditions\n\nTrue defensive strategies should **consistently** protect capital across various environments, not just succeed in ideal downtrends.\n\n### What's Actually Good\n\n- Uses only relative indicators (EMAs, ATR, RSI)\n- No specific price levels or dates\n- Executes on next bar (realistic)\n- Clear documentation\n- Proper warmup period (200 bars)\n- EMA cascade concept is sound\n\n### Bottom Line\n\nThis strategy likely **overfit to one or two favorable years** in the training data where extended DOGE bear markets aligned perfectly with the narrow entry criteria. The catastrophic -53.9% year and extreme Sharpe volatility prove it's not robust. The validation period success appears to be **luck matching one regime** rather than genuine edge.\n\nA defensive strategy must be consistent - this one is a coin flip depending on market structure.", "rule_suggestion": "**Year-over-Year Consistency Requirement**: For defensive and hedge roles, reject strategies where:\n- More than one year shows returns below role minimum (defensive: 0%, hedge: 0%)\n- Standard deviation of annual Sharpe ratios exceeds 1.0\n- Any single year exceeds max drawdown limits by >50% (e.g., 45% DD when limit is 30%)\n- Absolute difference between best and worst year returns exceeds 60 percentage points\n\nRationale: Defensive strategies must provide consistent protection, not just work during one lucky period. Extreme year-to-year variance indicates regime-specific overfitting rather than robust edge." } ```