OptiNod 아카데미

최근성 편향 — 정상 범위의 연속 손실을 시스템 고장으로 오판한다

검증된 시스템의 연속 손실은 대개 정상 분산 안이고, 최근성 편향은 기대 연패 길이와 시스템 교체 빈도로 측정됩니다.

> 검증된 양의 기댓값 시스템도 *정상적으로* 긴 연속 손실 구간을 만듭니다. 직전 다섯 번, 여섯 번만 기억하면 그 정상 분산의 폭을 시스템 고장으로 오판합니다.

최근성 편향(Recency Bias)은 최근에 겪은 결과에 실제보다 큰 비중을 두는 인지 경향입니다. 이 편향은 Amos Tversky와 Daniel Kahneman이 1973년에 정리한 가용성 휴리스틱에서 나옵니다. 사람은 사건의 확률을 판단할 때 실제 빈도를 세지 않고, 그 사건이 얼마나 쉽게 떠오르는지로 대신합니다. 방금 겪은 다섯 번의 손실은 또렷하게 떠오르고, 반년 전의 스무 번의 이익은 흐릿합니다. 그래서 최근 표본이 판단을 좌우합니다.

트레이더에게 이 편향은 두 방향으로 작동합니다. 몇 번 연속으로 손실이 나면 "이 시스템은 고장 났다"고 판단하고 매매를 멈춥니다. 반대로 최근 몇 번 잘 맞은 파라미터를 보면 "지금은 이 설정이 맞다"고 판단하고 그 설정으로 바꿉니다. 두 판단 모두 최근 몇 거래를 시스템의 현재 상태로 여기지만, 그 표본은 지나치게 작습니다.

검증된 양의 기댓값 시스템도 정상적으로 긴 연패 구간을 만듭니다. 승률 p인 시스템을 N번 반복할 때 자연히 기대되는 최장 연패 길이는 대략 log_{1/q}(N·p)이며, 여기서 q는 손실 확률(1−p)입니다. 승률 45%인 시스템을 200번 반복하면 이 값은 약 8이 됩니다. 여덟 번 연속 손실이 나도 시스템은 고장 나지 않았습니다. 표본이 충분하면 반드시 한 번은 나타나는 정상 구간입니다. 직전 대여섯 번만 기억에 남으면, 이 정상 분산의 폭을 고장으로 오판합니다.

장기 곡선과 최근 하락 비교

가용성 휴리스틱은 최근 표본에 지나치게 큰 비중을 둡니다

최근성 편향은 결국 기억이 얼마나 쉽게 떠오르느냐의 문제입니다. 확률을 계산하려면 과거 결과 전체를 표본으로 삼아야 하는데, 사람의 판단은 전체 표본 대신 쉽게 떠오르는 사례를 씁니다. 방금 겪은 손실은 감정과 함께 또렷하게 기록되고, 오래된 이익은 세부가 흐려집니다. 그 결과 최근 다섯 거래가 판단의 기준이 되고, 지난 100거래는 계산에 반영되지 않습니다.

여기에 표본 크기 착각이 더해집니다. 다섯 거래, 열 거래는 시스템의 승률을 추정하기에 턱없이 작은 표본인데, 사람은 작은 표본에서도 안정된 비율이 나온다고 기대합니다. Tversky와 Kahneman은 1971년 이 경향을 작은 수의 법칙이라 불렀습니다. 즉 작은 표본이 모집단의 성질을 그대로 보여줄 것이라 기대하는 착각입니다. 승률 55%인 시스템이라도 다섯 거래에서 4연패가 나오는 일은 흔합니다. 이 짧은 구간을 시스템의 현재 승률로 보면, 실제로는 55%인 시스템을 20%로 착각합니다.

최근 표본에 지나치게 큰 비중을 두는 순간, 정상 분산이 이상 신호로 보입니다.

양의 기댓값 시스템도 정상적으로 연패를 만듭니다

연속 손실이 정상인지 고장인지는 계산으로 확인됩니다. 승률 p, 손실 확률이 1−p인 독립 시행에서 N번 거래할 때, 기대되는 최장 연패 길이는 대략 log_{1/q}(N·p)입니다(q는 손실 확률입니다).

