v10 Final Report — Robustness & Validation

작성일: 2026-04-16 09:41

Summary

  • Configs graded: 10
  • Grade A (모든 검증 통과): 0개
  • Grade B (3/5 이상): 7개
  • Grade C (≤2/5): 3개

🎯 Final Grade Table

Pass criteria:

  • G1 Walk-forward: 6 연도 test 중 ≥3회 top-10 진입
  • G2 Bootstrap: 95% CI lower bound Sharpe ≥ 0.5
  • G3 Regime: Bear market trades mean return > 0
  • G4 Universe: 완화된 universe V2/V3에서도 Sharpe ≥ 0.7
  • G5 Frequency: 연 ≥3 trades
ConfigG1 WFG2 BootG3 RegimeG4 UnivG5 FreqScoreGrade
bb_20__fixed_100_40_3654/5B
ens_v51__breakeven_70_30_1803/5B
bb_20__partial_50_trail253/5B
bb_20__scaled_30_1003/5B
ens_v51__fixed_70_30_1803/5B
macd__fixed_100_40_3653/5B
bb_20__breakeven_70_30_1803/5B
bb_pullback_12__chandelier_atr32/5C
rsi_divergence__trail_25_1802/5C
hammer__chandelier_atr31/5C

Phase A — Walk-Forward Validation

6 연도(2020~2025) 각각에 대해 training(이전 데이터)로 ranking, test 연도에서 평가.

Top 10 by consistency (top-10 진입 횟수)

ConfigTimes top-10Avg IS SharpeAvg OOS SharpeAvg OOS ReturnTotal OOS Trades
ens_v51__fixed_100_40_36530.8570.158+4.0%5
ens_v51__scaled_30_10030.8090.192+5.2%5
ens_v51__fixed_30_50_36530.7330.661+6.6%5
bb_pullback_12__trail_20_18021.0190.553+7.5%11
bb_20__fixed_100_40_36520.8592.800+55.6%12
bb_pullback_12__chandelier_atr321.0901.145+22.6%7
ens_pullback__fixed_30_50_36520.6671.294+10.1%4
ens_v51__breakeven_70_30_18020.7280.652+18.2%12
ens_reversal__fixed_100_40_36520.658-0.248-11.4%8
ens_pullback__trail_30_36520.8061.252+46.7%17

Observations:

  • 3회 top-10 진입 config 3개 (ens_v51 계열). Dan’s v5.1 앙상블이 walk-forward에서 가장 robust.
  • v9 best인 bb_20 × fixed_100_40_365는 2회 top-10이지만, top-10일 때 avg OOS Sharpe 2.80 — 드물지만 매우 강력.
  • bb_pullback_12 × chandelier_atr3 2회 top-10, avg OOS Sharpe 1.15 — 꾸준함+edge.

Phase B — Bootstrap CI

상위 20개 v9 configs에 대해 per-trade return 1,000회 resample → Sharpe/win-rate CI.

Sharpe 95% CI (configs with Grade-B+ CI lower bound)

ConfigN TradesSharpe meanCI 5%CI 95%Win rate
bb_20×fixed_100_40_365292.161.343.2072.1%
ens_v51×breakeven_70_30_180431.851.242.5665.5%
bb_20×breakeven_70_30_180301.961.172.9373.0%
rsi_divergence×trail_25_180201.541.082.0375.7%
bb_20×partial_50_trail25281.911.072.9278.3%
bb_20×scaled_30_100282.051.063.2174.6%
ens_v51×fixed_70_30_180441.621.012.3268.3%
macd×fixed_100_40_365301.550.812.3963.2%
bb_pullback_12×chandelier_atr3191.150.711.6758.2%
hammer×chandelier_atr3230.620.011.0343.2%

Bootstrap CI chart

Observations:

  • 8개 config의 CI lower bound가 1.0 이상 — 통계적으로 강한 edge.
  • 단, 여기서 Sharpe는 per-trade scaled (√5 근사) — 실제 daily equity Sharpe와 절대값 직접 비교 불가. CI 구간의 상대 비교 용도.
  • bb_20 × fixed_100_40_365 CI [1.34, 3.20]: 가장 robust한 edge.
  • hammer × chandelier_atr3 CI [0.01, 1.03]: lower bound가 0에 가까움 — 약한 edge.

Phase C — Regime Analysis

XBI 200MA ±2% 기준 Bull / Neutral / Bear 구분. Top 10 v9 configs의 각 regime별 거래 분석.

