DipBuyStrategy 손절×익절 슬라이딩 윈도우 검증 결과
DipBuyStrategy(5시간 내 -5% 하락 시 매수, FreqAI 없음, user_data/strategies/dip_buy_strategy.py)의
손절/익절 파라미터를 슬라이딩 윈도우로 검증한 결과 정리. 반기(H1/H2) 스냅샷만으로는 우연을
못 거른다는 이 프로젝트의 반복된 교훈에 따라, 최종 후보를 확정하기 전에 촘촘한 겹치는 윈도우로
재검증했다.
진행 순서
- 1차 확인 (익절3%/손절10%, 반기 스냅샷): 18개월 전체 -2.20%, 승률 71.7%.
- 손절/익절 2단계 스윕 (
dip_buy_roi_stoploss_sweep.py, 손절 -1%-25% × 익절 25%, 반기/전체 스냅샷 108개 조합): 손절을 좁힐수록 뚜렷하게 나빠지고, 넓힐수록(-15%~-20%) 개선되며 처음으로 반기 스냅샷 기준 플러스가 나옴. 최고 후보: 손절-15%/익절4% (+1.38%), 손절-20%/익절4% (+1.36%). - 슬라이딩 윈도우 재검증 (이 문서,
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-01 | 28 | 82.1% | +1.53% | 1.26% | 1.37 |
| 2025-02 ~ 2026-02 | 29 | 79.3% | +0.85% | 1.26% | 1.17 |
| 2025-03 ~ 2026-03 | 25 | 80.0% | +0.56% | 1.86% | 1.13 |
| 2025-04 ~ 2026-04 | 24 | 79.2% | +0.52% | 1.71% | 1.12 |
| 2025-05 ~ 2026-05 | 19 | 84.2% | +0.99% | 1.71% | 1.33 |
| 2025-06 ~ 2026-06 | 18 | 83.3% | +0.74% | 1.72% | 1.25 |
| 2025-07 ~ 2026-07 | 18 | 72.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