승률 45%인 추세추종 시스템을 예로 들겠습니다. 이 시스템을 200번 반복하면 기대 최장 연패는 약 8회입니다. 승률이 50%이고 100거래라면 약 6회입니다. 승률이 40%까지 내려가는 시스템이라면 150거래에서 약 8~9회 연속 손실이 기댓값 안에 들어옵니다. 손실이 이익보다 자주 나는 시스템일수록, 정상적으로 겪는 연패도 길어집니다.

연패 길이뿐 아니라 빈도도 계산됩니다. 승률 45%인 시스템으로 100거래를 하면, 5연패 구간은 평균 두 번 넘게 나타납니다. 승률 50%인 시스템도 5연패를 평균 한두 번 만듭니다. 5연패는 드문 사고가 아닙니다. 표본이 쌓이면 예정대로 나타나는 정상 구간입니다.

이 계산에서 나오는 결론은 분명합니다. 시스템의 승률과 거래 수를 알면, 정상적으로 겪게 될 최장 연패의 길이가 미리 정해집니다. 그 길이 안에서 나온 연패는 시스템의 고장을 뜻하지 않습니다.

연패를 고장으로 여기면 큰 추세 직전에 시스템을 끕니다

실제 시장에서 이 오판의 비용은 큽니다. 2024년 여름, 비트코인은 6월부터 10월까지 약 다섯 달 동안 대략 49,000달러에서 74,000달러 사이의 넓은 구간을 오르내렸습니다. 8월 5일에는 49,000달러까지 밀렸다가 다시 60,000달러대로 올라오는 식으로, 방향이 정해지지 않은 횡보 구간이 이어졌습니다.

추세추종·돌파 시스템은 이런 횡보 구간에서 작은 손실을 반복합니다. 돌파에 진입하면 되돌려지고, 다시 진입하면 또 되돌려지면서 작은 손실이 쌓입니다. 다섯 달 동안 이런 손실이 이어지면, 최근성 편향 탓에 "이 시스템은 이제 맞지 않는다"고 결론짓기 쉽습니다.

10월에 시스템을 끈 트레이더는 다음 구간을 놓쳤습니다. 11월 초 약 69,000달러에서 비트코인은 상승을 시작해 12월 17일 108,353달러까지 약 57% 올랐습니다. 다섯 달의 횡보에서 작은 손실을 감수한 이유는 이런 추세 한 번을 잡기 위해서였는데, 최근성 편향이 그 직전에 시스템을 끄게 만들었습니다.

추세추종 시스템의 기댓값은 이런 소수의 큰 추세에서 나오며, 횡보 구간의 작은 손실은 그 추세를 기다리는 비용입니다. 연패 구간에서 시스템을 끄면 그 비용만 치르고 정작 큰 추세는 놓치게 됩니다.

시스템을 끈 직후 시작된 추세

최근성 편향은 두 가지 숫자로 측정됩니다

최근성 편향을 감정의 문제로만 보면 진단이 막연합니다. 두 가지 숫자를 보면 이 편향이 실제로 작동하는지 확인할 수 있습니다.

첫 번째는 기대 연패 길이와 실제 연패의 비교입니다. 시스템의 승률과 거래 수를 앞의 공식에 넣으면, 정상적으로 나올 최장 연패 길이가 나옵니다. 지금 겪는 연패가 그 길이 안이면 정상 분산이고, 그 길이를 크게 넘으면 그때 시스템을 다시 검토합니다. 승률 45%·200거래 시스템에서 6연패는 기댓값(약 8회) 안이므로, 6연패만으로 시스템을 끄는 판단은 근거가 약합니다.

두 번째는 시스템 교체 빈도입니다. 매매 기록에 시스템을 끄거나 파라미터를 바꾼 시점을 표시하고, 그 직전 연패 길이를 함께 적습니다. 교체가 대부분 짧은 연패(정상 분산 안) 직후에 몰려 있으면, 최근성 편향으로 시스템을 너무 일찍 버리고 있다는 정량적 증거입니다. 교체 직후의 성과와, 교체 전 시스템을 그대로 유지했을 때의 성과를 나란히 계산하면, 그 교체가 이익이었는지 손해였는지 숫자로 확인됩니다.

  • [ ] 기대 연패 계산: 시스템 승률과 예상 거래 수로 기대 최장 연패 길이를 미리 계산해 적어 둡니다.
  • [ ] 연패 시점 표시: 매매를 멈추거나 파라미터를 바꿀 때마다 그 직전 연패 길이를 기록합니다.
  • [ ] 교체 전후 비교: 교체 직후 성과와, 이전 시스템을 유지했을 때의 성과를 나란히 계산합니다.
  • [ ] 정상 범위 기준선: 기대 연패 길이를 시스템을 버리는 기준선으로 삼고, 그 안의 연패에는 시스템을 유지합니다.
