백테스트에 거래가 몇 건 필요한가: 2,126건을 재표본했다
글쓴이 chwoo · 코인 매매 7년. 2026년 봄부터 자동매매 봇 운용. · · 수정
불편한 실험을 해보자. 공정한 동전을 열 번 던진다. 앞면이 일곱 번 나오는 일은 꽤 자주 있다. 그 동전이 마법이라고 결론 내리는 사람은 없다. 그런데 매매자들은 백테스트 10거래 중 7거래를 이긴 전략을 보고 승률 70% 시스템을 찾았다고 결론 내린다.
보통은 제곱근 법칙을 인용하고 넘어간다. 우리는 재보기로 했다. 결과가 크고 명확한 전략 하나를 골랐다. BTC 1시간봉 볼린저 평균회귀인데, 거래 2,126건에 승률 39.2%, 계좌의 98.1%를 잃는다. 그리고 물었다. 같은 거래들 중 더 작은 표본만 봤다면 무엇이라고 말했을까?
승률 하나에 얼마나 두꺼운 안개가 끼는가
표본 크기마다 그 2,126건에서 비복원으로 2,000번씩 무작위 표본을 뽑아 각 표본의 승률을 기록했다. 5%와 95% 열은 표본의 90%가 들어간 구간이다. 참값은 모든 줄에서 39.2%다.
| 표본 크기 | 승률 5% | 중앙값 | 승률 95% | 구간 폭 |
|---|---|---|---|---|
| 10건 | 20.0% | 40.0% | 60.0% | 40.0%p |
| 20건 | 20.0% | 40.0% | 55.0% | 35.0%p |
| 30건 | 26.7% | 40.0% | 53.3% | 26.7%p |
| 50건 | 28.0% | 40.0% | 50.0% | 22.0%p |
| 100건 | 32.0% | 39.0% | 47.0% | 15.0%p |
| 200건 | 34.0% | 39.0% | 44.5% | 10.5%p |
| 500건 | 36.0% | 39.2% | 42.4% | 6.4%p |
| 1,000건 | 37.4% | 39.2% | 41.1% | 3.7%p |
10건에서 구간은 20.0%에서 60.0%까지 뻗는다. 같은 전략, 같은 시장, 같은 기간이고, 어느 10건을 봤는지만 다르다. 승률 60%와 승률 20%는 둘 다 승률 39.2% 시스템에서 평범하게 나오는 결과다.
폭은 제곱근 법칙을 대체로 따른다. 10건에서 100건이면 표본이 열 배인데 구간은 40.0%포인트에서 15.0%포인트로 줄어든다. 법칙이 예상하는 약 3배에 가깝다. 여기서 다시 다섯 배인 500건이면 6.4%포인트가 된다. 정밀도는 비싸다. 안개를 절반으로 줄이려면 거래가 네 배 필요하다.
98%를 잃는 전략이 세 번 중 한 번은 수익으로 보인다
승률은 이 문제의 점잖은 버전이다. 같은 실험을 이번엔 각 표본의 수익률로 읽는다. 이 사이트 기본값인 진입 비중 90%로 복리 적용했다.
| 표본 크기 | 수익률 5% | 중앙값 | 수익률 95% | 수익으로 보인 표본 |
|---|---|---|---|---|
| 10건 | -9.9% | -1.5% | +7.7% | 35.9% |
| 20건 | -18.9% | -3.0% | +11.0% | 38.4% |
| 30건 | -20.1% | -4.4% | +14.4% | 26.3% |
| 50건 | -29.1% | -7.2% | +16.1% | 30.0% |
| 100건 | -39.9% | -17.7% | +17.8% | 19.3% |
| 200건 | -56.8% | -32.3% | +10.8% | 10.7% |
| 500건 | -80.8% | -60.6% | -19.2% | 2.1% |
| 1,000건 | -93.2% | -84.5% | -64.5% | 0.0% |
마지막 열을 위에서 아래로 읽어보자. 계좌의 98.1%를 파괴하는 전략이 10건 표본에서는 35.9%, 100건 표본에서도 19.3%가 수익으로 보인다. 그 숫자가 0에 닿으려면 1,000건이 필요하다. 아이디어 열 개를 각각 20건으로 검증하면 그중 몇 개는 엣지처럼 보이는 것이 정상이다. 운이 나쁜 게 아니라, 당신이 고른 검증 방식의 산수다.
그 열의 출렁임도 짚어둘 만하다. 10건에서 35.9%였다가 20건에서 38.4%로 올랐다가 30건에서 26.3%로 내려간다. 이것 자체가 표본 잡음이다. 2,000번을 뽑아 만든 측정값도 매끄럽지 않다. 작은 수에 관한 것은 아무것도 안정적이지 않은데, 작은 수에 관한 진술 자체도 그렇다.
체리피킹으로 살 수 있는 것
위 표본들은 무작위였다. 스크린샷을 고르는 사람은 무작위가 아니다. 그래서 연속 N건 창을 전 구간에 걸쳐 슬라이딩하며 길이별로 최고와 최악의 창을 남겼다.
| 창 길이 | 검사한 창 | 최고 창 | 최악 창 | 수익인 창 | 최고 창 승률 |
|---|---|---|---|---|---|
| 10건 | 2,117 | +17.9% | -17.7% | 34.9% | 80.0% |
| 20건 | 2,107 | +27.0% | -25.8% | 39.2% | 70.0% |
| 30건 | 2,097 | +43.1% | -30.2% | 25.2% | 70.0% |
| 50건 | 2,077 | +38.9% | -38.0% | 29.1% | 58.0% |
| 100건 | 2,027 | +34.7% | -52.0% | 21.1% | 50.0% |
| 200건 | 1,927 | +38.7% | -62.2% | 13.1% | 47.0% |
| 500건 | 1,627 | -22.8% | -83.2% | 0.0% | 42.2% |
98.1%를 잃는 전략의 가장 좋은 30건 구간은 승률 70%에 +43.1%였다. 가장 좋은 10건 구간은 승률 80%였다. 그 줄의 모든 숫자가 실제이고, 측정된 것이고, 재현 가능하고, 완전히 오해를 부른다. 마케팅 스크린샷은 이걸로 만든다. 조작은 전혀 필요하지 않다.
유용한 부분은 맨 아랫줄이다. 연속 500건에서는 1,627개 창 중 수익인 창이 하나도 없다. 최선의 구간이 -22.8%다. 200건과 500건 사이 어딘가 에서 이 전략은 숨을 곳이 떨어진다. 제목의 질문에 대한 구체적인 답이다. 적어도 이 전략에서는, 체리피킹이 작동하지 않게 되는 지점이 수백 건이다.
거래수와 견고함은 같은 것이 아니다
우리는 거래수가 적은 전략일수록 기간 창끼리 더 불일치할 것이라고 예상하고 확인해봤다. 데이터는 그것을 지지하지 않았다.
| 전략 | 거래수 | 7년 | 3년 | 1년 | 최대 격차 |
|---|---|---|---|---|---|
| 골든크로스 | 40 | +152.5% | +62.7% | +1.2% | 151.3%p |
| 추세 필터 RSI | 80 | +6.3% | +5.1% | +0.5% | 7.1%p |
| 슈퍼트렌드 모멘텀 | 376 | +100.2% | +24.2% | -4.9% | 106.7%p |
| RSI 30 · 70 청산 | 420 | -68.3% | -25.5% | -35.4% | 72.6%p |
| 돈치안 돌파 | 477 | -33.1% | +50.9% | -26.3% | 129.0%p |
| RSI 과매도 반등 | 676 | -84.5% | -52.3% | -39.5% | 103.7%p |
| MACD 크로스 | 1,743 | -97.6% | -65.0% | -24.4% | 116.2%p |
| 볼린저 평균회귀 | 2,126 | -98.6% | -61.5% | -51.2% | 105.1%p |
거래 40건인 골든크로스가 151.3%포인트로 가장 격차가 크다. 예상과 맞는다. 그런데 거래 2,126건인 볼린저가 105.1%포인트, 1,743건인 MACD가 116.2%포인트로 딱히 낫지 않다. 그리고 표에서 가장 격차가 작은 7.1%포인트는 거래가 80건뿐인 전략의 것이다.
설명은 이 두 열이 서로 다른 것을 재기 때문이다. 창 간 격차는 관련된 수익률의 크기에도 좌우된다. 추세 필터 RSI는 어느 창에서도 거의 움직이지 않으므로 창끼리 크게 어긋날 수가 없다. 표본 크기는 추정값의 잡음을 가둔다. 앞의 두 표가 그걸 깔끔하게 보여준다. 하지만 서로 다른 시대가 서로 동의하게 만들어주지는 않는다. 충분한 거래수와 레짐 간 일관성은 별개의 두 요구조건이고, 전략은 한쪽을 통과하면서 다른 쪽에서 떨어질 수 있다.
실제로 통한 검증
큰 표본으로 결판이 안 난다면 무엇으로 나는가. 같은 규칙을 다른 곳에서 돌리는 것이다. 같은 볼린저 전략을 규칙 그대로 다섯 개 코인에서 돌렸다.
| 코인 | 거래수 | 승률 | 수익률 | 최대낙폭 |
|---|---|---|---|---|
| BTC | 2,126 | 39.2% | -98.1% | 98.8% |
| ETH | 2,875 | 37.3% | -100.0% | 100.0% |
| SOL | 3,109 | 37.2% | -100.0% | 100.0% |
| XRP | 3,048 | 36.5% | -100.0% | 100.0% |
| DOGE | 3,283 | 36.6% | -100.0% | 100.0% |
다섯 시장, 1만 4천 건 이상, 하나의 답이다. 앞에서 본 +43.1% 창과 비교하면 증거와 일화의 차이가 눈에 보인다. 표본 외 검증은 클릭 한 번이고, 더 큰 표본 내 검증으로는 답할 수 없는 질문에 답한다.
그래서 어떻게 할 것인가
- 30건 아래에서는 의견을 만들지 마라. 10건에서 측정된 구간은 참값 주위로 40%포인트 두께였다.
- 수백 건을 주장의 입장료로 여겨라. 위에서 체리피킹이 통하지 않게 된 지점이고, 승률 구간이 한 자릿수로 좁아진 지점이다.
- 작은 검증 중 3분의 1은 우연히 좋아 보인다고 예상하라. 아이디어 열 개를 20건으로 돌렸다면, 그중 가장 좋은 것은 아무것도 알려주지 않는다.
- 총합만 보지 말고 기간별 표를 읽어라. 창끼리 모순되는 전략은 어떤 거래수로도 해결되지 않는 문제를 안고 있다.
- 다른 코인과 타임프레임에서 다시 돌려라. 이번 스윕 전체에서 가장 값싸고 가장 결정적인 검증이었다.
참고 자료
- Sample size determination — How wide an estimate stays when the sample is small.
- Overfitting