chinext50_experiment_summary.md 9.0 KB

Chinext50 Backtrader Experiments

  • Data: chinext50.csv (2014-06-18 to 2026-04-03, 2868 bars)
  • Initial cash: 100000
  • Commission: 0.0010

Commands

  • Run all experiments: python3 chinext50_experiments.py

Configs

  • TrendRegimeFlatStrategy: fast=20, slow=60, regime=120, vol_fast=20, vol_slow=60, vol_cap=1.1
  • TrendTightVolStrategy: fast=20, slow=60, regime=120, vol_fast=20, vol_slow=60, vol_cap=0.95
  • TrendLooseVolStrategy: fast=20, slow=60, regime=120, vol_fast=20, vol_slow=60, vol_cap=1.25
  • SmaLongFilterTrendStrategy: fast=20, slow=60, regime=120
  • MomentumBasicStrategy: mom_short=20, mom_long=120
  • MomentumVolTargetBasicStrategy: mom_short=20, mom_long=120, vol_period=30, target_vol=0.3, max_weight=1.0, rebalance_band=0.15
  • MomentumVolTargetLowerTargetStrategy: mom_short=20, mom_long=120, regime=150, vol_period=30, target_vol=0.25, max_weight=1.0, rebalance_band=0.15
  • MomentumVolTargetHigherTargetStrategy: mom_short=20, mom_long=120, regime=150, vol_period=30, target_vol=0.35, max_weight=1.0, rebalance_band=0.15
  • MomentumRegimeStrategy: mom_short=20, mom_long=120, regime=150
  • MomentumMaFilterStrategy: mom_short=20, mom_long=120, ma_filter=60
  • MomentumAtrTrailBasicStrategy: mom_short=20, mom_long=120, atr_period=20, atr_mult=4.0
  • MomentumAtrTrailTighterStrategy: mom_short=20, mom_long=120, regime=150, atr_period=20, atr_mult=3.0
  • MomentumAtrTrailLooserStrategy: mom_short=20, mom_long=120, regime=150, atr_period=20, atr_mult=5.0
  • MomentumAtrTrailStrategy: mom_short=20, mom_long=120, regime=150, atr_period=20, atr_mult=4.0
  • MomentumDefensiveFilterStrategy: mom_short=20, mom_long=120, regime=150, vol_fast=20, vol_slow=60, vol_cap=1.05
  • DonchianRegimeStrategy: breakout=55, exit_period=30, regime=150
  • DonchianRegimeFastStrategy: breakout=40, exit_period=20, regime=150
  • DonchianRegimeSlowStrategy: breakout=70, exit_period=35, regime=150
  • MomentumVolTargetStrategy: mom_short=20, mom_long=120, regime=150, vol_period=30, target_vol=0.3, max_weight=1.0, rebalance_band=0.15
  • DonchianBasicStrategy: breakout=55, exit_period=30
  • DonchianAdxStrategy: breakout=55, exit_period=30, adx_period=14, adx_threshold=20.0
  • DonchianAtrTrailStrategy: breakout=55, exit_period=30, atr_period=20, atr_mult=4.0
  • DonchianVolTargetStrategy: breakout=55, exit_period=30, vol_period=30, target_vol=0.3, max_weight=1.0, rebalance_band=0.15
  • DonchianHybridVolAtrStrategy: breakout=55, exit_period=30, vol_period=30, target_vol=0.3, max_weight=1.0, rebalance_band=0.15, atr_period=20, atr_mult=4.0
  • SuperTrendLongMaStrategy: supertrend_period=14, supertrend_mult=2.0, regime=200
  • SuperTrendLongMaFastRegimeStrategy: supertrend_period=14, supertrend_mult=2.0, regime=150
  • SuperTrendBasicStrategy: supertrend_period=14, supertrend_mult=2.0
  • TsmomLooseThresholdStrategy: mom_windows=(60, 120, 240), positive_threshold=1, regime=200
  • TsmomBasicStrategy: mom_windows=(60, 120), positive_threshold=1
  • TsmomRegimeStrategy: mom_windows=(60, 120), positive_threshold=1, regime=200
  • KamaBasicStrategy: kama_period=30, kama_fast=2, kama_slow=30
  • KamaTrendStrategy: kama_period=30, kama_fast=2, kama_slow=30, regime=120
  • DualThrustBasicStrategy: range_period=20, k1=0.3, k2=0.3
  • DualThrustFastStrategy: range_period=15, k1=0.3, k2=0.3
  • DualThrustSlowStrategy: range_period=30, k1=0.3, k2=0.3
  • DualThrustRegimeStrategy: range_period=20, k1=0.3, k2=0.3, regime=120
  • MacdBasicStrategy: macd_fast=12, macd_slow=26, macd_signal=9
  • MacdLongMaFastRegimeStrategy: macd_fast=12, macd_slow=26, macd_signal=9, regime=150
  • MacdLongMaStrategy: macd_fast=12, macd_slow=26, macd_signal=9, regime=120

Metrics

