백테스트
백테스트는 일종의 타임머신 놀이예요. '이런 조건이 되면 사고, 이렇게 되면 판다'는 규칙을 하나 정한 다음, 과거 차트로 돌아가 그 규칙대로 기계처럼 매매했다고 치고 결과를 전부 더해보는 거예요. 감이나 기억이 아니라 데이터로 세기 때문에, '그때 샀으면 벌었을 텐데' 같은 선택적 기억의 함정을 피할 수 있어요.
예를 들어 'RSI가 30 아래로 내려가면 사서 24시간 뒤에 판다'는 규칙을 백테스트한다고 해볼게요. 과거 2년치 1시간봉에서 이 신호가 500번 나왔고, 그중 260번은 24시간 뒤 가격이 올라 있었다면 승률은 52%예요. 동전 던지기가 50%니까, 이 규칙은 동전보다 아주 조금 나은 수준이라는 걸 알게 되는 거죠.
승률만 봐서는 안 돼요. 맞을 때 얼마나 벌고 틀릴 때 얼마나 잃는지가 함께 계산돼야 해요. 승률 52%라도 이길 때 1%씩 벌고 질 때 2%씩 잃는 규칙이라면 계좌는 줄어들어요. 여기에 매번 나가는 수수료까지 빼면 얇은 우위는 통째로 사라지기도 해요.
백테스트가 망가지는 단골 원인은 세 가지예요. 첫째, 미래 정보 누출 — 그 시점에는 알 수 없었던 정보(예: 그날 종가가 확정되기 전의 값)를 슬쩍 쓰면 성적이 가짜로 좋아져요. 둘째, 수수료·체결 누락 — 실제로는 수수료가 나가고 원하는 가격에 체결이 안 되기도 하는데 이걸 빼먹으면 낙관적인 숫자가 나와요. 셋째, 사례 수 부족 — 신호가 과거에 10번밖에 안 나왔다면 승률 70%도 그냥 우연일 수 있어요.
그래서 백테스트는 '이 규칙으로 벌 수 있다'를 증명하는 도구가 아니라, 근거 없는 통념을 숫자로 확인하는 도구로 쓰는 게 정직한 사용법이에요. '과매도면 반등한다더라' 같은 말을 들었을 때, 실제로 세어보면 어땠는지 과거 분포를 확인하는 거예요. 미래 예측이 아니라 과거 기록이라는 점만 잊지 않으면, 초보자가 통념과 데이터를 구분하는 데 가장 좋은 연습이 돼요.
실제 데이터로 보면
바로바라의 셋업 카탈로그와 /odds 페이지들이 바로 이 백테스트 결과예요. 비트코인 차트에서 자주 쓰이는 신호들이 과거에 실제로 몇 번 나왔고 그 뒤에 오른 경우가 몇 %였는지를 그대로 공개하는데, 결과를 미리 말하면 대부분의 신호는 이후 오르내림이 거의 반반이에요. 예를 들어 RSI 과매도(1시간봉) 결과를 보면 '과매도니까 반등'이라는 통념이 실제 숫자와 얼마나 다른지 확인할 수 있어요. 수수료가 결과를 얼마나 깎아먹는지는 수수료 페이지에서 볼 수 있어요.흔한 오해
'백테스트 승률이 높으면 돈을 번다'는 흔한 오해예요. 승률은 몇 번 맞았는지만 셀 뿐, 맞을 때 얼마나 벌고 틀릴 때 얼마나 잃는지는 말해주지 않아요. 승률 90%짜리 규칙도 열 번에 한 번 크게 잃으면 계좌는 마이너스가 될 수 있어요.
'과거에 통했으니 앞으로도 통한다'도 위험한 생각이에요. 시장 분위기가 바뀌면 과거에 잘 맞던 규칙이 안 맞게 되는 일이 흔해요. 백테스트는 보장이 아니라 과거 기록일 뿐이에요.
자주 묻는 질문
Q. 백테스트는 코딩할 줄 알아야만 할 수 있나요?
직접 하려면 프로그래밍이 필요하지만, 이미 계산된 결과를 보는 것부터 시작해도 충분해요. 바로바라의 /odds 페이지처럼 신호별 과거 결과를 공개하는 자료를 먼저 읽어보고, 직접 해볼 때는 수수료 반영과 사례 수 확보에 특히 신경 쓰세요.
Q. 백테스트 승률이 52%면 좋은 건가요?
동전 던지기(50%)와 큰 차이가 없는 수준이고, 수수료를 빼면 사라질 수 있는 우위예요. 게다가 사례 수가 적으면 그 2%p 차이 자체가 우연일 수 있어요. 승률 하나만 보지 말고 사례 수, 손익 크기, 수수료를 함께 봐야 해요.