XBI regime Regime performance

🧭 Aggregate across top 10 configs (trade-level)

RegimeN trades (sum)Mean returnWin rate (avg)
bear179+57.5%74.3%
bull96+40.9%58.6%
neutral19+72.0%58.9%

🔥 Surprising finding: Bear market에서 성과가 더 좋음!

  • Bear trades: +57.5% mean return, 74% WR
  • Bull trades: +40.9% mean return, 59% WR
  • 설명: deep-value 바이오텍 전략은 panic selling 구간에서 저가 매수 기회 많음. 오히려 bull 구간은 덜 저평가.
  • 결론: bear regime filter는 오히려 성과를 저해. Dan의 전략은 역설적으로 bear-friendly.

Regime filter impact

Regime filter

ConfigAll regimesNo bear entriesBull only
bb_20__fixed_100_40_365ret +462% Sh 1.07ret +114% Sh 0.70ret +68% Sh 0.55
bb_pullback_12__chandelier_atr3ret +151% Sh 1.05ret +45% Sh 0.63ret +41% Sh 0.58
ens_v51__breakeven_70_30_180ret +346% Sh 0.91ret +79% Sh 0.56ret +73% Sh 0.57
bb_20__scaled_30_100ret +255% Sh 0.89ret +64% Sh 0.57ret +38% Sh 0.44
ens_v51__fixed_70_30_180ret +311% Sh 0.88ret +44% Sh 0.43ret +41% Sh 0.44
hammer__chandelier_atr3ret +166% Sh 0.87ret -7% Sh -0.11ret -5% Sh -0.08
macd__fixed_100_40_365ret +260% Sh 0.86ret +69% Sh 0.57ret +64% Sh 0.70
bb_20__breakeven_70_30_180ret +230% Sh 0.85ret +57% Sh 0.53ret +61% Sh 0.56
rsi_divergence__trail_25_180ret +148% Sh 0.83ret +48% Sh 2.92ret +48% Sh 2.92
bb_20__partial_50_trail25ret +269% Sh 0.83ret +67% Sh 0.54ret +38% Sh 0.45

Phase D — Universe Expansion

5개 top 전략을 6개 universe variant로 재실행.

Universe size

VariantUnique symbolsAvg/monthMax/month
V0_baseline461.912
V1_looser_cash593.619
V2_looser_ath572.415
V3_smaller_mcap582.716
V4_combined_relax986.234
V5_tight180.45

Sharpe by universe × strategy

entry                        bb_20                  bb_pullback_12             ens_v51                
exit              fixed_100_40_365 fixed_30_50_180 chandelier_atr3 breakeven_70_30_180 fixed_70_30_180
universe                                                                                              
V0_baseline                   1.07            0.67            1.05                0.91            0.88
V1_looser_cash                0.79            0.49            0.97                0.57            0.67
V2_looser_ath                 0.88            0.56            0.49                0.66            0.70
V3_smaller_mcap               0.92            0.63            0.92                0.73            0.79
V4_combined_relax             0.75            0.50            0.71                0.35            0.52
V5_tight                      0.04            0.29            0.79                0.56            0.48

Observations:

  • V0 (baseline) 가 전반적으로 최고 Sharpe — 현재 유니버스 설정이 이미 optimal에 가까움.
  • V1/V2 완화 시 Sharpe 약간 하락 — 품질 희석 우세.
  • V5 (매우 tight, Cash/MCap≥3) — 유니버스 붕괴 (18 symbols), 대부분 전략 실패.
  • V3 (MCap $10M로 완화) — Sharpe 유지하며 trades 증가 가능 (좋은 타협점).

Phase F — Winner Deep Dive

Feature histograms Feature importance

Mann-Whitney U test (winner vs loser, 142 trades across top 10 configs):

FeatureWinner meanLoser meanDiffp-value
log_price+1.032+1.770-0.7380.0007
ath_distance-0.979-0.968-0.0110.0319
volatility_20d+0.058+0.069-0.0110.2479
close_position_today+0.552+0.536+0.0160.6263
bb_position+0.108+0.178-0.0700.6492
rsi_14+48.349+50.506-2.1570.6569
momentum_5d+0.073+0.086-0.0120.9065
vol_ratio_20d+1.621+7.755-6.1340.9472
avg_range_20d+0.092+0.094-0.0020.9881

