차트 스터디 노트 기술적 분석 개인 학습서

백테스트와 검증

Backtesting & Validation
중급검증

먼저 볼 것 리스크 관리와 손절의 기본

매매 규칙을 과거 데이터에 적용해 성과를 확인하는 과정입니다. 하지만 잘못된 백테스트는 존재하지 않는 수익을 보여 주므로, 흔한 함정과 그것을 피하는 검증 절차를 먼저 알아야 합니다.

1회차2회차3회차4회차5회차학습(표본 내)검증시간 →워크포워드: 학습 구간에서 정한 규칙을 바로 뒤 구간에서만 평가하고 한 칸씩 이동
워크포워드 검증의 구조. 앞부분(학습 구간)에서 규칙과 파라미터를 정하고, 바로 뒤 구간(검증)에서만 성과를 평가한 뒤 창을 한 칸씩 옮깁니다. 검증 구간들의 성과를 이어 붙인 것이 실제에 가까운 성과입니다.
이 페이지 목차

1개념

백테스트의 목적은 '이 규칙이 과거에 돈을 벌었는가'가 아니라 '이 규칙이 미래에도 통할 근거가 있는가'를 확인하는 것입니다. 과거 데이터는 한 번뿐이므로, 규칙을 계속 바꿔 가며 같은 데이터로 시험하면 결국 과거에만 맞는 규칙을 찾게 됩니다(과최적화). 데이비드 베일리(David H. Bailey)와 마르코스 로페스 데 프라도(Marcos López de Prado)는 많은 전략을 시험할수록 우연히 좋아 보이는 결과가 나올 확률이 커지므로 성과 지표를 시도 횟수에 맞게 할인해야 한다는 '디플레이티드 샤프 비율(Deflated Sharpe Ratio)' 개념을 제시했습니다.

2함정과 대책

함정내용대책
미래 정보 참조(look-ahead)그날 종가로 신호를 내고 그날 종가에 체결한 것처럼 계산, 나중에 수정된 데이터 사용 등신호는 봉 마감 후, 체결은 다음 봉 시가로. 데이터 시점 관리
생존 편향현재 상장된 종목만으로 과거를 시험(상장폐지 종목 누락)상장폐지 종목을 포함한 데이터 사용
과최적화(오버피팅)파라미터를 과거에 딱 맞게 조정파라미터 수 최소화, 주변 값에서도 성과가 유지되는지(강건성) 확인
다중 검정수백 가지 조합을 시험하고 가장 좋은 것만 보고시도 횟수 기록, 표본 외 검증, 성과 지표 할인
거래 비용 누락수수료, 세금, 슬리피지, 호가 단위 무시보수적인 비용 가정(왕복 비용을 넉넉히)
수정주가 처리액면분할·배당을 반영하지 않은 가격 사용, 또는 수정주가로 과거 체결 가능 가격을 왜곡신호 계산과 체결 가격의 기준을 분리해 점검
표본 부족매매 30건 미만으로 결론충분한 거래 수, 여러 시장 국면 포함
  1. 가설을 먼저 글로 적는다(왜 이 규칙이 통해야 하는가).
  2. 데이터를 학습 구간과 표본 외 구간으로 나누고, 표본 외 구간은 마지막에 한 번만 쓴다.
  3. 학습 구간에서 규칙을 만들고, 워크포워드로 여러 구간을 검증한다.
  4. 비용을 보수적으로 넣고, 파라미터를 조금씩 바꿔도 결과가 무너지지 않는지 본다.
  5. 몬테카를로(거래 순서 섞기)로 낙폭 범위를 확인한다.
  6. 소액 실전 또는 모의 매매로 실제 체결과 비교한다.

3해석

좋은 백테스트 결과보다 '그럴듯하게 나쁜' 결과가 더 믿을 만하다는 말이 있습니다. 수익 곡선이 지나치게 매끈하거나 승률이 비현실적으로 높으면 미래 정보 참조나 비용 누락을 먼저 의심합니다. 또한 수익의 대부분이 몇 건의 거래에서 나왔다면, 그 몇 건을 빼고도 전략이 유지되는지 확인합니다.

