백테스트 데이터에서 좋은 구간만 골랐을 때 생기는 일, 같은 규칙의 결과를 구간별로 나눠 봤습니다
백테스트 데이터에서 좋은 구간만 고르면 같은 이동평균 규칙이 1년 −46.1%에서 +579.3%까지 나옵니다. 연도별 결과와 2년·3년 구간 통계로 구간 고르기의 실수를 계산했습니다.
목차
백테스트 데이터를 고를 때 가장 흔한 실수는 결과가 좋은 구간만 남기는 것입니다. 의도하지 않아도 생기는 일입니다. 같은 20·60일 이동평균 규칙이 1년 구간으로는 최악 −46.1%에서 최고 +579.3%까지 나왔고, 연도별로는 2020년 +184.7%, 2022년 −33.9%였습니다.
이 글은 같은 규칙, 같은 데이터에서 구간만 바꿔 얼마나 다른 이야기가 만들어지는지 숫자로 보여 줍니다. 20일선이 60일선 위에 있을 때만 비트코인을 보유하고 마감 일봉으로 신호를 본 뒤 다음 날부터 적용하며 편도 0.1%의 비용을 넣었습니다. 바이낸스 일봉 2018년 7월 20일부터 2026년 10월 31일까지를 썼습니다.
백테스트 데이터 연도별로 자르면 해마다 다른 결론
달력 연도별로 같은 규칙의 수익과 같은 해 비트코인 보유 수익을 비교했습니다.
- 2019년 — 규칙 수익: +110.1% · 같은 해 보유: +94.3% · 규칙이 앞선 쪽: 규칙
- 2020년 — 규칙 수익: +184.7% · 같은 해 보유: +302.0% · 규칙이 앞선 쪽: 보유
- 2021년 — 규칙 수익: +112.6% · 같은 해 보유: +59.8% · 규칙이 앞선 쪽: 규칙
- 2022년 — 규칙 수익: −33.9% · 같은 해 보유: −64.2% · 규칙이 앞선 쪽: 규칙
- 2023년 — 규칙 수익: +99.6% · 같은 해 보유: +155.6% · 규칙이 앞선 쪽: 보유
- 2024년 — 규칙 수익: +49.3% · 같은 해 보유: +121.3% · 규칙이 앞선 쪽: 보유
- 2025년 — 규칙 수익: +3.3% · 같은 해 보유: −6.3% · 규칙이 앞선 쪽: 규칙
- 2026년(10월 31일까지) — 규칙 수익: −5.6% · 같은 해 보유: −11.5% · 규칙이 앞선 쪽: 규칙
8개 연도 중 규칙이 보유보다 앞선 해는 5번, 뒤진 해는 3번이었습니다. 앞선 해만 모으면 "이 규칙은 보유를 이긴다"는 글이 되고, 뒤진 해만 모으면 "규칙은 상승장에서 보유보다 못하다"는 글이 됩니다. 두 글 모두 숫자는 맞지만 읽는 사람이 받는 결론은 정반대입니다.

백테스트 데이터 기간을 고르는 순간 생기는 선택 편향
연도별 표를 본 사람은 자연스럽게 가장 그럴듯해 보이는 구간을 고르게 됩니다. 2021년처럼 +112.6%가 나온 해, 또는 2022년처럼 보유 −64.2%를 −33.9%로 막은 해가 눈에 띕니다. 이렇게 골라 쓰는 것을 구간 고르기(체리피킹)라고 부릅니다.
문제는 의도가 없어도 생긴다는 점입니다. 개발 중에 결과가 나쁜 구간을 보고 "이 시기는 특수한 시장이라 제외하자"고 생각하는 순간 이미 선택이 시작된 것입니다. 이 글의 표는 모든 해를 그대로 보여 주지만, 보고서에는 일부 해만 실리는 일이 흔합니다.
백테스트 데이터를 2년·3년으로 늘리면 달라지는 것
시작일을 하루씩 옮기며 같은 규칙의 구간 수익을 모두 계산하면 구간이 길어질수록 결과가 안정됩니다.
- 1년 — 구간 수: 2,662개 · 플러스 비율: 71.2% · 최저: −46.1% · 중앙값: +34.6% · 최고: +579.3% · 보유보다 나은 비율: 53.9%
- 2년 — 구간 수: 2,297개 · 플러스 비율: 89.1% · 최저: −29.3% · 중앙값: +104.7% · 최고: +1,194.4% · 보유보다 나은 비율: 52.7%
- 3년 — 구간 수: 1,932개 · 플러스 비율: 100% · 최저: +11.2% · 중앙값: +175.5% · 최고: +1,409.6% · 보유보다 나은 비율: 58.3%
1년 구간은 10번 중 3번이 손실이었지만 3년 구간은 모두 플러스였습니다. 가장 좋은 1년은 2020년 9월 7일에 시작한 구간(+579.3%), 가장 나쁜 1년은 2021년 11월 10일에 시작한 구간(−46.1%)이었습니다. 두 구간은 14개월 차이로 시작했을 뿐인데 결과가 600%포인트 넘게 갈렸습니다.
주목할 점은 마지막 열입니다. 구간을 아무리 길게 잡아도 이 규칙이 보유보다 나은 비율은 52.7%에서 58.3% 사이였습니다. 기간을 늘리면 손실 가능성은 줄지만 "보유를 이긴다"는 결론이 그만큼 확실해지지는 않았습니다.

