mirror of
https://github.com/BrentNeale1/fx-quant.git
synced 2026-08-17 12:08:07 +00:00
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>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
4f911b2072
commit
9c5d55ec46
@@ -3,190 +3,126 @@
|
||||
"pair": "GBP_JPY",
|
||||
"timeframe": "H1",
|
||||
"is_metrics": {
|
||||
"trades": 63,
|
||||
"wr": 52.4,
|
||||
"pf": 0.68,
|
||||
"sharpe": -2.71,
|
||||
"pnl_pips": -567.6,
|
||||
"max_dd_pips": -703.0,
|
||||
"expectancy": -9.01
|
||||
"trades": 23,
|
||||
"wr": 69.6,
|
||||
"pf": 1.52,
|
||||
"sharpe": 2.89,
|
||||
"pnl_pips": 207.2,
|
||||
"max_dd_pips": -205.7,
|
||||
"expectancy": 9.01
|
||||
},
|
||||
"oos_metrics": {
|
||||
"trades": 35,
|
||||
"wr": 71.4,
|
||||
"trades": 15,
|
||||
"wr": 73.3,
|
||||
"pf": 1.8,
|
||||
"sharpe": 4.17,
|
||||
"pnl_pips": 558.9,
|
||||
"max_dd_pips": -219.9,
|
||||
"expectancy": 15.97
|
||||
"sharpe": 3.96,
|
||||
"pnl_pips": 200.1,
|
||||
"max_dd_pips": -73.5,
|
||||
"expectancy": 13.34
|
||||
},
|
||||
"generalization": {
|
||||
"composite": 0.841,
|
||||
"composite": 1.272,
|
||||
"detail": {
|
||||
"wr": 1.363,
|
||||
"pf": 2.0,
|
||||
"expectancy": 0,
|
||||
"sharpe": 0
|
||||
"wr": 1.053,
|
||||
"pf": 1.184,
|
||||
"expectancy": 1.481,
|
||||
"sharpe": 1.37
|
||||
},
|
||||
"verdict": "PASS"
|
||||
}
|
||||
},
|
||||
"S9": {
|
||||
"pair": "GBP_USD",
|
||||
"timeframe": "H1",
|
||||
"is_metrics": {
|
||||
"trades": 253,
|
||||
"wr": 51.8,
|
||||
"pf": 0.77,
|
||||
"sharpe": -1.82,
|
||||
"pnl_pips": -1171.7,
|
||||
"max_dd_pips": -1775.8,
|
||||
"expectancy": -4.63
|
||||
},
|
||||
"oos_metrics": {
|
||||
"trades": 32,
|
||||
"wr": 68.8,
|
||||
"pf": 1.38,
|
||||
"sharpe": 2.14,
|
||||
"pnl_pips": 154.8,
|
||||
"max_dd_pips": -132.7,
|
||||
"expectancy": 4.84
|
||||
},
|
||||
"generalization": {
|
||||
"composite": 0.78,
|
||||
"detail": {
|
||||
"wr": 1.328,
|
||||
"pf": 1.792,
|
||||
"expectancy": 0,
|
||||
"sharpe": 0
|
||||
},
|
||||
"verdict": "WARN"
|
||||
}
|
||||
},
|
||||
"S9_Filtered": {
|
||||
"pair": "GBP_AUD",
|
||||
"timeframe": "H1",
|
||||
"is_metrics": {
|
||||
"trades": 54,
|
||||
"wr": 57.4,
|
||||
"pf": 1.1,
|
||||
"sharpe": 0.66,
|
||||
"pnl_pips": 131.8,
|
||||
"max_dd_pips": -561.2,
|
||||
"expectancy": 2.44
|
||||
"trades": 42,
|
||||
"wr": 59.5,
|
||||
"pf": 1.31,
|
||||
"sharpe": 1.89,
|
||||
"pnl_pips": 299.5,
|
||||
"max_dd_pips": -393.2,
|
||||
"expectancy": 7.13
|
||||
},
|
||||
"oos_metrics": {
|
||||
"trades": 12,
|
||||
"wr": 75.0,
|
||||
"pf": 2.98,
|
||||
"sharpe": 7.38,
|
||||
"pnl_pips": 342.6,
|
||||
"trades": 9,
|
||||
"wr": 66.7,
|
||||
"pf": 2.26,
|
||||
"sharpe": 5.45,
|
||||
"pnl_pips": 217.8,
|
||||
"max_dd_pips": -49.6,
|
||||
"expectancy": 28.55
|
||||
"expectancy": 24.19
|
||||
},
|
||||
"generalization": {
|
||||
"composite": 1.827,
|
||||
"composite": 1.712,
|
||||
"detail": {
|
||||
"wr": 1.307,
|
||||
"pf": 2.0,
|
||||
"wr": 1.121,
|
||||
"pf": 1.725,
|
||||
"expectancy": 2.0,
|
||||
"sharpe": 2.0
|
||||
},
|
||||
"verdict": "PASS"
|
||||
}
|
||||
},
|
||||
"S4F": {
|
||||
"pair": "EUR_AUD",
|
||||
"timeframe": "M15",
|
||||
"is_metrics": {
|
||||
"trades": 75,
|
||||
"wr": 50.7,
|
||||
"pf": 1.43,
|
||||
"sharpe": 2.63,
|
||||
"pnl_pips": 427.8,
|
||||
"max_dd_pips": -183.7,
|
||||
"expectancy": 5.7
|
||||
},
|
||||
"oos_metrics": {
|
||||
"trades": 20,
|
||||
"wr": 25.0,
|
||||
"pf": 0.48,
|
||||
"sharpe": -5.42,
|
||||
"pnl_pips": -254.7,
|
||||
"max_dd_pips": -337.2,
|
||||
"expectancy": -12.74
|
||||
},
|
||||
"generalization": {
|
||||
"composite": 0.207,
|
||||
"detail": {
|
||||
"wr": 0.493,
|
||||
"pf": 0.336,
|
||||
"expectancy": 0.0,
|
||||
"sharpe": 0.0
|
||||
},
|
||||
"verdict": "FAIL"
|
||||
}
|
||||
},
|
||||
"S3": {
|
||||
"pair": "GBP_JPY",
|
||||
"timeframe": "H1",
|
||||
"is_metrics": {
|
||||
"trades": 112,
|
||||
"wr": 49.1,
|
||||
"pf": 1.06,
|
||||
"sharpe": 0.39,
|
||||
"pnl_pips": 146.2,
|
||||
"max_dd_pips": -533.2,
|
||||
"expectancy": 1.31
|
||||
"trades": 84,
|
||||
"wr": 53.6,
|
||||
"pf": 1.22,
|
||||
"sharpe": 1.26,
|
||||
"pnl_pips": 359.2,
|
||||
"max_dd_pips": -335.7,
|
||||
"expectancy": 4.28
|
||||
},
|
||||
"oos_metrics": {
|
||||
"trades": 38,
|
||||
"wr": 55.3,
|
||||
"pf": 1.07,
|
||||
"sharpe": 0.51,
|
||||
"pnl_pips": 56.9,
|
||||
"trades": 32,
|
||||
"wr": 59.4,
|
||||
"pf": 1.23,
|
||||
"sharpe": 1.47,
|
||||
"pnl_pips": 135.5,
|
||||
"max_dd_pips": -182.9,
|
||||
"expectancy": 1.5
|
||||
"expectancy": 4.24
|
||||
},
|
||||
"generalization": {
|
||||
"composite": 1.147,
|
||||
"composite": 1.068,
|
||||
"detail": {
|
||||
"wr": 1.126,
|
||||
"pf": 1.009,
|
||||
"expectancy": 1.145,
|
||||
"sharpe": 1.308
|
||||
"wr": 1.108,
|
||||
"pf": 1.008,
|
||||
"expectancy": 0.991,
|
||||
"sharpe": 1.167
|
||||
},
|
||||
"verdict": "PASS"
|
||||
}
|
||||
},
|
||||
"_portfolio": {
|
||||
"is_metrics": {
|
||||
"trades": 557,
|
||||
"wr": 51.7,
|
||||
"pf": 0.91,
|
||||
"sharpe": -0.64,
|
||||
"pnl_pips": -1033.5,
|
||||
"max_dd_pips": -2398.5,
|
||||
"expectancy": -1.86
|
||||
"trades": 149,
|
||||
"wr": 57.7,
|
||||
"pf": 1.29,
|
||||
"sharpe": 1.68,
|
||||
"pnl_pips": 865.8,
|
||||
"max_dd_pips": -597.5,
|
||||
"expectancy": 5.81
|
||||
},
|
||||
"oos_metrics": {
|
||||
"trades": 137,
|
||||
"wr": 59.9,
|
||||
"pf": 1.34,
|
||||
"sharpe": 2.02,
|
||||
"pnl_pips": 858.4,
|
||||
"max_dd_pips": -452.7,
|
||||
"expectancy": 6.27
|
||||
"trades": 56,
|
||||
"wr": 64.3,
|
||||
"pf": 1.55,
|
||||
"sharpe": 3.03,
|
||||
"pnl_pips": 553.3,
|
||||
"max_dd_pips": -182.9,
|
||||
"expectancy": 9.88
|
||||
},
|
||||
"generalization": {
|
||||
"composite": 0.658,
|
||||
"composite": 1.455,
|
||||
"detail": {
|
||||
"wr": 1.159,
|
||||
"pf": 1.473,
|
||||
"expectancy": 0,
|
||||
"sharpe": 0
|
||||
"wr": 1.114,
|
||||
"pf": 1.202,
|
||||
"expectancy": 1.701,
|
||||
"sharpe": 1.804
|
||||
},
|
||||
"verdict": "WARN"
|
||||
"verdict": "PASS"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user