라벨이 슬리피지인 게시물 표시

백테스트로 수익률과 리스크 확인하는 법 — 데이터 구간·비용·워크포워드까지

이미지
첫 백테스트에서 저는 승률 62%, 연 28% 수익률을 만들었습니다.  입꼬리가 슬쩍 올라갔죠. 하지만 실거래 한 달, 결과는 딴판이었습니다. 그때 깨달았습니다. 문제는 전략이 아니라 검증 방식 이었다는 것을요. 그 뒤로 저는 ‘멋진 곡선’이 아니라 의사결정에 도움 되는 숫자 만 남기는 백테스트로 바꿨습니다. 오늘 그 방법을 공유합니다. 백테스트의 목표와 흔한 오해 목표 : (1) 전략의 기대값 이 플러스인지, (2) MDD 가 감내 범위 안인지, (3) 실행 가능한 리듬 (거래 빈도·회전율)인지 확인. 오해 1 — 승률 집착: 승률이 낮아도 손익비가 높으면 기대값이 좋을 수 있습니다. 오해 2 — 파라미터 놀이: 수십 번의 튜닝은 과최적화로 곧장 연결됩니다. 오해 3 — 비용 무시: 수수료·슬리피지·체결 제약을 빼면 ‘그림의 떡’입니다. 데이터 구간 설계 — In/Out 분리와 캘린더 좋은 백테스트는 구간 설계 가 절반입니다. 저는 아래 순서를 고정합니다. In-Sample 로 전략을 설계(예: 2016–2021). Out-of-Sample 로 성능을 확인(예: 2022–2023). 워크포워드 : 2년 학습 → 1년 테스트를 롤링 으로 반복(여러 구간에서 일관성 확인). 캘린더·정합성 체크 휴장·조기폐장·서머타임 반영(거래 캘린더 테이블 고정). 상장폐지/분할/배당 조정가격(Adjusted) 사용. 생존편향 제거(퇴출 종목 포함 데이터셋). 지표는 모두 과거 시점 으로 계산(미래 정보 누출 금지). 비용·체결 제약을 현실적으로 반영 수수료 : 매수·매도 각각 bps로 반영(시장·브로커 요율 기준). ...