구간 고르기를 막으려면 무엇을 먼저 정해 두나
실수를 줄이는 방법은 결과를 보기 전에 기준을 정하는 것입니다. 세 가지를 순서대로 지킵니다.
- 데이터 시작일과 끝일을 결과를 보기 전에 정하고 기록합니다.
- 제외하는 구간이 있다면 이유를 결과 확인 전에 적습니다. 결과가 나쁜 구간을 보고 이유를 만들지 않습니다.
- 보고서에는 연도별 표 전체와 구간 길이별 분포를 함께 싣습니다.
이 글에서 같은 규칙을 8개 연도, 구간 길이 3가지로 나눠 본 이유도 이 때문입니다. 하나의 숫자만 보여 주면 읽는 사람이 판단할 재료가 없습니다.

시스템트레이딩이라면 백테스트 구간을 어떻게 다루는가
시스템트레이딩에서는 백테스트 구간을 규칙 안에 넣습니다. 구간을 마음대로 바꿀 수 있는 자유가 가장 큰 편향의 원천이기 때문입니다.
- 구간을 고정하고 바꿀 때는 기록합니다. 어느 시점의 데이터까지 썼는지 남겨 두면 나중에 같은 조건으로 다시 계산할 수 있습니다.
- 가장 나쁜 구간을 기준으로 비중을 정합니다. 1년 최저 −46.1%, 2년 최저 −29.3%를 알고 시작하면 "견딜 수 있는 낙폭"을 먼저 정하게 됩니다.
- 최근 구간을 별도로 봅니다. 2026년 −5.6%처럼 최근 흐름이 과거 평균과 다를 수 있으므로 전체 숫자만 보고 안심하지 않습니다.
퀀트알파는 백테스트 결과를 하나의 기간이 아니라 여러 기간의 성적과 낙폭으로 확인합니다. 여기서 쓴 규칙은 설명을 위해 고른 단순한 예시이고 퀀트알파가 실제로 운용하는 전략은 아닙니다. 같은 맥락의 글은 "백테스트 과최적화 실험"과 "몬테카를로 시뮬레이션"에서 정리했습니다.
백테스팅 과최적화, 비트코인 이동평균 162개 조합으로 확인한 학습과 검증의 차이백테스팅 과최적화를 비트코인 데이터로 직접 시험했습니다. 이동평균 교차 162개 조합 중 학습 구간 1위(+126%)는 검증 구간에서 −24%로 160위였고, 두 구간 순위 상관은 −0.13이었습니다. 과최적화를 줄이는 백테스트 방법을 정리합니다.quant-alpha.kr
몬테카를로 시뮬레이션 활용, 비트코인 추세 전략 거래 55번을 1만 번 다시 돌린 결과몬테카를로 시뮬레이션 활용법을 비트코인 100일선 전략으로 보여 줍니다. 거래 55번을 1만 번 다시 뽑아 보니 최대 손실 중앙값 −41%, 하위 5%는 −65%로 백테스트의 −31%보다 훨씬 컸습니다. 방법과 단점도 정리합니다.quant-alpha.kr
자주 묻는 질문
Q. 백테스트 데이터는 몇 년 치가 적당한가요?
A. 정해진 정답은 없지만 이 계산에서는 1년 구간의 28.8%가 손실이었고 3년 구간은 모두 플러스였습니다. 가능하면 상승장과 하락장이 모두 들어가도록 3년 이상으로 잡고 시작일을 여러 개로 바꿔 확인하는 편이 좋습니다.
Q. 백테스트에서 좋은 구간만 고르면 어떤 문제가 생기나요?
A. 같은 규칙이 구간에 따라 1년 −46.1%에서 +579.3%까지 나왔습니다. 좋은 구간만 고르면 앞으로의 성적을 과대평가하게 됩니다.
Q. 백테스트 기간을 늘리면 결과를 믿을 수 있나요?
A. 손실 가능성은 줄지만 충분하지는 않습니다. 구간을 3년으로 늘려도 같은 규칙이 보유보다 나은 비율은 58.3%였습니다.
Q. 백테스트 데이터에서 일부 구간을 제외해도 되나요?
A. 제외 이유를 결과를 보기 전에 정해 두고 기록한다면 가능하지만, 결과가 나쁜 구간을 보고 제외하면 선택 편향이 됩니다. 제외한 구간의 성적도 함께 공개하는 편이 안전합니다.
백테스트의 좋은 구간이 아니라 여러 기간의 성적과 낙폭을 먼저 확인하는 퀀트알파의 운용 원칙이 궁금하다면 홈페이지에서 확인해 보세요.
https://quant-alpha.kr/?utm_source=web_blog&utm_medium=blog
매일 운용 현황은 퀀트알파 텔레그램 채널에서 확인해 보세요.
퀀트알파 | 비트코인 시스템트레이딩시장 국면별 BTC 자동매매 분석, 매일 전략 작동 현황과 매주 수익·손실·MDD 리포트 공개t.me/+oSDjObO-5N05NWVl출처
- 바이낸스 BTCUSDT 일봉(UTC 마감) 2018-01-01~2026-10-31 조회(2026-11-02 06:45 KST), 20·60일 이동평균 규칙의 연도별·롤링 구간 수익은 퀀트알파 자체 계산(시작일을 하루씩 옮긴 1년 2,662개·2년 2,297개·3년 1,932개)
- 계산 가정: 마감 일봉 신호를 다음 날부터 적용, 편도 비용 0.1%, 슬리피지·세금 미반영, 구간 계산 시작은 2018-07-20 이후, 연도별 보유 수익은 전년도 마지막 종가 대비