NOONOO TRADING봇에서 시작하기

무작위 진입 대조군 — 내 진입 신호를 동전 던지기와 비교하기

백테스트에서 승률 60%, 건당 수익 플러스가 나왔다고 해서 진입 신호가 좋다는 뜻은 아닙니다. 그 기간 시장이 올랐을 수도 있고, 손절·목표 비율이 승률을 만들어 냈을 수도 있습니다. 이를 가려내는 가장 단순한 방법이 무작위 진입 대조군입니다. 청산 규칙·코인·기간·비용은 그대로 두고 진입 시점만 무작위로 바꾼 가짜 전략을 수백~수천 번 돌려, 내 전략이 그 결과들 사이에서 어디쯤 있는지 봅니다. 본문 숫자는 모두 계산 구조를 설명하기 위한 가정 예시입니다.

무작위 진입 대조군이란

전략의 성과는 크게 세 가지가 합쳐진 결과입니다. ① 그 기간 시장 전체의 움직임, ② 청산 규칙(손절·목표·보유시간)이 만드는 손익 구조, ③ 진입 신호가 더해 준 정보. 우리가 알고 싶은 것은 보통 ③인데, 백테스트 숫자에는 ①과 ②가 섞여 있습니다.

무작위 진입 대조군은 ③만 없앤 전략입니다. 같은 코인, 같은 기간, 같은 청산 규칙, 같은 수수료를 쓰되 진입 시각을 무작위로 뽑습니다. 이 가짜 전략을 1,000번 반복하면 "신호 없이도 나오는 성과"의 분포가 생깁니다. 내 전략이 그 분포의 위쪽 끝에 있어야 신호가 뭔가를 더했다고 말할 수 있습니다. 비교 기준을 단순 보유로 잡는 방법은 매수 후 보유 벤치마크에서 다룹니다. 무작위 진입 대조군은 그보다 한 단계 더 엄격한 비교입니다.

1. 청산 규칙만으로 승률이 정해진다

가격이 방향성 없이 움직인다고 가정하면, 진입 후 목표에 먼저 닿을 확률은 손절 거리와 목표 거리의 비율로 정해집니다. 목표 거리를 T, 손절 거리를 S라고 하면 목표 도달 확률은 약 S ÷ (S + T)입니다.

예시 — 무작위 진입, 수수료 왕복 0.10%

손절 1% · 목표 3%
· 승률 = 1 ÷ (1 + 3) = 25%
· 기대값 = 0.25 × 3% − 0.75 × 1% = 0% → 수수료 후 −0.10%

손절 3% · 목표 1%
· 승률 = 3 ÷ (3 + 1) = 75%
· 기대값 = 0.75 × 1% − 0.25 × 3% = 0% → 수수료 후 −0.10%

신호가 전혀 없어도 손절을 넓히고 목표를 좁히면 승률 75%가 나옵니다. 그래서 "승률 75%"라는 숫자만으로는 진입이 좋은지 알 수 없습니다. 같은 청산 규칙의 무작위 진입이 75% 근처라면 그 승률은 청산 규칙이 만든 것입니다. 손절 폭과 승률의 관계는 손절 폭과 승률의 교환, 수수료를 넣은 손익분기 승률은 수수료 포함 손익분기 승률에서 자세히 계산합니다.

2. 내 전략을 분포 위에 올려 보기

대조군을 한 번만 돌리면 그것도 운입니다. 그래서 같은 건수의 무작위 전략을 여러 번 만들고, 각 회차의 건당 평균 수익을 모아 분포를 봅니다.

예시 A — 내 전략 100건, 수수료 후 건당 평균 +0.40%
· 같은 기간·같은 청산 규칙의 무작위 롱 100건 × 1,000회
· 1,000회의 건당 평균: 평균 +0.35%, 표준편차 0.15%
· z = (0.40 − 0.35) ÷ 0.15 = 0.33
· 정규분포 기준 백분위 약 63% → 무작위 1,000회 중 약 370회가 내 전략보다 좋음

예시 B — 다른 전략 100건, 건당 평균 +0.80%
· z = (0.80 − 0.35) ÷ 0.15 = 3.0
· 백분위 약 99.9% → 무작위 1,000회 중 1~2회만 이보다 좋음

예시 A는 수익이 났지만 그 대부분(+0.35%)은 무작위로 롱을 잡아도 나왔을 몫입니다. 신호가 더한 것은 0.05%p이고, 그마저 분포 안쪽이라 운과 구분되지 않습니다. 예시 B는 분포 바깥에 있으므로 다음 검증 단계로 넘어갈 후보가 됩니다. 실제로는 정규분포 근사 대신 1,000회 결과를 정렬해 내 값보다 큰 회차 수를 직접 세는 편이 정확합니다.

3. 롱 무작위와 방향 무작위

