배경

우리 트레이딩 시스템은 이미 세 가지 전략을 페이퍼 트레이딩으로 운영하고 있었습니다: Pipeline (추세 추종), BB Squeeze (볼린저 밴드 브레이크아웃), MACD Divergence (다이버전스 역전).

이 세 전략의 공통 약점: 시장이 횡보 구간에 들어가면 신호가 거의 0에 수렴.

우리 ADX 지표는 주요 6개 코인 모두 20 이하를 보여주었습니다 — 명확한 추세가 없는 상태. 추세 추종 전략들은 할 일이 없었죠.

그래서 네 번째 전략을 만들었습니다: 평균 회귀.

로직

컨셉은 간단합니다:

  1. RSI 35 미만 (과매도) → RSI 반등 대기 → 롱 진입
  2. RSI 65 초과 (과매수) → RSI 하락 대기 → 숏 진입
  3. 스톱로스: 1.5× ATR
  4. 이익실현: BB 중심선 (평균 회귀 목표)

횡보 시장에서는 가격이 밴드 내에서 반등합니다. 이론상 평균 회귀는 완벽한 전략이어야 했죠.

백테스트 결과 — 너무 완벽했다

180일 히스토리컬 데이터, 6개 코인 × 2 방향 = 12개 조합:

조합승률수익 팩터거래 수
SOL LONG100%3
XRP LONG100%3
XRP SHORT85.7%7.937
DOGE LONG83.3%5.196
DOGE SHORT80%3.55
ETH SHORT75%2.34
BNB SHORT75%2.04
BTC SHORT71.4%1.87

70% 이상 승률 8개 조합. 100% 3개.

만약 그때 바로 라이브로 갔다면, 이 전략이 무적이라고 생각했을 겁니다.

빨간 신호: 샘플 크기

계속 신경 쓰이는 숫자가 하나 있었습니다: 거래 수.

100% 승률의 SOL LONG과 XRP LONG, 각각 겨우 3번의 거래.

3번 거래에서 100% 승률은 통계적 의미가 거의 0입니다. 동전 던지기에서 3번 연속 앞면이 나올 확률은 12.5%. 그렇게 희귀한 일도 아니죠.

아웃오브샘플 검증

모든 조합에 OOS 검증을 돌렸습니다:

  1. 180일을 **첫 120일 (In-Sample)**과 **마지막 60일 (Out-of-Sample)**로 분할
  2. 첫 120일에서 파라미터 훈련
  3. 마지막 60일에서 테스트 — 모델이 한 번도 본 적 없는 데이터

결과:

조합IS 승률OOS 승률하락폭
SOL LONG100%75%-25%
XRP LONG100%0%-100%
ETH SHORT100%25%-75%
DOGE LONG83%50%-33%
BTC SHORT80%40%-40%
BTC LONG67%33%-34%
BNB LONG67%50%-17%

XRP LONG: IS 100% → OOS 0%. 훈련 데이터에서는 완벽했지만, 새로운 데이터에서는 모든 거래가 손실.

ETH SHORT: IS 100% → OOS 25%. 백테스팅에서는 4승, 미지의 데이터에서는 1승뿐.

단 2개 조합만 생존

12개 조합 중 안정적인 OOS 성능을 유지한 것은 단 2개뿐:

  • SOL LONG: IS 78% → OOS 75% (단 3% 격차)
  • DOGE SHORT: IS 80% → OOS 76% (단 4% 격차)

이 2개만 페이퍼 트레이딩에 보냈습니다. 나머지 10개는 잘라냈죠.

과적합의 원인

근본 원인은 작은 샘플 크기:

  • 평균 회귀는 극단적인 RSI 값에서만 트리거
  • 180일 동안 각 조합은 단 3-7번의 거래만 생성
  • 3번 거래에서 100% 승률 ≠ 전략이 효과적
  • 7번 거래에서 85% 승률도 결론 내리기엔 부족

통계학 101: 이진 결과(승/패)에 합리적인 신뢰도를 갖으려면 최소 20-30개의 샘플이 필요. 우리 조합 대부분은 한 자릿수였습니다.

Z-점수 검증

전략 성능이 무작위보다 유의미하게 뛰어난지 Z-점수로 정량화합니다:

1
Z = (관찰된_승률 - 무작위_승률) / √(무작위_승률 × (1 - 무작위_승률) / N)
  • Z > 1.96 → 95% 신뢰도로 무작위보다 우수
  • Z > 2.58 → 99% 신뢰도

우리 주력 전략 Pipeline (414거래, 72% 승률):

1
Z = (0.72 - 0.5) / √(0.5 × 0.5 / 414) = 8.94

Z = 8.94, 2.58을 훨씬 상회. 이 전략은 진짜로 무작위를 능가합니다.

반면 MR의 SOL LONG (3거래, 100%):

1
Z = (1.0 - 0.5) / √(0.5 × 0.5 / 3) = 1.73

Z = 1.73, 95% 신뢰도에도 못 미침. 통계가 말하길: 이건 그냥 운일 수도 있다.

현재 프로세스

이 경험 후, 모든 새 전략은 라이브 배포 전 세 가지 검증을 통과해야 합니다:

  1. 최소 거래 수: 백테스팅에서 최소 20거래
  2. OOS 검증: IS와 OOS 승률 격차 10% 미만
  3. Z-점수 테스트: Z > 1.96

하나라도 실패 = 배포 금지. 예외 없음.

현재 전략 현황:

전략거래 수승률Z-점수상태
Pipeline41472%8.94✅ 주력
BB Squeeze8256%1.09⚠️ 보조
MACD Div4533%-2.28⚠️ 선별 페어만
Mean Reversion5325%-3.64❌ 단 2페어

Pipeline만이 견고한 검증을 통과한 유일한 전략. 나머지들은 신뢰도 구축에 더 많은 데이터가 필요합니다.

결론

백테스트에서 100% 승률이 나온다면, OOS 검증으로 입증되기 전까지는 가짜라고 가정하세요.

소샘플 백테스트 결과는 트레이딩 시스템 개발에서 가장 위험한 함정입니다. 착각을 만들어냅니다: 이 전략은 완벽하다. 하지만 완벽한 전략은 존재하지 않습니다 — 완벽한 백테스트는 대개 그냥 과적합일 뿐입니다.

백테스팅은 나쁜 전략을 제거하는 도구이지, 좋은 전략을 증명하는 도구가 아니다. OOS 검증을 통과한 전략도 돈을 못 벌 수 있지만, 실패한 전략은 분명히 실제 트레이딩에서 실망시킬 것이다.