백테스트 결과는 실전 성과의 '상한'에 가깝습니다. 실전에서는 체결 지연, 심리적 실행 오류, 시장 구조 변화가 더해지므로, 백테스트 최대 낙폭보다 더 큰 낙폭(흔히 1.5~2배 정도로 언급됨)을 실전에서 겪을 수 있다고 가정하는 보수적인 태도가 안전합니다. 낙폭 관리는 드로다운 페이지를 참고하세요.

4매매 활용 예시

예시
20일 신고가 돌파 전략을 2010~2020년 데이터로 만들었다면, 2021년 이후 데이터는 손대지 않고 남겨 둡니다. 학습 구간에서는 돌파 기간 20만 정하고, 15·25·30에서도 성과가 비슷한지 확인합니다. 왕복 비용을 0.3%로 넣고, 신호 다음 날 시가 체결로 계산합니다. 마지막에 2021년 이후 구간에서 한 번 검증하고, 결과가 학습 구간보다 크게 나쁘면 전략을 폐기하거나 처음부터 다시 생각합니다.

5주의점 · 한계

표본 외 구간을 여러 번 들여다보면 그 구간도 학습 구간이 됩니다.

차트 유형(렌코, 하이킨아시)이 실제 가격과 다르면 백테스트가 왜곡됩니다.

과거 성과는 미래를 보장하지 않습니다.

백테스트 도구의 기본 설정(체결 시점, 수수료, 수정주가 여부)을 확인하지 않으면 같은 규칙도 결과가 크게 달라집니다.

6한국 시장에서는

제도가 바뀐 날을 경계로 표시하세요: 국내 주식 백테스트는 같은 규칙이라도 제도가 바뀐 시점을 사이에 두면 결과가 달라질 수 있습니다. 확인된 주요 경계는 다음과 같습니다.

국내 주식 백테스트에서 구간을 나눠 볼 제도 변화 (2026년 10월 확인)
날짜변화영향
2015-06-15가격제한폭 ±15% → ±30%하루 최대 손익, 상·하한가 빈도, ATR 크기
2025-03-04대체거래소 넥스트레이드(NXT) 거래 시작KRX 거래량 분산, 장 전·후 가격 형성
2025-03-31공매도 전면 재개하락 압력과 반등 패턴의 차이
2026-01-01증권거래세율 변경(코스피 0.05%+농특세 0.15%, 코스닥 0.20%)회전율 높은 전략의 비용
2026-09-14KRX 애프터마켓(16:00~20:00) 시작(개시일은 보도·증권사 공지 기준, 거래소 공지 원문은 미확인)장 후 가격 움직임, 일봉 데이터 정의

공매도 제한 기간과 제도는 공매도, 가격제한폭과 애프터마켓은 한국 시장 제도와 차트, 세금과 수수료는 거래 비용 페이지를 참고하세요.

더 깊이
워크포워드 결과를 숫자 하나로 요약하는 워크포워드 효율(WFE), 시도한 전략 수를 반영해 샤프 비율을 깎는 디플레이티드 샤프 비율(DSR), 조합 교차검증으로 과최적화 확률(PBO)을 추정하는 방법은 워크포워드 검증과 과최적화에서 계산 예시와 함께 다룹니다. 기술적 매매 규칙의 수익성을 검증한 학술 연구는 효율적 시장 가설과 기술적 분석 실증 연구에 정리했습니다.

+함께 보면 좋은 페이지

백테스트 결과를 위험 대비로 비교하는 지표는 성과 지표: 샤프 · 소르티노 · 칼마 · 프로핏 팩터에서 다룹니다. 수수료·세금·미끄러짐을 결과에 반영하는 방법은 거래 비용 · 미끄러짐을 보세요.

참고한 자료: William F. Sharpe(샤프 비율), Frank A. Sortino(소르티노 비율)의 지표 정의. 그 밖의 내용은 특정 자료를 직접 인용하지 않은 일반 개념 정리입니다.

확인일 · 제도·수치는 이 날짜 기준입니다. 작성 원칙