Files
fx-quant/results/phase2/test_all_strategies.json
Brent NealeandClaude Opus 4.6 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

696 lines
13 KiB
JSON

{
"S1_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 27,
"wr": 22.2,
"pf": 0.4,
"sharpe": -5.97,
"pnl_pips": -246.3,
"max_dd_pips": -283.4,
"expectancy": -9.12
},
"oos_metrics": {
"trades": 7,
"wr": 42.9,
"pf": 0.97,
"sharpe": -0.24,
"pnl_pips": -3.6,
"max_dd_pips": -40.3,
"expectancy": -0.51
},
"generalization": {
"composite": 0.983,
"detail": {
"wr": 1.932,
"pf": 2.0,
"expectancy": 0,
"sharpe": 0
},
"verdict": "PASS"
}
},
"S1_GBP_USD": {
"pair": "GBP_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 24,
"wr": 45.8,
"pf": 0.93,
"sharpe": -0.51,
"pnl_pips": -15.2,
"max_dd_pips": -93.7,
"expectancy": -0.64
},
"oos_metrics": {
"trades": 9,
"wr": 22.2,
"pf": 0.32,
"sharpe": -8.06,
"pnl_pips": -55.0,
"max_dd_pips": -60.8,
"expectancy": -6.11
},
"generalization": {
"composite": 0.207,
"detail": {
"wr": 0.485,
"pf": 0.344,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S1_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 22,
"wr": 36.4,
"pf": 1.0,
"sharpe": -0.02,
"pnl_pips": -0.5,
"max_dd_pips": -115.0,
"expectancy": -0.02
},
"oos_metrics": {
"trades": 5,
"wr": 20.0,
"pf": 0.12,
"sharpe": -15.3,
"pnl_pips": -37.7,
"max_dd_pips": -31.7,
"expectancy": -7.54
},
"generalization": {
"composite": 0.167,
"detail": {
"wr": 0.549,
"pf": 0.12,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S2_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 310,
"wr": 25.8,
"pf": 0.77,
"sharpe": -1.64,
"pnl_pips": -533.2,
"max_dd_pips": -708.4,
"expectancy": -1.72
},
"oos_metrics": {
"trades": 108,
"wr": 27.8,
"pf": 0.87,
"sharpe": -0.85,
"pnl_pips": -94.6,
"max_dd_pips": -294.3,
"expectancy": -0.88
},
"generalization": {
"composite": 0.552,
"detail": {
"wr": 1.078,
"pf": 1.13,
"expectancy": 0,
"sharpe": 0
},
"verdict": "WARN"
}
},
"S2_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 283,
"wr": 23.3,
"pf": 0.66,
"sharpe": -2.5,
"pnl_pips": -1235.0,
"max_dd_pips": -1314.1,
"expectancy": -4.36
},
"oos_metrics": {
"trades": 96,
"wr": 21.9,
"pf": 0.62,
"sharpe": -3.04,
"pnl_pips": -505.6,
"max_dd_pips": -509.6,
"expectancy": -5.27
},
"generalization": {
"composite": 0.47,
"detail": {
"wr": 0.94,
"pf": 0.939,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S2_GBP_USD": {
"pair": "GBP_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 310,
"wr": 23.9,
"pf": 0.69,
"sharpe": -2.28,
"pnl_pips": -917.9,
"max_dd_pips": -1158.8,
"expectancy": -2.96
},
"oos_metrics": {
"trades": 107,
"wr": 32.7,
"pf": 1.13,
"sharpe": 0.77,
"pnl_pips": 115.2,
"max_dd_pips": -318.7,
"expectancy": 1.08
},
"generalization": {
"composite": 0.751,
"detail": {
"wr": 1.368,
"pf": 1.638,
"expectancy": 0,
"sharpe": 0
},
"verdict": "WARN"
}
},
"S5_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 483,
"wr": 50.3,
"pf": 0.79,
"sharpe": -1.64,
"pnl_pips": -1281.4,
"max_dd_pips": -1608.6,
"expectancy": -2.65
},
"oos_metrics": {
"trades": 158,
"wr": 41.8,
"pf": 0.66,
"sharpe": -3.12,
"pnl_pips": -893.3,
"max_dd_pips": -1033.6,
"expectancy": -5.65
},
"generalization": {
"composite": 0.417,
"detail": {
"wr": 0.831,
"pf": 0.835,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S5_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 499,
"wr": 51.9,
"pf": 0.77,
"sharpe": -1.84,
"pnl_pips": -794.8,
"max_dd_pips": -991.5,
"expectancy": -1.59
},
"oos_metrics": {
"trades": 183,
"wr": 45.9,
"pf": 0.65,
"sharpe": -3.08,
"pnl_pips": -500.4,
"max_dd_pips": -692.8,
"expectancy": -2.73
},
"generalization": {
"composite": 0.432,
"detail": {
"wr": 0.884,
"pf": 0.844,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S6_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 19,
"wr": 21.1,
"pf": 0.22,
"sharpe": -10.66,
"pnl_pips": -465.5,
"max_dd_pips": -523.9,
"expectancy": -24.5
},
"oos_metrics": {
"trades": 4,
"wr": 25.0,
"pf": 0.3,
"sharpe": -7.38,
"pnl_pips": -128.0,
"max_dd_pips": -71.7,
"expectancy": -32.0
},
"generalization": {
"composite": 0.637,
"detail": {
"wr": 1.185,
"pf": 1.364,
"expectancy": 0,
"sharpe": 0
},
"verdict": "WARN"
}
},
"S6_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 13,
"wr": 23.1,
"pf": 0.61,
"sharpe": -3.28,
"pnl_pips": -88.8,
"max_dd_pips": -136.2,
"expectancy": -6.83
},
"oos_metrics": {
"trades": 3,
"wr": 66.7,
"pf": 3.4,
"sharpe": 7.73,
"pnl_pips": 63.2,
"max_dd_pips": -26.3,
"expectancy": 21.05
},
"generalization": {
"composite": 1.0,
"detail": {
"wr": 2.0,
"pf": 2.0,
"expectancy": 0,
"sharpe": 0
},
"verdict": "PASS"
}
},
"S6A_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 8,
"wr": 0.0,
"pf": 0.0,
"sharpe": -28.58,
"pnl_pips": -305.1,
"max_dd_pips": -299.2,
"expectancy": -38.13
},
"oos_metrics": {
"trades": 0,
"wr": 0,
"pf": 0,
"sharpe": 0,
"pnl_pips": 0,
"max_dd_pips": 0,
"expectancy": 0
},
"generalization": {
"composite": 0,
"detail": {},
"verdict": "FAIL"
}
},
"S6A_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 1,
"wr": 0.0,
"pf": 0.0,
"sharpe": 0,
"pnl_pips": -31.9,
"max_dd_pips": 0.0,
"expectancy": -31.9
},
"oos_metrics": {
"trades": 0,
"wr": 0,
"pf": 0,
"sharpe": 0,
"pnl_pips": 0,
"max_dd_pips": 0,
"expectancy": 0
},
"generalization": {
"composite": 0,
"detail": {},
"verdict": "FAIL"
}
},
"S6B_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 15,
"wr": 20.0,
"pf": 0.14,
"sharpe": -14.21,
"pnl_pips": -389.5,
"max_dd_pips": -408.3,
"expectancy": -25.97
},
"oos_metrics": {
"trades": 2,
"wr": 50.0,
"pf": 0.57,
"sharpe": -3.06,
"pnl_pips": -47.3,
"max_dd_pips": 0.0,
"expectancy": -23.67
},
"generalization": {
"composite": 1.0,
"detail": {
"wr": 2.0,
"pf": 2.0,
"expectancy": 0,
"sharpe": 0
},
"verdict": "PASS"
}
},
"S8_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 156,
"wr": 34.0,
"pf": 0.56,
"sharpe": -3.53,
"pnl_pips": -864.5,
"max_dd_pips": -985.3,
"expectancy": -5.54
},
"oos_metrics": {
"trades": 47,
"wr": 40.4,
"pf": 0.77,
"sharpe": -1.89,
"pnl_pips": -150.4,
"max_dd_pips": -277.2,
"expectancy": -3.2
},
"generalization": {
"composite": 0.641,
"detail": {
"wr": 1.188,
"pf": 1.375,
"expectancy": 0,
"sharpe": 0
},
"verdict": "WARN"
}
},
"S8_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 251,
"wr": 43.8,
"pf": 0.86,
"sharpe": -0.97,
"pnl_pips": -203.3,
"max_dd_pips": -261.7,
"expectancy": -0.81
},
"oos_metrics": {
"trades": 71,
"wr": 33.8,
"pf": 0.57,
"sharpe": -3.8,
"pnl_pips": -217.3,
"max_dd_pips": -281.1,
"expectancy": -3.06
},
"generalization": {
"composite": 0.359,
"detail": {
"wr": 0.772,
"pf": 0.663,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S8_GBP_USD": {
"pair": "GBP_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 273,
"wr": 39.2,
"pf": 0.8,
"sharpe": -1.5,
"pnl_pips": -459.6,
"max_dd_pips": -509.6,
"expectancy": -1.68
},
"oos_metrics": {
"trades": 57,
"wr": 59.6,
"pf": 1.45,
"sharpe": 2.44,
"pnl_pips": 157.9,
"max_dd_pips": -71.4,
"expectancy": 2.77
},
"generalization": {
"composite": 0.833,
"detail": {
"wr": 1.52,
"pf": 1.812,
"expectancy": 0,
"sharpe": 0
},
"verdict": "PASS"
}
},
"S10_EUR_USD": {
"pair": "EUR_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 13,
"wr": 53.8,
"pf": 1.67,
"sharpe": 3.17,
"pnl_pips": 20.1,
"max_dd_pips": -13.1,
"expectancy": 1.55
},
"oos_metrics": {
"trades": 6,
"wr": 33.3,
"pf": 1.19,
"sharpe": 0.97,
"pnl_pips": 1.5,
"max_dd_pips": -7.9,
"expectancy": 0.25
},
"generalization": {
"composite": 0.45,
"detail": {
"wr": 0.619,
"pf": 0.713,
"expectancy": 0.161,
"sharpe": 0.306
},
"verdict": "FAIL"
}
},
"S10_USD_JPY": {
"pair": "USD_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 20,
"wr": 50.0,
"pf": 2.08,
"sharpe": 4.18,
"pnl_pips": 51.5,
"max_dd_pips": -19.3,
"expectancy": 2.58
},
"oos_metrics": {
"trades": 9,
"wr": 33.3,
"pf": 0.76,
"sharpe": -1.48,
"pnl_pips": -10.1,
"max_dd_pips": -9.8,
"expectancy": -1.13
},
"generalization": {
"composite": 0.258,
"detail": {
"wr": 0.666,
"pf": 0.365,
"expectancy": 0.0,
"sharpe": 0.0
},
"verdict": "FAIL"
}
},
"S10_EUR_GBP": {
"pair": "EUR_GBP",
"timeframe": "M15",
"is_metrics": {
"trades": 15,
"wr": 33.3,
"pf": 0.98,
"sharpe": -0.14,
"pnl_pips": -0.8,
"max_dd_pips": -29.2,
"expectancy": -0.06
},
"oos_metrics": {
"trades": 7,
"wr": 42.9,
"pf": 1.28,
"sharpe": 1.61,
"pnl_pips": 3.5,
"max_dd_pips": -9.4,
"expectancy": 0.49
},
"generalization": {
"composite": 0.649,
"detail": {
"wr": 1.288,
"pf": 1.306,
"expectancy": 0,
"sharpe": 0
},
"verdict": "WARN"
}
},
"S11_USD_JPY": {
"pair": "USD_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 6,
"wr": 66.7,
"pf": 0.94,
"sharpe": -0.39,
"pnl_pips": -2.2,
"max_dd_pips": -22.0,
"expectancy": -0.37
},
"oos_metrics": {
"trades": 7,
"wr": 71.4,
"pf": 1.61,
"sharpe": 3.15,
"pnl_pips": 21.4,
"max_dd_pips": -21.7,
"expectancy": 3.06
},
"generalization": {
"composite": 0.696,
"detail": {
"wr": 1.07,
"pf": 1.713,
"expectancy": 0,
"sharpe": 0
},
"verdict": "WARN"
}
},
"S11_GBP_USD": {
"pair": "GBP_USD",
"timeframe": "M15",
"is_metrics": {
"trades": 5,
"wr": 40.0,
"pf": 0.56,
"sharpe": -3.87,
"pnl_pips": -18.8,
"max_dd_pips": -29.9,
"expectancy": -3.76
},
"oos_metrics": {
"trades": 4,
"wr": 50.0,
"pf": 0.37,
"sharpe": -6.0,
"pnl_pips": -18.3,
"max_dd_pips": -29.2,
"expectancy": -4.57
},
"generalization": {
"composite": 0.478,
"detail": {
"wr": 1.25,
"pf": 0.661,
"expectancy": 0,
"sharpe": 0
},
"verdict": "FAIL"
}
},
"S11_GBP_JPY": {
"pair": "GBP_JPY",
"timeframe": "M15",
"is_metrics": {
"trades": 13,
"wr": 61.5,
"pf": 1.61,
"sharpe": 3.13,
"pnl_pips": 45.9,
"max_dd_pips": -17.3,
"expectancy": 3.53
},
"oos_metrics": {
"trades": 3,
"wr": 0.0,
"pf": 0.0,
"sharpe": -73.56,
"pnl_pips": -61.5,
"max_dd_pips": -36.0,
"expectancy": -20.51
},
"generalization": {
"composite": 0.0,
"detail": {
"wr": 0.0,
"pf": 0.0,
"expectancy": 0.0,
"sharpe": 0.0
},
"verdict": "FAIL"
}
}
}