정상 연패와 경고 임계선

정상 분산의 폭을 미리 알면 연패에도 시스템을 유지합니다

연패가 판단을 흔드는 것은 정상 분산의 폭을 모르기 때문입니다. 그 폭을 미리 알면, 연패가 그 안에 들어오는 한 판단이 흔들릴 이유가 없습니다. OptiNod의 검증 도구는 이 폭을 매매 전에 계산합니다.

워크포워드 분석은 최적화 구간과 검증 구간을 나눠 굴리면서, 검증 구간마다 성과가 어떻게 변하는지 보여줍니다. 여러 검증 구간의 성과 분포를 보면, 이 시스템이 정상적으로 겪는 부진 구간의 폭이 나옵니다. 강건성 세 지표와 구간별(분기) 측정은 같은 시스템의 성과를 여러 구간으로 나눠 잽니다. 한 분기가 부진해도 다른 분기가 이를 채우는 구조라면, 그 부진은 정상 분산 안입니다.

거래 결과를 무작위로 다시 배열해 낙폭 분포를 만드는 몬테카를로 재표집도 같은 목적입니다. 같은 거래들을 순서만 바꿔 수천 번 다시 배열하면, 정상적으로 나올 수 있는 최대 연패와 최대 낙폭의 분포가 나옵니다. 지금 겪는 낙폭이 그 분포의 어디쯤인지 알면, 그것이 정상 범위인지 이상 신호인지 판단됩니다.

정상 분산의 폭을 숫자로 알고 있으면, 최근 다섯 번의 손실은 판단을 흔들 근거가 되지 못합니다.

두 가지 함정

*최근 잘된 파라미터로 바꾸는 최적화.* 최근성 편향의 반대 방향은 최근 잘 맞은 파라미터를 좇는 것입니다. 지난 달에 가장 수익이 좋았던 설정으로 바꾸면, 그 설정은 최근 구간에 맞춰진 과최적화일 가능성이 높습니다. 최근 성과로 파라미터를 바꾸는 행동은 사실상 최근 구간에 곡선을 맞추는 작업이고, 다음 구간에서 그 설정은 다시 부진합니다.

*손실 구간에만 도입하는 새 규칙.* 연패 중에 "이번엔 이 필터를 하나 더 걸었어야 했다"는 판단으로 규칙을 덧붙이는 경우가 있습니다. 이 규칙은 방금 겪은 손실을 피하도록 맞춰진 것이고, 표본은 그 몇 번의 손실뿐입니다. 사후에 손실 구간만 보고 추가한 조건은 그 구간의 손실을 없애 주지만, 전체 기간에서는 오히려 기댓값을 낮추는 경우가 많습니다. 새 필터는 언제나 전체 기간의 백테스트로 검증해야 합니다.

연패의 정상 범위는 계산에서 나옵니다

최근성 편향의 특징은 시스템이 멀쩡할 때 가장 크게 작동한다는 점입니다. 검증된 양의 기댓값 시스템일수록 긴 연패를 정상적으로 만들고, 그 연패는 최근 표본만 보는 눈에는 고장으로 보입니다. 이 오판을 막는 방법은 마음을 다잡는 것이 아닙니다. 매매를 시작하기 전에 시스템의 승률과 거래 수로 기대 최장 연패 길이를 계산하고, 그 길이를 시스템 유지의 기준선으로 정해 두는 것입니다. 지금 겪는 연패가 그 안에 들어오는 한, 직전 다섯 번의 손실은 시스템을 끌 근거가 되지 못합니다. 연패가 정상인지 고장인지는 기억으로 판단할 수 없습니다. 계산에서 나옵니다.