DipBuyStrategy 손절×익절 슬라이딩 윈도우 검증 결과

DipBuyStrategy(5시간 내 -5% 하락 시 매수, FreqAI 없음, user_data/strategies/dip_buy_strategy.py)의 손절/익절 파라미터를 슬라이딩 윈도우로 검증한 결과 정리. 반기(H1/H2) 스냅샷만으로는 우연을 못 거른다는 이 프로젝트의 반복된 교훈에 따라, 최종 후보를 확정하기 전에 촘촘한 겹치는 윈도우로 재검증했다.

진행 순서

  1. 1차 확인 (익절3%/손절10%, 반기 스냅샷): 18개월 전체 -2.20%, 승률 71.7%.
  2. 손절/익절 2단계 스윕 (dip_buy_roi_stoploss_sweep.py, 손절 -1%-25% × 익절 25%, 반기/전체 스냅샷 108개 조합): 손절을 좁힐수록 뚜렷하게 나빠지고, 넓힐수록(-15%~-20%) 개선되며 처음으로 반기 스냅샷 기준 플러스가 나옴. 최고 후보: 손절-15%/익절4% (+1.38%), 손절-20%/익절4% (+1.36%).
  3. 슬라이딩 윈도우 재검증 (이 문서, scripts/dip_buy_sliding_window_sweep.py): 익절 47% × 손절 1025%(4×4=16조합) × 1/2/3/12개월 겹치는 윈도우(58개, 2025-01~2026-07, 월 단위 슬라이딩) = 928개 백테스트.

전체 결과 (16개 조합, 12개월 롤링 평균수익 기준 정렬)

익절손절12mo 플러스 비율12mo 최소~최대12mo 평균1mo 플러스%2mo 플러스%3mo 플러스%전체평균PF
5%-20%7/7 (100%)+0.10% ~ +1.53%+0.76%50.0%64.7%68.8%0.92
4%-20%5/7 (71%)-0.22% ~ +1.19%+0.37%38.9%58.8%68.8%0.70
5%-15%4/7 (57%)-0.67% ~ +1.28%+0.36%50.0%64.7%62.5%0.78
4%-15%3/7 (43%)-0.78% ~ +1.47%+0.11%44.4%52.9%62.5%0.64
6%-15%2/7 (29%)-0.64% ~ +0.97%+0.06%33.3%41.2%56.2%0.82
5%-25%3/7 (43%)-1.14% ~ +1.30%+0.01%55.6%58.8%56.2%1.08
6%-20%2/7 (29%)-0.86% ~ +1.81%-0.01%44.4%64.7%68.8%1.15
7%-15%5/7 (71%)-0.57% ~ +0.28%-0.05%22.2%41.2%50.0%0.80
7%-20%3/7 (43%)-1.25% ~ +0.46%-0.32%38.9%52.9%50.0%1.19
4%-25%2/7 (29%)-1.15% ~ +0.65%-0.34%44.4%58.8%56.2%2.16
4%-10%1/7 (14%)-1.89% ~ +0.42%-0.93%38.9%47.1%50.0%0.67
6%-25%2/7 (29%)-2.75% ~ +1.47%-1.39%38.9%64.7%62.5%1.56
6%-10%2/7 (29%)-3.01% ~ +1.02%-1.59%38.9%52.9%50.0%0.80
5%-10%1/7 (14%)-2.85% ~ +0.02%-1.82%33.3%41.2%43.8%0.72
7%-10%0/7 (0%)-2.76% ~ -0.49%-1.87%27.8%41.2%43.8%0.79
7%-25%0/7 (0%)-3.23% ~ -0.57%-2.03%38.9%52.9%43.8%1.65

(12mo 플러스 비율 = 7개 12개월 롤링 윈도우 중 수익률이 플러스였던 개수. 데이터가 2025-01~2026-07(18개월)뿐이라 7개 윈도우는 한 달씩 밀리며 서로 최대 11/12개월이 겹친다 — 완전히 독립적인 7번의 검증은 아니라는 점에 유의.)

최고 조합: 익절 5% / 손절 -20%

12개월 롤링 윈도우 7개 전부 플러스 — 이 프로젝트에서 시도한 모든 전략/파라미터 조합을 통틀어 처음 나온 결과다. 가장 성적이 나빴던 최근 구간(2025-07~2026-07, 다른 전략들이 대부분 최악의 성적을 낸 구간)에서도 +0.10%로 플러스를 유지했다.

12개월 구간거래수승률수익률최대낙폭profit_factor
2025-01 ~ 2026-012882.1%+1.53%1.26%1.37
2025-02 ~ 2026-022979.3%+0.85%1.26%1.17
2025-03 ~ 2026-032580.0%+0.56%1.86%1.13
2025-04 ~ 2026-042479.2%+0.52%1.71%1.12
2025-05 ~ 2026-051984.2%+0.99%1.71%1.33
2025-06 ~ 2026-061883.3%+0.74%1.72%1.25
2025-07 ~ 2026-071872.2%+0.10%1.73%1.03

승률 7284%, 최대낙폭 1.261.86%로 지금까지 검증한 모든 전략 중 가장 낮은 리스크 프로필을 보이면서 수익도 꾸준하다.

주의사항

  • 윈도우 간 데이터가 크게 겹친다. 12개월 롤링 7개는 사실상 같은 18개월 데이터를 이동시키며 다시 본 것이라, “7번 독립 검증”이 아니라 “한 데이터셋 안에서 어느 시작점을 잡아도 무너지지 않았다” 정도로 해석해야 한다.
  • 전체 데이터 기간이 18개월로 짧다. 이 기간 자체가 특정 시장 국면(예: 전반적 하락/횡보)에 편향돼 있을 수 있어, 다른 시기·다른 거래소 데이터에서도 유지될지는 검증되지 않았다.
  • 손절 -20%는 거래 1건당 자본의 최대 20%를 잃을 수 있다는 뜻. 평균적으로는 낮은 낙폭(1.3~1.9%)을 보였지만, 이는 승률이 높아 손절까지 가는 거래 자체가 적었기 때문 — 포지션 사이징/동시보유 한도를 감안한 실제 자본 리스크는 별도로 검토해야 한다.
  • 거래 빈도가 낮다 (12개월당 18~29건). 표본이 작아 통계적으로도 아직 여유가 크지 않다.
  • 이 결과는 백테스트일 뿐이며, CLAUDE.md 하드 제약에 따라 백테스트 검증 후에도 dry-run/실거래 설정 반영은 별도의 명시적 결정이 필요하다.

원본 데이터

  • 전체 928행 원본: user_data/backtest_results/dip_buy_sliding_window_sweep_summary.csv (생성물 — git에는 포함되지 않음, .gitignore)
  • 재현: uv run python scripts/dip_buy_sliding_window_sweep.py