대조군은 두 가지로 만듭니다. 하나는 방향은 내 전략과 같게, 시점만 무작위(롱 전략이면 무작위 롱)입니다. 다른 하나는 방향까지 무작위(동전을 던져 롱·숏)입니다.

예시 — 비트코인이 석 달 동안 +30% 오른 기간
· 무작위 롱 대조군: 건당 평균 +0.35% (상승장 몫이 들어 있음)
· 방향 무작위 대조군: 건당 평균 약 −0.10% (롱·숏 상승분이 상쇄되고 수수료만 남음)
· 내 전략 +0.40%: 방향 무작위보다는 크게 좋지만, 무작위 롱과는 거의 같음

방향 무작위만 이기면 "롱이 맞았다"는 것까지만 확인됩니다. 그건 신호가 아니라 그 기간 시장 방향입니다. 진입 시점을 고르는 능력은 무작위 롱 대조군까지 이겨야 보입니다. 같은 시각 시장 평균을 빼고 남는 수익을 보는 방법은 시장 조정 잔차 수익률에 정리돼 있습니다.

4. 대조군 만드는 절차

대조군이 내 전략과 조건이 다르면 비교가 무의미해집니다. 다음 다섯 가지를 맞춥니다.

체크리스트
① 코인 구성: 내 전략이 거래한 코인과 같은 비율로 뽑는다 (고변동 코인 비중이 다르면 결과가 달라짐)
② 진입 가능 시간: 내 전략이 거래할 수 있었던 시간대·데이터가 있는 구간에서만 뽑는다
③ 청산 규칙: 손절·목표·보유시간·부분청산까지 동일
④ 비용: 수수료·슬리피지·펀딩비 동일
⑤ 동시 보유 제한: 내 전략이 한 번에 1건만 들었다면 대조군도 보유 중 진입을 건너뛴다

④를 빼면 대조군이 실제보다 좋아 보이고, ⑤를 빼면 대조군의 건수가 늘어 분포가 좁아집니다. 백테스트 전반의 설정 원칙은 백테스트 가이드를 참고하면 됩니다.

5. 해석할 때 주의할 점

표본이 짧으면 분포가 넓다. 거래 100건, 한 달 남짓한 기간이면 대조군 분포 자체가 그 기간의 특정 흐름에 묶여 있습니다. 하루 단위로 묶어서 재표본하는 방법은 블록 부트스트랩 신뢰구간, 몇 건이 있어야 판단할 수 있는지는 거래 표본 크기에서 다룹니다.

여러 전략을 시험하면 하나는 우연히 통과한다. 각 전략이 사실은 신호가 없어도, 상위 5%에 들 확률은 각각 5%입니다.

예시 — 신호 없는 전략 20개를 각각 대조군과 비교
· 20개 모두 95백분위 아래일 확률 = 0.9520 ≈ 0.36
· 하나 이상이 95백분위를 넘을 확률 = 1 − 0.36 = 약 64%

20개를 돌려 하나가 통과했다면 그건 기대했던 결과에 가깝습니다. 몇 개를 시험했는지 함께 기록하고 기준을 그만큼 높여야 합니다. 자세한 내용은 다중 검정의 함정과 과최적화에서 다룹니다.

대조군을 이겨도 끝이 아니다. 대조군 비교는 "운으로 설명되는가"를 걸러 내는 첫 관문입니다. 통과한 전략은 규칙을 고정한 뒤 한 번도 보지 않은 기간에서 다시 확인해야 합니다. 이 과정은 홀드아웃 검증에 정리돼 있습니다.

정리

무작위 진입 대조군은 청산 규칙·코인·기간·비용은 그대로 두고 진입만 무작위로 바꾼 전략입니다. 손절 1%·목표 3%면 신호 없이도 승률 약 25%, 손절 3%·목표 1%면 약 75%가 나오므로 승률 자체는 신호의 증거가 아닙니다. 1,000회 반복한 대조군 분포에서 내 전략의 백분위를 보고, 무작위 롱(시장 방향 몫 제거)과 방향 무작위(수수료 몫 확인) 두 가지와 모두 비교합니다. 시험한 전략 수만큼 기준을 높이고, 통과한 것만 새 기간에서 다시 검증합니다.

주의

본문의 승률, 수익률, 표준편차, 백분위, 시장 상승률은 모두 계산 구조를 설명하기 위한 가정 예시이며 실제 측정값이나 특정 전략의 성과가 아닙니다. 승률 공식 S ÷ (S + T)는 방향성 없는 가격 움직임을 가정한 근사입니다. 이 글은 교육 정보이며 특정 자산·전략의 매매 권유가 아닙니다. 코인과 선물·레버리지 거래는 원금 손실 위험이 있고, 투자 판단과 그 결과는 본인 책임입니다.

NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.

봇에서 시작하기

📈 OKX 신규 가입 시 거래 수수료 할인

OKX 수수료 할인 가입 →