docs: Add Smart Validation threshold optimization findings (n=200 backtest)

- Backtested 200 random DATA_COLLECTION_ONLY signals
- Validated initial n=11 finding at scale
- CURRENT (±0.3%): +0.169% avg, 67.9% WR, 14% entry rate (WINNER)
- OPTION 1 (±0.2%): -0.363% avg, 43.1% WR, 26% entry rate
- OPTION 2 (±0.15%): -0.524% avg, 35.6% WR, 36% entry rate
- Key insight: Lower thresholds catch more losers than winners
- Decision: Keep current ±0.3% thresholds (statistically validated)
This commit is contained in:
mindesbunister
2025-12-01 00:42:58 +01:00
parent 9d2055e59c
commit d4ecbcd168

View File

@@ -4573,6 +4573,18 @@ trade.realizedPnL += actualRealizedPnL // NOT: result.realizedPnL from SDK
- **Purpose:** Recover profits from marginal quality signals (50-89) that would otherwise be blocked
- **Strategy:** Queue blocked signals, monitor 1-minute price action for 10 minutes, enter if price confirms direction
- **Implementation:** `lib/trading/smart-validation-queue.ts` (330+ lines)
- **Threshold Optimization (Dec 1, 2025):**
* **Backtest:** 200 random DATA_COLLECTION_ONLY signals (Nov 19-30, 2025)
* **Results:**
- **CURRENT (±0.3%):** 28/200 entries (14%), 67.9% WR, +4.73% total, **+0.169% avg** ✅
- OPTION 1 (±0.2%): 51/200 entries (26%), 43.1% WR, -18.49% total, -0.363% avg
- OPTION 2 (±0.15%): 73/200 entries (36%), 35.6% WR, -38.27% total, -0.524% avg
* **Finding:** Lower thresholds catch significantly more losers than winners
- 0.3% → 0.2%: 23 more entries, 3 more winners, 20 MORE LOSERS (-23.22% P&L degradation)
- 0.2% → 0.15%: 22 more entries, 4 more winners, 18 MORE LOSERS (-19.78% P&L degradation)
- Pattern: Lower threshold = higher entry rate but WR collapses (68% → 43% → 36%)
* **Statistical validation:** n=200 sample confirms initial n=11 finding held true at scale
* **Decision:** Keep current ±0.3% thresholds (optimal risk/reward balance)
- **Core Logic:**
* **Queue:** Signals with quality 50-89 (below 50 = hard block, 90+ = immediate execution)
* **Monitor:** Check price every 30 seconds using market data cache