# DualThrust Chinext50 Optimization - Data: `chinext50.csv` (2014-06-18 to 2026-04-03, 2868 bars) - Initial cash: `100000` - Commission: `0.0010` - Strategy: `DualThrustRegimeStrategy` - Search grid: `range_period in [10, 15, 20, 25, 30]`, `k1/k2 in [0.2, 0.3, 0.4, 0.5]`, `regime in [60, 90, 120, 150, 200]` - Evaluated configs: `400` ## Command - `python3 chinext50_experiments.py --optimize-dualthrust` ## Default Benchmark - Current default: `range_period=20, k1=0.3, k2=0.3, regime=120` | annual return `15.02%` | Sharpe `0.405` | max DD `34.04%` ## Required Winners - Best by annual return: `range_period=20, k1=0.4, k2=0.4, regime=120` | annual return `17.68%` | Sharpe `0.499` | max DD `26.42%` | trades `18` - Best by Sharpe: `range_period=30, k1=0.3, k2=0.3, regime=120` | annual return `14.83%` | Sharpe `0.52` | max DD `34.96%` | trades `19` - Best with max DD <= 30% (Sharpe-ranked): `range_period=25, k1=0.4, k2=0.2, regime=120` | annual return `12.52%` | Sharpe `0.512` | max DD `9.02%` | trades `15` - Best with max DD <= 35% (Sharpe-ranked): `range_period=30, k1=0.3, k2=0.3, regime=120` | annual return `14.83%` | Sharpe `0.52` | max DD `34.96%` | trades `19` ## Top Candidates By Annual Return | Params | Annual Return | Sharpe | Max DD | Trades | Exposure | | --- | ---: | ---: | ---: | ---: | ---: | | `range_period=20`, `k1=0.4`, `k2=0.4`, `regime=120` | 17.68% | 0.499 | 26.42% | 18 | 25.33% | | `range_period=25`, `k1=0.3`, `k2=0.3`, `regime=120` | 15.73% | 0.456 | 30.23% | 26 | 27.86% | | `range_period=20`, `k1=0.3`, `k2=0.4`, `regime=120` | 15.60% | 0.439 | 33.27% | 31 | 31.34% | | `range_period=25`, `k1=0.4`, `k2=0.3`, `regime=120` | 15.47% | 0.46 | 23.74% | 14 | 19.03% | | `range_period=30`, `k1=0.3`, `k2=0.5`, `regime=120` | 15.44% | 0.489 | 44.53% | 13 | 32.07% | | `range_period=25`, `k1=0.4`, `k2=0.3`, `regime=60` | 15.40% | 0.451 | 28.73% | 14 | 17.94% | | `range_period=20`, `k1=0.3`, `k2=0.3`, `regime=120` | 15.02% | 0.405 | 34.04% | 36 | 26.24% | | `range_period=30`, `k1=0.3`, `k2=0.3`, `regime=120` | 14.83% | 0.52 | 34.96% | 19 | 27.56% | ## Top Candidates By Sharpe | Params | Sharpe | Annual Return | Max DD | Trades | Exposure | | --- | ---: | ---: | ---: | ---: | ---: | | `range_period=30`, `k1=0.3`, `k2=0.3`, `regime=120` | 0.52 | 14.83% | 34.96% | 19 | 27.56% | | `range_period=30`, `k1=0.4`, `k2=0.3`, `regime=90` | 0.516 | 14.04% | 35.52% | 9 | 19.34% | | `range_period=25`, `k1=0.4`, `k2=0.2`, `regime=120` | 0.512 | 12.52% | 9.02% | 15 | 10.02% | | `range_period=20`, `k1=0.4`, `k2=0.4`, `regime=120` | 0.499 | 17.68% | 26.42% | 18 | 25.33% | | `range_period=20`, `k1=0.3`, `k2=0.4`, `regime=150` | 0.497 | 13.49% | 30.04% | 28 | 30.26% | | `range_period=20`, `k1=0.4`, `k2=0.4`, `regime=150` | 0.491 | 12.71% | 26.70% | 19 | 23.81% | | `range_period=30`, `k1=0.3`, `k2=0.5`, `regime=120` | 0.489 | 15.44% | 44.53% | 13 | 32.07% | | `range_period=30`, `k1=0.4`, `k2=0.4`, `regime=120` | 0.474 | 11.44% | 43.75% | 9 | 24.47% | ## Recommendation - Recommended next parameter set: `range_period=30, k1=0.3, k2=0.3, regime=120` because it keeps max DD at `34.96%` while delivering `14.83%` annual return and Sharpe `0.52`. - Optimized DualThrust beat default on annual return: `yes` (17.68% vs 15.02%). - Optimized DualThrust beat default on Sharpe: `yes` (0.52 vs 0.405).