v9 Grid Backtest — Result Report

실행일: 2026-04-16 02:02 Runtime: 358s 기간: 2016-01-01 ~ 2025-06-30 OOS split: 2024-01-01 Total configs: 240 (OK: 240)

Universe & Portfolio

{
  "universe": {
    "ath_drawdown_threshold": -0.95,
    "min_cash_to_mcap_ratio": 2.0,
    "min_mcap": 20000000,
    "min_pipeline_phase": "Phase 2",
    "min_ipo_age_years": 2,
    "min_cash_runway_quarters": 0,
    "require_sec_filing_history": false
  },
  "portfolio": {
    "initial": 100000,
    "max_pct": 0.125,
    "max_concurrent": 8,
    "cooldown_days": 90,
    "slippage_per_side": 0.005,
    "commission_per_trade": 0.0,
    "max_volume_pct": 0.1
  }
}

Summary Statistics

  • OK configs: 240
  • Configs with Sharpe > 0.5: 178
  • Configs with OOS Sharpe > 1.0: 109
  • Configs meeting ALL v9 goals (MaxDD≤-20%, OOS_Sharpe≥1.0, CAGR≥15%, 2022+ ≥60 trades): 0

🎯 v9 Goal Achievers

No configs met ALL goals simultaneously. Relaxed checks in top 15 tables below.

Charts

Return vs Sharpe (color = MaxDD)

Return vs Sharpe

Sharpe Heatmap (Entry × Exit)

Sharpe heatmap

Total Return Heatmap

Return heatmap

MaxDD Heatmap

MaxDD heatmap

IS vs OOS Sharpe

IS vs OOS

Equity Curves (Top 5 by Sharpe)

Equity top5

Yearly Trade Count (Top 10 by Sharpe)

Yearly trades

Top 15 by Sharpe

#EntryExitShOOS ShRetCAGRMaxDDWRTrades22+
1bb_20fixed_100_40_3651.072.39+462%+21.9%-32.5%72%2927
2bb_pullback_12chandelier_atr31.051.26+151%+20.6%-21.0%58%1918
3ens_v51breakeven_70_30_1800.911.81+346%+20.0%-26.7%65%4339
4bb_20scaled_30_1000.891.46+255%+15.7%-34.0%75%2826
5ens_v51fixed_70_30_1800.881.55+311%+18.8%-18.8%68%4440
6hammerchandelier_atr30.870.69+166%+15.9%-20.4%43%2321
7macdfixed_100_40_3650.861.63+260%+20.3%-58.5%63%3028
8bb_20breakeven_70_30_1800.851.92+230%+15.7%-24.8%73%3028
9rsi_divergencetrail_25_1800.831.67+148%+15.5%-29.2%75%2019
10bb_20partial_50_trail250.831.17+269%+16.2%-39.0%79%2826
11ens_pullbacktrail_30_3650.831.19+293%+20.2%-50.8%56%3936
12ens_v51breakeven_50_30_1800.811.55+264%+17.1%-29.5%68%4440
13obv_divfixed_100_40_3650.811.16+199%+17.3%-49.3%79%1917
14ens_pullbackchandelier_atr30.800.81+200%+16.9%-39.3%46%3936
15ens_strongfixed_100_40_3650.791.02+487%+18.7%-44.1%56%5247

Top 15 by Total Return

#EntryExitRetCAGRShOOS ShMaxDDWRTrades
1ens_strongfixed_100_40_365+487%+18.7%0.791.02-44.1%56%52
2bb_20fixed_100_40_365+462%+21.9%1.072.39-32.5%72%29
3ens_v51breakeven_70_30_180+346%+20.0%0.911.81-26.7%65%43
4macdtrail_30_365+330%+23.4%0.781.27-52.6%44%34
5ens_reversalpartial_50_trail25+327%+15.1%0.621.28-58.8%66%44
6ens_reversalchandelier_atr3+323%+16.0%0.720.91-29.1%50%58
7ens_v51fixed_100_40_365+314%+17.8%0.740.96-46.0%60%40
8ens_v51trail_30_365+312%+17.8%0.770.97-44.0%57%44
9ens_v51fixed_70_30_180+311%+18.8%0.881.55-18.8%68%44
10ens_pullbacktrail_30_365+293%+20.2%0.831.19-50.8%56%39
11ens_strongpartial_50_trail25+287%+14.3%0.660.83-43.3%62%48
12ens_reversaltrail_30_365+277%+13.7%0.601.00-58.7%51%51
13bb_20partial_50_trail25+269%+16.2%0.831.17-39.0%79%28
14ens_reversaltrail_25_180+266%+14.1%0.651.24-42.1%58%55
15ens_v51breakeven_50_30_180+264%+17.1%0.811.55-29.5%68%44

Top 15 by OOS Sharpe

