5 Commits

Author SHA1 Message Date
Brent Neale 98cc843d14 Update S8_OB to best sweep params (DISP=2.5, TP1=2.0, Window=40)
IS PF improved from 1.02 to 1.39, reducing IS/OOS divergence.
Portfolio: IS +1,089 pips PF=1.31, OOS +643 pips PF=1.55, Gen=1.473 PASS.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:12:43 +10:00
Brent Neale ea5472b737 Add S8 Order Block (GBP_USD/M15) to Phase 2 portfolio
Tested all 9 untested strategies across 22 pair combos. S8 Order Block
on GBP_USD was the standout: OOS PF=2.14, WR=65.4%, Gen=1.850 PASS.
Parameter sweep confirmed DISPLACEMENT_ATR=2.0, TP1_ATR_MULT=1.0,
OB_RETEST_WINDOW=40 as best params (all top-5 PASS OOS validation).

Portfolio now 4 strategies: S7_Tight, S9_Filtered, S3, S8_OB.
OOS portfolio: 82 trades, PF=1.61, WR=64.6%, Sharpe=2.98, +672 pips.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 21:00:30 +10:00
Brent Neale bdab78ee48 Add S10 VWAP Mean Reversion and S11 ADX Trend Pullback strategies, drop both from portfolio
Implemented two M15 intraday strategies to diversify the portfolio:
- S10: VWAP mean reversion in ranging markets (ADX<30, RSI(9) extremes)
- S11: ADX trend pullback to 20 EMA in strong trends (ADX>30, rising)

Added rsi_9 and atr_10 to the indicator pipeline for both strategies.

Backtested on IS (2021-2022) and OOS (2023): both strategies produced
insufficient trade counts on M15 and failed generalization. S10 best
result was EUR_GBP at Gen 0.65 (WARN). S11 collapsed to 0% WR OOS
across all param sweep combos. Both dropped from active portfolio —
3-strategy core (S7_Tight, S9_Filtered, S3) remains unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:23:23 +10:00
Brent Neale 9c5d55ec46 Refine Phase 2 portfolio: data-driven filters, drop S4F and S9
S7: add RSI floor (RSI<40 = 0% WR) and ATR percentile cap (high-vol
regime = worse RR). IS flips from PF 0.68 to 1.52, OOS holds at 1.80.

S3: add confluence gate (C>=4) and skip hours 09-10 (0% WR). IS PF
1.06 -> 1.22, OOS PF 1.07 -> 1.23.

S9_Filtered: add skip_monday (unreliable Asian ranges after weekend
gaps). IS PF 1.10 -> 1.31, OOS holds strong at 2.26.

Drop S9/GBP_USD (negative PF across all param combos) and S4F/EUR_AUD
(overfit: IS 1.43 collapses to OOS 0.48). 3-strategy portfolio: all
PASS generalization, IS PF 1.29, OOS PF 1.55, Gen 1.46.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:25:09 +10:00
Brent Neale 4f911b2072 Add Phase 2 backtesting pipeline: IS/OOS split, param sweep, generalization scoring
Externalize hardcoded params in S4F (5 params) and S3 (9 params) as class
attributes for sweep compatibility. Add unified backtest runner with IS/OOS
validation and generalization scores, plus parameter grid sweep (90 combos)
with OOS validation. S7/S9/S9_Filtered pass generalization; S4F/S3 confirm
defaults are near-optimal.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:25:08 +10:00