군집 착각 — 연승·연패와 "잘 되는 시간대"가 우연인지 숫자로 확인하는 법
군집 착각(clustering illusion)은 무작위로 생긴 결과 안에서 뭉쳐 있는 부분을 보고 "여기에 규칙이 있다"고 판단하는 경향입니다. 동전을 던져도 앞면이 대여섯 번 이어지는 구간이 생기는데, 사람은 이것을 우연보다 의미 있는 신호로 받아들이기 쉽습니다. 트레이딩에서는 매매일지의 연승·연패, 특정 요일이나 시간대의 승률, 특정 코인에서만 잘 맞는 것처럼 보이는 구간으로 나타납니다. 이 글은 무작위 결과에서도 이런 뭉침이 얼마나 자주 생기는지 계산하고, 그것이 우연인지 확인하는 간단한 방법을 정리합니다. 본문의 수치는 모두 설명용 가정이며, 확률값은 동전 던지기 모형으로 계산한 값입니다.
무작위는 고르게 섞여 있지 않다
사람이 머릿속으로 만든 "무작위" 수열은 승·패가 너무 자주 바뀝니다. 실제 무작위 수열은 그보다 훨씬 덜 바뀌고, 같은 결과가 길게 이어지는 구간을 자주 포함합니다. 그래서 실제 매매 결과를 보면 "생각보다 연패가 길다", "이 구간은 뭔가 달랐다"는 느낌이 들기 쉽습니다. 문제는 그 느낌을 근거로 규칙을 바꾸는 것입니다. 연패가 길어서 전략을 버리거나, 연승이 이어져서 크기를 키우는 결정은 대부분 이 뭉침을 신호로 읽은 결과입니다.
이 착각은 도박사의 오류(이번엔 반대가 나올 차례라는 생각)나 핫핸드 오류(잘 될 때는 계속 잘 된다는 생각)와 뿌리가 같습니다. 차이는 범위입니다. 도박사의 오류와 핫핸드가 "다음 한 번"에 대한 예측이라면, 군집 착각은 과거 결과 전체에서 덩어리를 찾아내 원인을 붙이는 쪽에 가깝습니다.
예시 1 — 승률 50%, 100거래에서 나오는 연패
각 거래가 서로 독립이고 승률이 정확히 50%인 전략을 100번 실행한다고 가정합니다. 전략에는 아무 변화가 없고, 결과만 동전처럼 정해집니다.
· 5연패 이상이 한 번이라도 나올 확률 ≈ 81%
· 7연패 이상이 한 번이라도 나올 확률 ≈ 32%
· 연승·연패를 통틀어 가장 긴 연속 구간의 평균 길이 ≈ 7회
· 대략적인 기준: 가장 긴 연속 구간 ≈ log₂(거래 수) → log₂(100) ≈ 6.6
즉 아무 문제 없는 50% 전략이라도 100거래 안에 5연패는 거의 반드시 나오고, 세 번 중 한 번은 7연패까지 나옵니다. 5연패를 "전략이 고장 났다"는 증거로 쓰면, 멀쩡한 전략을 다섯 번 중 네 번 꼴로 버리게 됩니다. 연패 길이와 확률의 관계는 연패 확률 글에서 승률별로 더 자세히 다뤘습니다.
예시 2 — "이 시간대만 잘 된다"
매매일지를 시간대별로 나눠 보면 유독 성적이 좋은 시간대가 눈에 띄는 경우가 많습니다. 그런데 칸을 많이 나눌수록 우연히 좋아 보이는 칸이 생길 확률도 커집니다.
· 시간대당 평균 거래 수 = 120 ÷ 24 = 5건
· 한 시간대에서 5건이 모두 이길 확률 = 0.5⁵ = 1/32 ≈ 3.1%
· 24개 시간대 중 하나라도 5전 5승일 확률 = 1 − (31/32)²⁴ ≈ 53%
· 전략에 아무 시간대 효과가 없어도, 두 번 중 한 번은 "5전 5승 시간대"가 보인다
5전 5승은 승률 100%로 표시되기 때문에 강하게 눈에 들어옵니다. 하지만 표본 5건으로 승률을 말하는 것은 거의 의미가 없습니다. 요일(7칸), 코인(수십 칸), 진입 조건 조합(수백 칸)으로 나눌수록 이 문제는 더 커집니다. 여러 조건을 동시에 뒤져서 가장 좋은 것을 고르는 문제는 다중 검정 함정에서, 표본이 몇 건이어야 승률을 말할 수 있는지는 거래 표본 크기에서 정리했습니다.
예시 3 — 런 검정으로 뭉침이 우연인지 확인
연승·연패가 정말 뭉쳐 있는지 간단히 확인하는 방법이 런 검정(runs test)입니다. "런(run)"은 같은 결과가 이어진 덩어리 하나를 말합니다. 예를 들어 승승패패패승은 런이 3개(승승 / 패패패 / 승)입니다. 결과가 뭉쳐 있으면 런 수가 기대보다 적고, 너무 자주 바뀌면 기대보다 많습니다.
· n₁ = 승 수, n₂ = 패 수, n = n₁ + n₂
· 기대 런 수 μ = 1 + 2·n₁·n₂ ÷ n
· 분산 σ² = 2·n₁·n₂·(2·n₁·n₂ − n) ÷ (n² · (n − 1))
· z = (실제 런 수 − μ) ÷ σ → |z| 가 약 1.96을 넘으면 5% 기준에서 우연으로 보기 어렵다
· μ = 1 + 2 × 20 × 20 ÷ 40 = 21
· σ² = 2 × 400 × (800 − 40) ÷ (1,600 × 39) = 608,000 ÷ 62,400 ≈ 9.74 → σ ≈ 3.12
· 실제 런 수 17개 → z = (17 − 21) ÷ 3.12 ≈ −1.28 → 우연 범위 안
· 실제 런 수 15개 → z = (15 − 21) ÷ 3.12 ≈ −1.92 → 경계선 근처, 아직 단정하기 어렵다
런 수 17개면 눈으로 보기에는 "연승·연패가 꽤 뭉쳐 있다"고 느껴지는 수열이지만, 계산하면 완전히 무작위인 경우와 구분되지 않습니다. 런 수가 15개까지 줄어도 겨우 경계선에 닿는 정도입니다. 40건은 이런 검정을 하기에도 작은 표본이라는 점도 함께 기억해야 합니다. 표본이 작을 때 결과의 흔들림 폭을 추정하는 다른 방법은 블록 부트스트랩 신뢰구간에 정리돼 있습니다.
예시 4 — 연승 뒤에 크기를 키우면
군집 착각이 가장 비싸게 작동하는 지점은 포지션 크기입니다. 연승 구간을 "감이 좋은 시기"로 읽고 크기를 키우면, 그 직후 평범한 연패가 왔을 때 손실이 커집니다.
· 기본 허용 손실 = 2,000 × 1% = $20
· 5연승 뒤 "흐름이 좋다"며 위험을 3%로 올림 → 거래당 허용 손실 $60 수준
· 직후 5연패(예시 1에서 본 것처럼 흔한 일)가 오면: 대략 60 × 5 = $300 손실 → 계좌의 약 15%
· 같은 5연패를 1% 그대로 맞았다면: 대략 20 × 5 = $100 손실 → 약 5%
· 전략의 승률은 그대로인데, 크기 결정 하나로 낙폭이 세 배가 된다
반대 방향도 같습니다. 5연패 뒤에 "이번엔 이길 차례"라며 크기를 키우는 것은 도박사의 오류이고, 5연패 뒤에 겁이 나서 크기를 줄였다가 다음 연승을 작은 크기로만 맞는 것도 흔한 패턴입니다. 크기는 결과의 흐름이 아니라 손절 거리와 계좌 크기로 정하는 것이 원칙이며, 계산 방법은 포지션 사이징에 정리돼 있습니다.
뭉침이 진짜 신호일 때도 있다
모든 뭉침이 우연은 아닙니다. 시장 레짐이 바뀌면 같은 전략의 승률이 실제로 달라지기도 합니다. 추세장에서 잘 맞던 전략이 횡보장에서 연패하는 것은 착각이 아니라 실제 변화일 수 있습니다. 문제는 결과만 보고는 둘을 구분할 수 없다는 점입니다. 구분하려면 결과가 아니라 결과가 나오기 전에 알 수 있던 조건으로 나눠 봐야 합니다.
예를 들어 "변동성이 낮은 구간에서 진입한 거래"처럼 진입 시점에 알 수 있는 기준으로 미리 나누고, 그 기준을 정한 뒤에 쌓인 새 거래로 확인하는 순서가 필요합니다. 결과를 보고 칸을 나눈 뒤 그 칸이 좋았다고 말하는 것은 순서가 거꾸로입니다. 극단적인 구간 뒤에 성적이 평균 쪽으로 돌아오는 현상은 평균 회귀에서, 결과가 좋았다는 이유로 판단까지 좋았다고 여기는 문제는 결과 편향에서 다뤘습니다.
매매일지에서 쓰는 순서
① 연승·연패 길이를 보기 전에, 내 승률과 거래 수로 기대되는 최장 연속 구간을 먼저 계산한다
② 시간대·요일·코인별 성적을 볼 때는 칸마다 표본 수를 같이 적는다
③ 칸이 많을수록 우연히 좋은 칸이 나온다는 점을 감안한다 (24칸이면 약 절반 확률로 5전 5승 칸이 생긴다)
④ 뭉침이 의심되면 런 검정으로 z 값을 확인한다
⑤ 새 규칙은 진입 시점에 알 수 있는 조건으로만 만들고, 이후 새 거래로 확인한다
⑥ 연승·연패를 이유로 포지션 크기를 바꾸지 않는다
매매일지를 어떻게 기록해야 이런 확인이 가능한지는 매매일지 작성법에, 이미 믿고 있는 패턴에 맞는 기록만 눈에 들어오는 문제는 확증 편향에 정리돼 있습니다.
정리
② 승률 50%·100거래면 5연패 이상이 나올 확률이 약 81% — 5연패는 고장의 증거가 아니다
③ 칸을 많이 나눌수록 우연히 좋아 보이는 칸이 생긴다
④ 런 검정으로 뭉침이 우연 범위 안인지 숫자로 확인할 수 있다
⑤ 연승 뒤 크기 확대는 그 직후의 평범한 연패를 큰 손실로 바꾼다
⑥ 진짜 변화인지는 결과가 아니라 진입 시점 조건으로 미리 나눠 확인한다
주의
본문의 승률, 거래 수, 확률, 계좌 크기는 모두 계산을 설명하기 위한 가정 예시이며 실제 매매 기록이나 특정 전략의 결과가 아닙니다. 확률값은 각 거래가 독립이고 승률이 일정하다는 단순 모형에서 계산한 근삿값이며, 실제 매매 결과는 이 가정과 다를 수 있습니다. 이 글은 교육 정보이며 특정 종목·전략의 매수·매도 권유가 아닙니다. 코인 및 선물·레버리지 거래는 원금 손실 위험이 있고, 매매 판단과 그 결과는 본인 책임입니다.
NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.
봇에서 시작하기📈 OKX 신규 가입 시 거래 수수료 할인
OKX 수수료 할인 가입 →