서론: 백테스트가 알려주지 않는 것들
저희 퀀트 트레이딩 시스템은 백테스트에서 아름다웠습니다:
- 연간 수익률: 87%
- 승률: 53%
- 최대 드로다운: -12%
- 샤프 비율: 2.1
그리고 실제 시장에 연결했습니다.
첫 달 결과? 연간 수익률 87%에서 23%로, 최대 드로다운 -12%에서 -18%로.
전략이 망가진 게 아닙니다. ‘현실’이라는 변수를 과소평가한 것입니다.
실제 돈으로 배운 5가지 교훈을 공유합니다.
교훈 1: 슬리피지는 0.05%가 아니라 언제든 2%가 될 수 있다
백테스트의 가정
백테스트 엔진은 보통 이렇게 가정합니다: 신호 발생 → 현재 가격에 체결. 좋은 도구는 “슬리피지 0.05%” 설정을 제공합니다.
현실
2026년 1월, BTC가 1분 만에 3% 하락. 저희 숏 신호가 $97,200에서 발생했지만, 실제 체결가는 $96,850 — 슬리피지 0.36%. 작아 보이지만 레버리지를 곱하면 이 거래의 수익이 절반으로 줄었습니다.
소형 코인은 더 심합니다. 중형 시가총액 토큰에서 슬리피지 0.1%를 가정했는데, 시장 급변 시 호가창이 진공 상태가 되면서 슬리피지가 2%를 초과했습니다.
해결책
| |
철칙: 백테스트 슬리피지는 예상보다 2-3배 높게 설정하세요. 높은 슬리피지에서 수익이 안 나는 전략은 원래부터 수익이 없는 전략입니다.
교훈 2: API는 가장 필요한 순간에 죽는다
백테스트의 가정
모든 신호가 완벽하게 실행됩니다. “거래소 API 429 에러”, “웹소켓 끊김”, “주문 후 30초 지연” 같은 건 없습니다.
현실
운영 2주차, 새벽 3시(당연히 새벽):
- BTC 급락으로 숏 신호 발생
- 전 세계 트레이딩 봇이 동시에 요청 전송
- 거래소 API가
HTTP 429 Too Many Requests반환 - 시스템 3회 재시도 — 모두 실패
- API 복구 시점에 가격은 이미 반등
- 신호는 만료됐지만 시스템은 모르고 주문 실행
- 결과: 반등 고점에서 숏 → 직접 손실
해결책
| |
철칙: 모든 API 호출에 타임아웃, 재시도, “너무 늦으면 건너뛰기” 메커니즘이 필요합니다. 신호에는 유효기간이 있습니다.
교훈 3: 유동성은 환상이다
백테스트의 가정
주문이 시장에 영향을 주지 않습니다. $10,000 매수는 무시할 수 있는 수준입니다.
현실
BTC에는 맞는 말입니다. 하지만 일일 거래량 $500,000인 소형 코인에 새벽 4시에 $10,000 주문을 넣어본 적 있나요?
저희는 해봤습니다. 스스로 가격을 1.5% 올려버렸고, 형편없는 평균가에 체결됐습니다. 백테스트에서 3% 수익이 실제로는 0.8%였습니다.
청산은 더 나빴습니다. $2.15에 익절하려 했지만, $10,000 매도 주문을 넣자 가격이 $2.15에서 $2.08로 떨어졌습니다. 저희 매도벽이 그 시간대 최대 매도 압력이었기 때문입니다.
해결책
| |
철칙: 전략의 최대 용량 = 대상 코인의 최저 유동성 시간대 거래량 × 0.1%. 이를 초과하면 백테스트 결과는 신뢰할 수 없습니다.
교훈 4: 수동 개입을 안 할 거라고 생각하지만, 하게 됩니다
백테스트의 가정
시스템 신호 → 완벽한 실행 → 인간 감정 개입 제로.
현실
3주차. 시스템이 BTC 롱. BTC 3일 연속 하락. 미실현 손실: $800.
이성적으로 손절이 -2%에 있고 계좌 리스크가 완전히 통제된다는 걸 알았습니다. 하지만 실제 계좌 숫자가 줄어드는 걸 보면 뇌가 “영리한” 일을 시작합니다:
- “더 떨어지기 전에 수동으로 정리하자, 이번엔 다른 느낌이야”
- “손절이 너무 가까워, 좀 더 여유를 주자”
- “시스템을 멈추고 시장이 안정되면 다시 시작하자”
3주차에 4번 수동 개입했습니다. 그 중 3번, 시스템의 원래 신호가 맞았습니다. 저의 “직감"이 $1,200 추가 손실을 만들었습니다.
해결책
- 물리적 분리: 트레이딩 시스템은 서버에서 실행. 원클릭 청산 버튼이 없음
- 개입 쿨다운: 수동 개입하고 싶으면 4시간 대기. 4시간 후에도 하고 싶으면 이유를 기록
- 개입 기록: 모든 수동 조작 자동 기록. 월말 리뷰. 데이터가 개입이 도움이 됐는지 해가 됐는지 알려줌
- 소액 시작: 총 자금의 10%로 실전. $80 손실의 심리적 압박은 $800보다 훨씬 작음
개입 리뷰 데이터
| 월 | 수동 개입 횟수 | 시스템보다 나음 | 시스템보다 나쁨 |
|---|---|---|---|
| 1월 | 11 | 3 (27%) | 8 (73%) |
| 2월 | 4 | 1 (25%) | 3 (75%) |
| 3월 현재 | 1 | 0 (0%) | 1 (100%) |
결론은 명확합니다: 수동 개입은 대부분 상황을 악화시킵니다.
철칙: 시스템을 만들고도 신뢰하지 못한다면, 문제는 시스템이 아니라 테스트 부족입니다. 돌아가서 진심으로 믿을 때까지 페이퍼 트레이딩을 더 하세요.
교훈 5: 블랙스완은 이론이 아니라 시간문제다
백테스트의 가정
과거 데이터가 일어날 수 있는 모든 것을 포함합니다.
현실
아닙니다. 모든 블랙스완은 정의상 이전에 없었던 사건입니다:
- 2022년 루나 붕괴: 하루 만에 $80에서 $0.001로
- 2025년 12월: BTC 하루 약 8% 하락($91K → $83.8K), 전체 시장 급락
- 거래소 갑작스러운 출금 중단, 규칙 변경, 장애
그 12월에 저희 시스템 성과는? 모든 손절이 관통당했습니다. $88,000 손절이 $85,800에서 실행 — 시장이 너무 빠르게 움직여 호가창 유동성이 순간 증발했기 때문입니다.
해결책
| |
철칙: “블랙스완이 올까?“를 묻지 마세요. “블랙스완이 올 때, 내 계좌가 살아남을 수 있나?“를 물으세요.
백테스트 vs 실전: 숫자 비교
3개월간 조정 후, 실전 성과가 백테스트에 점차 근접했지만 완전히 일치하지는 않습니다:
| 지표 | 백테스트 | 실전 1개월 | 실전 3개월 | 격차 원인 |
|---|---|---|---|---|
| 연간 수익률 | 87% | 23% | 52% | 슬리피지 + 지연 + 수동 개입 |
| 승률 | 53% | 48% | 51% | 만료 신호로 놓친 거래 |
| 최대 드로다운 | -12% | -18% | -14% | 블랙스완 손절 관통 |
| 샤프 비율 | 2.1 | 0.9 | 1.6 | 종합 영향 |
실전 성과 ≈ 백테스트 × 0.6 ~ 0.7
대략적이지만 실용적인 경험 법칙입니다. 백테스트 연간 100%면 실전은 60-70%. 백테스트 20%면 실전은 12-14% — 이 경우 수수료와 시간 투자를 빼면 가치가 있는지 자문해야 합니다.
실전 투입 전 체크리스트
시스템을 실제 자금에 연결하기 전:
- 최소 30일 페이퍼 트레이딩 완료 (상승장 + 하락장 포함)
- 백테스트에 합리적 슬리피지 포함 (대형 0.15%, 소형 0.3%+)
- API 장애 처리 로직 테스트 (수동 네트워크 차단 테스트)
- 신호 유효기간 설정 (N초 후 자동 취소)
- 유동성 필터 적용 (24시간 거래량 너무 낮은 코인 제외)
- 계좌 레벨 하드 스탑 설정
- 개입 기록 메커니즘 설정
- 10% 자금으로 시작, 올인 금지
- 심리 준비: 첫 달은 백테스트보다 나쁠 것 — 정상입니다
이 체크리스트는 트레이딩 강좌 6-8장의 핵심 발췌입니다. 바로 사용할 수 있는 코드가 포함된 전체 프레임워크를 원하시면? 전체 강좌 보기 →
결론
백테스트와 실전의 격차는 버그가 아니라 기능입니다. “모델에 현실 세계 요소가 빠져있다"고 알려주는 것입니다.
백테스트 성과 극대화보다 백테스트와 실전의 격차 최소화를 목표로 하세요. 백테스트 연간 40%에 실전 30%인 시스템이 백테스트 200%에 실전 20%인 시스템보다 훨씬 가치 있습니다.
안정적이고 예측 가능한 것이 화려하지만 통제 불가능한 것보다 가치 있습니다.
이 교훈들은 모두 AI × 트레이딩 완전 가이드에 정리되어 있습니다. 전략 개발부터 실전 배포까지 13장 완전 과정.
백테스트에서 실전으로 넘어가면서 어떤 함정에 빠지셨나요? 아래 댓글로 경험을 공유해 주세요.