#EntryExitOOS ShOOS RetOOS TFull ShRetMaxDD
1bb_20fixed_100_40_3652.39+135%121.07+462%-32.5%
2bb_20fixed_70_30_1802.08+74%120.77+195%-25.6%
3bb_20breakeven_70_30_1801.92+67%120.85+230%-24.8%
4ens_reversalfixed_100_40_3651.90+196%210.67+263%-62.9%
5ens_v51breakeven_70_30_1801.81+99%170.91+346%-26.7%
6bb_20fixed_50_30_1801.71+55%120.68+139%-26.9%
7rsi_divergencetrail_25_1801.67+81%90.83+148%-29.2%
8macdfixed_100_40_3651.63+136%160.86+260%-58.5%
9ens_v51fixed_50_50_1801.63+92%170.77+246%-32.7%
10bb_20fixed_50_50_1801.57+50%120.78+171%-26.2%
11ens_v51fixed_70_30_1801.55+77%180.88+311%-18.8%
12rsi_divergencechandelier_atr31.55+61%90.76+117%-25.9%
13ens_v51breakeven_50_30_1801.55+86%180.81+264%-29.5%
14bb_20breakeven_50_30_1801.53+48%120.77+168%-26.2%
15hammerfixed_50_50_1801.50+60%110.62+93%-33.9%

Top 15 by Lowest MaxDD (least negative)

#EntryExitMaxDDShRetTrades
1hammerchandelier_atr25-17.9%0.51+59%23
2ens_v51fixed_70_30_180-18.8%0.88+311%44
3bb_pullback_12fixed_50_30_180-19.0%0.53+48%19
4hammertrail_20_180-19.1%0.47+54%23
5bb_30fixed_70_30_180-19.1%0.75+166%29
6bb_30fixed_50_30_180-20.1%0.61+104%29
7hammerchandelier_atr3-20.4%0.87+166%23
8bb_20trail_25_180-20.5%0.56+94%31
9bb_pullback_12chandelier_atr3-21.0%1.05+151%19
10macdfixed_70_30_180-21.5%0.75+153%31
11ens_v51fixed_50_30_180-21.8%0.76+213%44
12bb_pullback_12chandelier_atr25-21.9%0.43+35%19
13double_bottomchandelier_atr25-21.9%0.37+52%35
14bb_pullback_12trail_20_180-22.3%0.76+85%19
15obv_divfixed_30_50_180-22.5%0.44+61%21

Entry Signals — Aggregate Performance

(평균 across all exits with n_trades_executed >= 5)

EntryMean ShMean OOS ShMean RetMean MaxDDMean TradesN configs
ens_v510.731.11+232%-32.5%4316
rsi_divergence0.721.33+127%-26.6%2016
ens_pullback0.681.11+165%-49.6%3816
bb_200.681.43+163%-29.4%3016
macd0.610.94+137%-36.5%3216
hammer0.600.97+100%-33.2%2316
ens_reversal0.601.27+205%-40.9%5116
capitulation_vol0.561.02+143%-45.5%3316
ens_strong0.560.94+188%-37.8%5516
bb_pullback_120.560.63+60%-24.3%1916
bb_300.560.70+102%-29.0%2916
bb_pullback_080.530.88+77%-41.1%2416
obv_div0.480.07+79%-32.6%2116
double_bottom0.470.67+113%-40.1%3316
wyckoff_spring0.470.63+85%-33.9%3416

Exit Strategies — Aggregate Performance

ExitMean ShMean OOS ShMean RetMean MaxDDMean TradesN configs
fixed_100_40_3650.691.18+211%-46.5%3015
trail_30_3650.640.93+179%-41.5%3315
breakeven_70_30_1800.641.13+150%-32.8%3215
partial_50_trail250.630.87+184%-46.2%3015
chandelier_atr30.620.73+132%-31.4%3415
fixed_70_30_1800.621.05+140%-30.5%3215
trail_25_1800.600.92+134%-34.2%3415
fixed_50_30_1800.600.96+125%-29.4%3315
breakeven_50_30_1800.590.99+124%-32.8%3215
fixed_50_50_1800.590.96+125%-34.0%3215
scaled_30_1000.570.85+130%-43.5%2815
partial_30_trail200.570.91+125%-39.4%3215
fixed_30_50_3650.560.90+105%-32.6%3215
fixed_30_50_1800.530.92+95%-31.8%3215
trail_20_1800.520.73+95%-33.0%3415
chandelier_atr250.420.59+55%-28.9%3415

Conclusions

Best overall (Sharpe)

  • bb_20 × fixed_100_40_365
  • Total: +462%, CAGR +21.9%, Sharpe 1.07
  • OOS Sharpe 2.39, OOS ret +135%
  • MaxDD -32.5%, WR 72%

Best OOS generalization

  • bb_20 × fixed_100_40_365: OOS Sharpe 2.39, OOS ret +135%

Best risk-adjusted (lowest MaxDD)

  • hammer × chandelier_atr25: MaxDD -17.9%, Sharpe 0.51, return +59%

Notable findings

  • Bounce+pullback vs plain bounce: pullback mean Sharpe = 0.54 vs plain bounce = 0.62
  • Best single-signal entry: bb_20 (Sharpe 1.07)
  • Best exit type (by mean Sharpe): fixed_100_40_365

Raw Data

  • grid_results.csv: Full 240 configs × 22 columns
  • top20_by_sharpe.csv, top20_by_return.csv, top20_by_oos_sharpe.csv, top20_by_lowest_dd.csv
  • top_details/{entry}__{exit}/: trades.csv, executed.csv, equity.csv for top 10 by Sharpe
  • meta.json: Grid metadata (config, runtime, counts)