Strategy Final Value Total Return Annual Return Sharpe Max DD Entries Closed Trades Win Rate Avg Exposure
TrendRegimeFlatStrategy 200749.92 100.75% 6.31% 0.251 40.36% 48 48 39.58% 26.80%
TrendTightVolStrategy 105167.73 5.17% 0.44% -0.04 36.07% 49 49 48.98% 17.84%
TrendLooseVolStrategy 180294.34 80.29% 5.32% 0.213 57.20% 43 43 30.23% 33.79%
SmaLongFilterTrendStrategy 191020.05 91.02% 5.85% 0.231 60.73% 36 36 30.56% 37.97%
MomentumBasicStrategy 302900.87 202.90% 10.23% 0.315 37.29% 85 85 35.29% 27.89%
MomentumVolTargetBasicStrategy 347255.98 247.26% 11.56% 0.379 34.80% 87 85 41.18% 25.83%
MomentumVolTargetLowerTargetStrategy 331107.17 231.11% 11.09% 0.415 36.55% 78 74 36.49% 22.64%
MomentumVolTargetHigherTargetStrategy 289653.47 189.65% 9.80% 0.338 43.13% 73 73 35.62% 24.61%
MomentumRegimeStrategy 331339.70 231.34% 11.10% 0.376 42.25% 69 69 36.23% 25.99%
MomentumMaFilterStrategy 254309.95 154.31% 8.55% 0.287 44.36% 73 73 35.62% 24.45%
MomentumAtrTrailBasicStrategy 248913.56 148.91% 8.34% 0.255 35.80% 97 97 36.08% 27.06%
MomentumAtrTrailTighterStrategy 184844.27 84.84% 5.55% 0.218 45.04% 94 94 40.43% 24.41%
MomentumAtrTrailLooserStrategy 289373.74 189.37% 9.79% 0.35 45.57% 75 75 38.67% 25.48%
MomentumAtrTrailStrategy 301242.39 201.24% 10.17% 0.344 41.97% 80 80 42.50% 24.97%
MomentumDefensiveFilterStrategy 174139.22 74.14% 4.99% 0.213 32.27% 74 74 40.54% 16.74%
DonchianRegimeStrategy 362600.70 262.60% 11.98% 0.44 40.47% 20 20 45.00% 25.98%
DonchianRegimeFastStrategy 288816.80 188.82% 9.77% 0.351 36.17% 29 29 34.48% 26.86%
DonchianRegimeSlowStrategy 278840.33 178.84% 9.43% 0.353 42.29% 18 18 33.33% 28.46%
MomentumVolTargetStrategy 361493.22 261.49% 11.95% 0.419 37.62% 74 72 38.89% 24.21%
DonchianBasicStrategy 266380.71 166.38% 8.99% 0.327 53.55% 19 19 42.11% 33.68%
DonchianAdxStrategy 209771.69 109.77% 6.73% 0.262 47.26% 16 16 37.50% 29.89%
DonchianAtrTrailStrategy 319679.78 219.68% 10.75% 0.327 27.09% 32 32 53.12% 22.30%
DonchianVolTargetStrategy 264861.38 164.86% 8.94% 0.324 48.37% 30 20 45.00% 32.56%
DonchianHybridVolAtrStrategy 286192.79 186.19% 9.68% 0.328 31.30% 34 33 57.58% 20.37%
SuperTrendLongMaStrategy 243213.49 143.21% 8.12% 0.283 28.83% 84 84 45.24% 24.77%
SuperTrendLongMaFastRegimeStrategy 182682.80 82.68% 5.44% 0.203 45.77% 99 99 36.36% 27.56%
SuperTrendBasicStrategy 171373.65 71.37% 4.85% 0.2 60.46% 164 164 35.37% 51.39%
TsmomLooseThresholdStrategy 105001.15 5.00% 0.43% 0.067 65.87% 31 30 23.33% 40.25%
TsmomBasicStrategy 177287.00 77.29% 5.16% 0.205 69.79% 62 61 42.62% 56.38%
TsmomRegimeStrategy 198638.31 98.64% 6.22% 0.222 63.63% 26 25 24.00% 40.59%
KamaBasicStrategy 136162.13 36.16% 2.75% 0.164 64.11% 122 122 33.61% 45.69%
KamaTrendStrategy 180932.59 80.93% 5.35% 0.207 48.38% 89 89 31.46% 32.71%
DualThrustBasicStrategy 739254.80 639.25% 19.22% 0.501 37.27% 51 51 43.14% 40.20%
DualThrustFastStrategy 187601.28 87.60% 5.68% 0.218 47.36% 91 91 35.16% 38.72%
DualThrustSlowStrategy 366127.99 266.13% 12.08% 0.409 55.03% 31 31 38.71% 45.50%
DualThrustRegimeStrategy 491771.44 391.77% 15.02% 0.405 34.04% 36 36 47.22% 26.24%
MacdBasicStrategy 263245.27 163.25% 8.88% 0.323 57.37% 105 105 40.95% 48.67%
MacdLongMaFastRegimeStrategy 194952.18 94.95% 6.04% 0.233 48.59% 74 74 39.19% 23.37%
MacdLongMaStrategy 266977.38 166.98% 9.01% 0.347 39.78% 72 72 44.44% 23.28%

Verdict

  • Highest annual return: DualThrustBasicStrategy (19.22% annual return, 37.27% max DD)
  • Best risk-adjusted balance by Sharpe: DualThrustBasicStrategy (Sharpe 0.501, 19.22% annual return, 37.27% max DD)
  • Best Sharpe with max DD <= 35%: DualThrustRegimeStrategy (Sharpe 0.405, 15.02% annual return, 34.04% max DD)
  • New-strategy return leader: DualThrustBasicStrategy beat the prior return leader DonchianRegimeStrategy (19.22% vs 11.98% annual return)
  • New-strategy Sharpe leader: DualThrustBasicStrategy beat the prior Sharpe leader DonchianRegimeStrategy (Sharpe 0.501 vs 0.44)
  • Most defensive new addition: DonchianAtrTrailStrategy delivered the lowest max DD among the new strategies with 27.09% max DD, 10.75% annual return, and 53.12% win rate.