백테스트는 하나의 좁은 질문에 답합니다. 정확히 이 규칙을, 정확히 이 데이터에, 이 가정으로 적용했다면 무슨 일이 있었을까? 앞으로 무슨 일이 일어날지는 알려 주지 않습니다. 리포트를 잘 읽는다는 것은 어떤 숫자가 무게가 있고 어떤 숫자가 쉽게 부풀려지는지 아는 것입니다.
수익률이 아니라 가정부터 보세요
결과를 보기 전에 테스트가 어떻게 실행됐는지 확인하세요. Backte.st의 모든 리포트는 데이터와 가정 에 다음 내용을 적어 둡니다.
- 신호는 완성된 캔들을 사용합니다. 규칙은 캔들이 닫힌 뒤에만 그 캔들에 반응할 수 있습니다.
- 주문은 다음 시가에 체결됩니다. 신호를 만든 종가에 체결되는 일은 없습니다.
- 모든 진입과 청산에 비용이 붙습니다. 수수료와 슬리피지를 편도 기준 베이시스포인트로 설정합니다.
- 한 번에 하나의 포지션만 보유하며, 레버리지·손절·목표가는 없습니다.
다른 곳에서 본 리포트가 체결 규칙과 비용을 밝히지 않는다면, 그 수익률은 기껏해야 상한선으로 여기세요.
순수익률과 매수 후 보유
순수익률은 비용을 뺀 뒤 계좌 가치의 변화입니다. 대부분의 시장에는 추세가 있으므로 그것만으로는 많은 것을 알 수 없습니다. 그래서 모든 리포트는 같은 비중의 매수 후 보유 도 함께 보여 줍니다. 전략이 한 거래에 자본의 20%를 투자한다면, 비교 대상도 기간 내내 자본의 20%를 시장에 두는 경우입니다.
매수 후 보유를 이기는 전략이라도 훨씬 많은 거래(더 많은 비용과 세금)나 더 깊은 낙폭을 동반한다면 실제로는 더 나쁠 수 있습니다.
최대 낙폭: 실제로 체감하게 될 숫자
최대 낙폭은 계좌 가치가 고점에서 저점까지 가장 크게 떨어진 폭입니다. 실제 사람이 전략을 계속 유지할지를 결정하는 것은 대개 이 숫자입니다. 수익률이 같은 두 전략도 하나가 도중에 계좌를 반토막 냈다면 전혀 다르게 느껴집니다.
백테스트의 낙폭은 그 특정한 거래 순서 에서의 최악의 하락일 뿐이라는 점을 기억하세요. 거래 순서 섞기 는 얼마나 더 나빠질 수 있었는지 보여 줍니다.
거래 수: 증거가 충분한가?
거래가 몇 번뿐이면 운만으로도 거의 어떤 수익률이든 나올 수 있습니다. Backte.st는 판단하는 척하지 않고 해당 점검을 거래 부족 으로 표시합니다. 청산된 거래가 적다면 결론을 내리기 전에 더 긴 기간, 더 짧은 캔들, 더 많은 시장을 시도해 보세요.
견고성 점검
주요 결과는 하나의 가정으로 한 번 실행한 것입니다. 점검은 같은 규칙을 더 가혹한 조건에서 다시 실행합니다.
- 미사용 기간: 기간의 마지막 30%를 따로 평가합니다. 표본 외 테스트 참고.
- 비용 두 배: 수수료와 슬리피지를 두 배로 합니다. 거래 비용 참고.
- 인접 파라미터: 모든 지표 기간을 ±10%와 ±20% 바꿉니다. 파라미터 견고성 참고.
- 지연 진입: 모든 주문을 캔들 하나 늦게 체결합니다. 미래 참조 편향과 체결 시점 참고.
- 최고 거래 제외: 가장 수익이 큰 거래 5건을 뺍니다. 과최적화 참고.
- 거래 순서 섞기: 거래 순서를 200번 섞습니다. 몬테카를로 참고.
그 조건에서도 전략의 수익률이 플러스라면 점검은 통과 로 판정되며, 판정에는 청산된 거래가 최소 10건(섞기는 20건) 필요합니다. 약점 은 아이디어가 쓸모없다는 뜻이 아닙니다. 결과가 어디에서 취약한 요소에 기대고 있는지 알려 줍니다. 모든 점검을 통과 한 것은 좋은 출발이지 우위의 증명은 아닙니다.
리포트가 말해 줄 수 없는 것
- 미래를 볼 수 없습니다. 시장 국면은 바뀝니다.
- 직접 고른 시장만 테스트합니다. 올랐기 때문에 골랐다면 생존자 편향 을 읽어 보세요.
- 미사용 기간은 한 번만 미사용입니다. 그것을 본 뒤 규칙을 조정할 때마다 그 기간은 학습 데이터의 일부가 됩니다.
백테스트는 아이디어를 빠르고 저렴하게 걸러 내는 데 쓰세요. 그때 백테스트가 가장 정직합니다.