Key findings:

  • log_price (p=0.0007): Winners 평균 e^{1.03}5.87 (). → 더 싼 종목일수록 승률 높음 — Dan의 직감 확증.
  • ath_distance (p=0.03): Winners 평균 -97.9% vs Losers -96.8%. → ATH에서 더 많이 떨어진 종목이 승률 높음 — deep value bias 유효.
  • 다른 feature (RSI, volume ratio, BB position 등)는 통계적 유의미 없음 — 바이오텍 reversal은 전통적 technical indicator보다 구조적 저평가가 핵심.

v11 아이디어: 진입 시 log_price < 2 (약 $7 이하) 필터 추가 시 승률 개선 여지.

Overall Charts

Grade distribution CI vs Grade

🎯 Conclusions

Grade A 전략

없음 — 어떤 전략도 5개 기준 모두 통과 못함. 이는 예상된 결과 (v9 자체가 탐색 단계였고, strict grade는 의도적으로 aggressive).

Grade B 전략 (추가 검증 후 실전 가능)

  • bb_20__fixed_100_40_365: score 4/5, CI lower bound 1.34, walk-forward top-10 2회
  • ens_v51__breakeven_70_30_180: score 3/5, CI lower bound 1.24, walk-forward top-10 2회
  • bb_20__partial_50_trail25: score 3/5, CI lower bound 1.07, walk-forward top-10 0회
  • bb_20__scaled_30_100: score 3/5, CI lower bound 1.06, walk-forward top-10 1회
  • ens_v51__fixed_70_30_180: score 3/5, CI lower bound 1.01, walk-forward top-10 1회
  • macd__fixed_100_40_365: score 3/5, CI lower bound 0.81, walk-forward top-10 0회
  • bb_20__breakeven_70_30_180: score 3/5, CI lower bound 1.17, walk-forward top-10 0회

v10 Main Takeaways

  1. bb_20 × fixed_100_40_365는 진짜 edge 있음 — Bootstrap CI [1.34, 3.20]로 통계적 신뢰 강함. 단, walk-forward에서 매년 top 아님 (불규칙적 대박). 배포 시 심리적 부담 큼.

  2. Ensemble (v51) 전략이 walk-forward에서 가장 robust — 매년 꾸준히 top. 절대 수익은 bb_20보다 낮지만 연도별 분산이 작음. 실전 스트레스 낮음.

  3. Regime filter 무용론 — bear market에서 오히려 더 잘 되는 전략. XBI 200MA 필터는 역설적으로 성과 감소.

  4. 유니버스 완화해도 edge 유지 — V3 (MCap $10M)에서도 Sharpe 0.92 유지. 즉, 10M~20M 구간으로 확장해 거래 수 증가 여지 있음.

  5. 가격이 모든 것 — Winner vs Loser의 가장 큰 차이는 log_price. 저가 bio가 구조적으로 더 잘 튐.

실전 배포 권장 (Grade B+)

단일 best config 말고 포트폴리오 of strategies:

  • 70% ens_v51 × breakeven_70_30_180 (안정적 base)
  • 30% bb_20 × fixed_100_40_365 (tail capture)

이 구성은:

  • Walk-forward consistency (ens_v51)
  • Bootstrap edge confidence (bb_20)
  • Bear-friendly (both 확인됨)
  • MaxDD 분산

v11 방향 제안

  1. 가격 필터 추가log_price < 2 필터로 승률 개선 (Phase F 근거)
  2. Universe V3 (MCap $10M) 채택 실험 — 거래 수 증가 + edge 유지 여부
  3. Paper trading — 3~6개월 실시간 검증 후 실자본 투입
  4. Position sizing (Phase E 미완) — Kelly/vol-target 구현 후 결과 확인

Data Index

Phase A

  • phase_a_walk_forward/walk_forward_raw.csv — 전체 raw (config × year × metrics)
  • phase_a_walk_forward/top10_per_year.csv — 연도별 top 10
  • phase_a_walk_forward/consistency_ranking.csv — config별 top-10 진입 횟수

Phase B

  • phase_b_bootstrap/bootstrap_results.csv — top 20의 CI
  • phase_b_bootstrap/sharpe_ci_chart.png

Phase C

  • phase_c_regime/xbi_regime.csv, regime_breakdown.csv, regime_filter_experiment.csv
  • 차트 3개

Phase D

  • phase_d_universe/universe_expansion_results.csv, universe_sizes.csv

Phase F

  • phase_f_winner_dive/enriched_trades.csv, winner_loser_comparison.csv
  • 차트 2개

Final Grade Table

  • final_grades.csv