백테스팅
과거 데이터로 전략을 검증하는 방법
12분레슨 7 / 10
백테스팅이란?
백테스팅은 과거 차트 데이터를 사용해 전략의 유효성을 검증하는 과정입니다. 실제 돈을 투입하기 전에 전략이 작동하는지 확인하는 필수 단계입니다.
왜 백테스팅을 해야 하는가?
- 전략의 기대값 확인 — 이 전략이 장기적으로 수익을 내는가?
- 승률과 R:R 데이터 확보 — 감이 아닌 숫자로 판단
- 전략에 대한 확신 — 연패 중에도 전략을 신뢰할 수 있는 근거
- 약점 발견 — 어떤 시장 상황에서 전략이 실패하는가?
백테스팅 방법
방법 1: 차트 리플레이
TradingView의 Bar Replay 기능 사용:
- 과거 날짜로 이동
- 캔들을 하나씩 진행하면서 분석
- 진입/손절/익절을 실시간처럼 기록
- 미래 캔들을 보지 않는 것이 핵심
방법 2: 스크린샷 분석
- 과거 차트에서 셋업 식별
- 스크린샷 촬영
- 진입/손절/익절 표시
- 결과 기록
방법 3: 수동 기록
엑셀/구글시트에 기록:
| 항목 | 내용 |
|---|---|
| 날짜 | 2026-03-14 |
| 자산 | BTC/USDT |
| 방향 | 매수 |
| 모델 | OB 리테스트 |
| 진입가 | $68,300 |
| 손절가 | $67,700 |
| TP1 | $69,500 |
| TP2 | $71,000 |
| 결과 | TP1 도달 |
| R:R | 1:2 |
| 승/패 | 승 |
유효한 백테스팅의 조건
최소 100회 샘플
- 20~30회는 통계적으로 의미 없음
- 100회 이상이어야 전략의 실제 승률을 알 수 있음
- 가능하면 200~300회 추천
다양한 시장 상태 포함
- 상승장에서만 테스트 ≠ 유효한 백테스팅
- 상승, 하락, 횡보 모두 포함해야 함
- 고변동성, 저변동성 시기 모두 포함
현실적 조건 적용
- 스프레드/수수료 포함
- 슬리피지 감안
- 레버리지 비용 포함
백테스팅 결과 해석
핵심 지표
| 지표 | 기준 |
|---|---|
| 순 수익 | 양수 (당연) |
| 승률 | 40%+ (R:R 1:2 기준) |
| 최대 연패 | 10회 미만 |
| 최대 드로우다운 | 15% 미만 |
| 수익 팩터 | 1.5+ (총이익/총손실) |
| 평균 R:R | 1:2+ |
경고 신호
- 승률 80%+ → 과최적화(Overfitting) 의심
- 최대 연패 15회+ → 실전에서 심리적으로 버틸 수 있는가?
- 특정 기간에만 수익 → 시장 상태 의존적
백테스팅 → 포워드 테스팅 → 실전
- 백테스팅 (100회+, 과거 데이터)
- 포워드 테스팅 (30회+, 데모 계좌 실시간)
- 소액 실전 (최소 리스크로 실제 거래)
- 정상 실전 (자신감 + 데이터 기반 리스크 조절)