이렇게 테스트합니다.
편법 없이.
이 페이지는 백테스트에 쓰는 데이터와 비용 가정, 평가 지표, 한계를 설명합니다 — 어떻게 돌리고, 무엇을 재고, 무엇을 빼는지까지.
백테스트 방법
최장 2.9년의 1시간 OHLCV 캔들 데이터 — 출처는 Binance·OKX 과거 캔들과 OKX USDT-SWAP 최신 갱신 — 과거 출처가 바뀌는 지점은 심볼과 시각마다 다름. 모든 캔들은 완성된(종료된) 데이터만 사용하며, 선행 편향(look-ahead bias)을 방지하기 위해 미완성 데이터는 사용하지 않습니다.
OKX에 상장된 280개 이상의 USDT 무기한 선물 페어. 스테이블코인, 비크립토(주식·ETF·원자재) 무기한 선물, 상장 폐지 코인, 유동성이 낮은 페어는 제외됩니다. 데일리 랭킹은 여러 상위 코인 그룹과 BTC 단독으로 따로 산출됩니다. 정확한 수는 전략 버전에 따라 다릅니다.
진입은 신호가 난 캔들의 다음 캔들 시가에서 체결됩니다(엔진 engine_fast.py: 신호 인덱스 +1 봉의 open). 신호 캔들의 종가로 체결하면 그 캔들이 닫히기 전 정보를 쓰는 셈이라 선행 편향이 됩니다. 실제 체결가는 타이밍과 호가창 깊이에 따라 소폭 차이가 날 수 있습니다.
편도 0.05% 테이커 수수료 (왕복 0.1%). OKX USDT-SWAP VIP 0 등급 기본 수수료입니다.
유동성 기반 3단계: Top-50 코인 0.05%, Top-200 코인 0.10%, 나머지 0.20% — 체결 건당(진입 + 청산) 적용. 등급은 현재 시가총액 순위 기준입니다(아래 알려진 한계 참고).
익절과 손절은 각 봉의 고가/저가로 판정합니다. 같은 봉 안에서 둘 다 닿으면 엔진은 손절로 기록합니다 — 낙관이 아닌 최악 가정입니다. 시그널 청산은 봉 마감 시점에만, 봉 내 익절/손절 판정 이후에 평가됩니다.
레버리지를 쓰면 각 봉에서 익절·손절보다 청산을 먼저 판정합니다. 역방향 꼬리가 청산가(유지증거금·수수료 반영)에 닿으면 강제 청산됩니다 — 같은 봉에서 익절가에 닿더라도 마찬가지이며, 청산 슬리피지는 그대로 적용됩니다.
거래당 고정 $60, 5배 레버리지 (명목가 $300). 복리 없음 — 계좌 잔고와 관계없이 매 거래마다 동일한 금액을 사용합니다.
전략 평가 지표
모든 전략은 수수료 차감 후 동일한 지표로 평가됩니다:
- 승률 — 수익으로 청산된 거래의 비율.
- 수익 팩터 — 총 수익을 총 손실로 나눈 비율. 1.0 이상이면 수익.
- 총 수익률 % — 시작 자본 대비 순 손익 비율.
- 최대 드로다운 — 자산 곡선에서 고점 대비 최대 하락폭.
- 거래 수 — 완료된 왕복 거래의 총 수.
- 펀딩 (total_funding_pct) — 비용 필드입니다(2026-09-30 명시한 규약): 양수는 펀딩을 낸 것, 음수는 받은 것입니다. 거래마다, 레버리지 적용 전: 순수익 = 총수익 − 수수료 − 펀딩.
위험 조정 지표
변동성 대비 위험 조정 수익률. 높을수록 좋습니다.
공식: 일평균 수익률 / 일변동성 × √365 (연율화, 무위험 수익률은 0으로 처리)
샤프와 유사하지만 하방 변동성만 고려합니다.
공식: 일평균 수익률 / 하방 편차 × √365 (연율화, 목표 수익률 0)
연율화 수익률을 최대 드로다운으로 나눈 값. 연율화는 equity 모드를 따릅니다: 복리 모드는 CAGR, 기본값인 고정 명목 모드는 산술 연환산.
1년 미만 창은 연율화하지 않습니다(GIPS 관례). 원전의 36개월 롤링이 아니라 백테스트 전체 표본 기준입니다. 위험 대비 수익을 측정합니다.
공식: 연간 수익률 / 최대 드로다운
고급 지표(샤프, 소르티노, 칼마 비율)는 모든 시뮬레이션에서 계산되며, 시뮬레이터 결과에서 확인 가능합니다.
강건성 검증
숫자만으로는 오해를 불러올 수 있습니다. 아래 검사는 전략 성과가 실제인지 단순한 노이즈인지 가려냅니다:
데이터를 학습 구간(In-Sample)과 테스트 구간(Out-of-Sample)으로 분리합니다. 전략은 학습에 사용하지 않은 데이터에서도 일관된 성과를 보여야 검증된 것으로 인정됩니다. 2024년, 2025년, 2026년을 독립적으로 테스트합니다.
Out-of-Sample(표본 외 검증) = 전략이 한 번도 보지 못한 데이터로 테스트하여, 실제로 작동하는지 패턴만 외웠는지 확인합니다.
거래를 시간 순 세 구간으로 나눠, 한 구간의 지표를 다음 구간과 비교합니다. 파라미터는 한 벌로 고정합니다 — 구간마다 다시 최적화하지 않습니다. 이 점이 업계에서 흔히 말하는 «워크포워드 최적화»와 다릅니다: 우리는 파라미터를 다시 맞추지 않고, 같은 설정이 다음 구간에서도 서는지만 봅니다. 한 구간에서만 서는 전략은 통과하지 못합니다.
워크포워드 = 시간 순으로 자른 구간을 차례로 검사하는 것. 여기서는 재최적화 없이 고정 파라미터로만 검사합니다.
전략당 1,000회 이상의 부트스트랩 시뮬레이션을 실행합니다 — 거래 손익을 복원추출로 재표본합니다. 최악의 시나리오, 5–95 백분위 구간, 수익이 운 좋은 몇 건에 의존하는지 여부를 밝혀냅니다.
몬테카를로 = 1,000회 이상 무작위 시뮬레이션으로 최악 시나리오와 신뢰 수준을 확인합니다.
반영한 비용과 남은 한계
펀딩은 과거 요율 프록시로, 슬리피지는 현재 순위 티어로 반영합니다. 시점별 순위 변화와 아래의 미반영 요소는 한계로 남습니다.
펀딩 프록시 — 펀딩은 실제 정산 이벤트 시각에 실제 과거 요율로 부과됩니다(OKX 유니버스에 Binance 펀딩 이력을 프록시로 사용. 부호는 시장에 따라 뒤집히므로 숏도 지불할 수 있습니다).
남는 근사: 거래소 간 요율 차이, 그리고 요율 이력이 없는 심볼은 임의 상수로 메꾸지 않고 그냥 펀딩 없음으로 돕니다 — 어떤 심볼이 펀딩 없이 돌았는지는 각 결과의 비용 내역에 실명으로 표시됩니다.
유니버스 선정 — 상위 N 코인 목록은 현재 거래량 순위를 백테스트 전체 창에 소급 적용합니다. 지금 큰 코인이 2023년엔 작았어도 2023년 거래에 들어갑니다(생존 편향 인접 선택 편향). 시점별 유니버스 스냅샷은 우리 목록에 있습니다.
슬리피지 티어 — 코인별 슬리피지(0.05% / 0.10% / 0.20%)는 «오늘» 시가총액 순위로 배정되어 백테스트 전체 창에 소급 적용됩니다. 지금 Top-50 인 코인은 2023년엔 소형이었어도 2023년 거래에 저렴한 티어를 받아 과거 비용이 과소평가됩니다 — 수익이 실제보다 좋아 보이는 방향입니다.
위 유니버스 선정과 같은 시점(PIT) 편향이며, 시점별 순위 이력을 확보하기 전까지는 흉내 내지 않고 공시합니다.
시장 충격 — 대량 주문은 가격을 움직일 수 있습니다. $60 포지션 규모에서는 최소화되지만 존재합니다.
거래소 장애 — 거래소는 가끔 다운타임이 있습니다. 백테스트는 100% 가동을 가정합니다.
블랙 스완 이벤트 — 급락, 상장 폐지, 규제 충격은 시뮬레이션하지 않습니다.
유동성 변동 — 호가창 깊이는 시간대와 코인에 따라 변합니다.
재현 가능성
모든 전략 파라미터를 공개합니다 — 진입 조건, 청산 조건, 손절, 익절, 시간 필터, 코인 유니버스. 시그널 로직이 문서화되어 있어 직접 재현하거나 수정할 수 있습니다. 인터랙티브 시뮬레이터에서 SL/TP를 조정하고 결과가 어떻게 변하는지 실시간으로 확인할 수 있습니다.
면책 조항
과거 성과는 미래 결과를 보장하지 않습니다. 백테스트는 시뮬레이션이지 예측이 아닙니다. 실제 트레이딩에는 어떤 모델로도 포착할 수 없는 위험이 있으며, 감정적 의사결정, 연결 문제, 시장 레짐 변화 등이 포함됩니다. 항상 감당할 수 있는 자본으로만 테스트하세요.