OptiNod Academy

사후확신 편향 — 지나간 차트는 다 보이고 우측 끝은 안 보인다

백테스트 차트가 명료한 것은 결과를 이미 본 탓이고, 사후확신 편향은 리플레이 복기 일치율과 사후 추가 규칙 수로 측정됩니다.

> 완성된 차트에서는 진입 지점이 *명료하게* 보입니다. 그 명료함은 결과를 이미 봤기 때문에 생기고, 우측 끝을 가리면 같은 신호가 흔들립니다.

사후확신 편향(Hindsight Bias)은 1975년 Baruch Fischhoff가 실험으로 확인하고 이름 붙인 현상으로, 결과를 알고 난 뒤 그 결과가 처음부터 예측 가능했다고 판단을 재구성하는 경향을 가리킵니다. 영어권에서는 이런 경향을 "그럴 줄 알았다 효과(knew-it-all-along effect)"로도 부릅니다. 결과를 확인하는 순간, 사람은 결과를 모르던 시점에 자신이 느낀 불확실성을 실제보다 낮게 기억합니다.

대중은 이것을 지나고 나서 얻는 지혜 정도로 가볍게 넘깁니다. 일상에서는 큰 문제가 없지만, 매매에서는 다릅니다. 완성된 백테스트 차트를 보며 "이 진입은 명료했다"고 판단하는 순간, 사후확신 편향을 자기 분석력으로 착각합니다. 그 명료함은 차트를 읽는 능력에서 나오지 않습니다. 오히려 결과가 이미 확정돼 있어서 생긴 것입니다.

비용은 두 단계로 쌓입니다. 먼저 완성된 차트에서 진입 지점이 뻔해 보이면, 실전에서 자신이 그 지점을 실시간으로 잡을 수 있다고 과대평가합니다. 다음으로, 손실 구간을 되짚어 보며 "이 필터만 있었으면 피했다"는 규칙을 사후에 추가합니다. 이 두 번째 단계가 백테스트를 과거에 맞추는 과최적화로 이어집니다. 편향의 크기는 비율 하나로 잴 수 있습니다. 완성된 차트에서 되짚어 표시한 진입이 10개인데 우측 끝을 가린 리플레이에서 실제로 들어간 진입이 3개라면, 일치율은 30%이고 나머지 70%는 결과를 본 뒤에 생긴 명료함입니다.

결과를 안 뒤에 판단이 재구성됩니다

Fischhoff의 1975년 실험은 사람에게 어떤 사건의 여러 결과를 제시하고, 실제 결과를 알려 준 집단과 알려 주지 않은 집단이 각 결과의 발생 확률을 얼마로 봤는지 비교했습니다. 결과를 들은 집단은 실제로 일어난 결과에 처음부터 높은 확률을 매겼다고 답했습니다. 결과를 알게 되자 과거에 자신이 어떻게 판단했는지가 기억 속에서 바뀐 것입니다.

이 재구성은 세 가지로 나뉩니다(Roese와 Vohs, 2012). 첫째는 기억 왜곡으로, 결과를 알기 전 자신의 예측을 실제와 다르게 기억합니다. 둘째는 필연성 인식으로, 일어난 일이 그렇게 될 수밖에 없었다고 느낍니다. 셋째는 예측 가능성 인식으로, 자신이 그 결과를 미리 알 수 있었다고 믿습니다. 세 가지가 겹치면 "그럴 줄 알았다"고 확신합니다.

매매에서 이 재구성은 복기 단계에서 작동합니다. 큰 상승이 끝난 뒤 차트를 보면, 저점에서 매수했어야 했다는 판단이 뚜렷해집니다. 그런데 그 저점에 서 있던 순간에 느낀 불확실성은 기억 속에서 이미 줄어 있습니다. 복기가 실시간 판단을 정확히 재현하지 못하는 이유입니다.

지나간 차트는 진입 지점이 명료하고 우측 끝은 흐릿합니다

완성된 차트에서는 모든 전환점의 양쪽이 보입니다. 저점 왼쪽의 하락과 오른쪽의 상승이 한 화면에 같이 있으니, 그 저점은 매수 지점으로 명료해 보입니다. 실시간 차트에는 그 오른쪽이 없습니다. 우측 끝 봉은 고저종이 확정되지 않았고, 그다음 봉의 방향은 열려 있습니다.

2025년 4월 7일 비트코인은 74,508달러까지 내린 뒤 8월 14일 124,474달러까지 약 67% 올랐습니다. 완성된 차트에서 4월 7일 저점은 넉 달 상승의 출발점으로 뚜렷합니다. 그 저점에서 매수하는 것은 되짚어 보면 당연합니다. 하지만 실시간으로 4월 7일에 서 있었다면 화면은 달랐습니다. 가격은 1월 20일 109,588달러 고점에서 약 32% 내려온 상태였고, 우측 끝은 하락이 이어지는 중간처럼 보였습니다. 명료한 저점은 8월까지의 상승을 본 뒤에 생긴 것입니다.

반대 방향도 같습니다. 10월 6일 126,200달러 고점은 완성된 차트에서 분명한 매도 지점입니다. 그 뒤 11월 21일 80,600달러까지 약 36% 내렸기 때문입니다. 10월 6일 당시 우측 끝에서 보면 그 고점은 상승 중에 나온 여러 고점 중 하나였습니다. 바 리플레이 도구는 이 우측 끝을 실시간 상태로 되돌립니다. 차트의 오른쪽을 가리고 한 봉씩 앞으로 옮기면, 완성된 차트에서 뻔했던 진입이 실시간에서는 흔들립니다.

과거 차트와 실시간 불확실성

사후 규칙을 더할수록 과최적화에 가까워집니다

손실 구간을 복기하면 사후확신 편향은 새 규칙을 더하는 행동으로 이어집니다. 특정 손실을 되짚어 보며 "이 조건만 걸었으면 그 진입을 걸렀다"고 판단하고, 백테스트에 그 조건을 넣습니다. 넣고 나면 과거 성과가 좋아지는데, 그 조건을 바로 그 과거 구간에 맞춰 골랐기 때문입니다.

이것은 과최적화와 구조가 같습니다. 파라미터를 늘려 과거 곡선에 맞추면 백테스트 수익은 올라가고 실전 성과는 같이 오르지 않습니다. 사후 규칙도 그렇습니다. 결과를 본 뒤 추가한 조건은 그 결과가 없는 미래 데이터에서 같은 이득을 주지 않습니다.

한 걸음 더 들어가면 사후 규칙은 룩어헤드와도 연결되는데, 결정 시점에 없던 정보, 그러니까 그 뒤에 일어난 결과를 규칙 설계에 쓰기 때문입니다. 리페인팅이 미래 봉의 값을 신호로 끌어오는 것이라면, 사후 규칙은 미래에 일어난 결과를 규칙으로 끌어옵니다. 두 경우 모두 백테스트 기댓값은 올라가고 실거래 기댓값은 그대로입니다.

사후확신은 두 가지 숫자로 측정됩니다

복기하며 드는 느낌만으로는 사후확신 편향을 진단하기 어렵습니다. 리플레이 복기와 실제 복기를 대조하면 두 가지 숫자가 나옵니다.

첫 번째는 리플레이 일치율입니다. 같은 구간을 두 번 복기하는데, 한 번은 완성된 차트를 통째로 보고 진입 지점을 표시하고, 다른 한 번은 바 리플레이로 우측 끝을 가린 채 왼쪽에서 오른쪽으로 한 봉씩 옮기며 그 순간 실제로 들어갈 진입만 표시합니다. 두 목록이 겹치는 진입 수를 완성 차트 진입 수로 나눈 값이 일치율입니다. 완성 차트에서 10개를 표시했는데 리플레이에서 3개만 들어갔다면 일치율은 30%이고, 나머지 70%는 결과를 본 뒤에 명료해진 진입입니다.

두 번째는 사후 규칙 수입니다. 전략을 처음 설계할 때 정한 규칙 수와, 이후 손실 구간을 복기하며 추가한 규칙 수를 따로 셉니다. 추가 규칙이 늘어날수록 백테스트는 과거에 맞춰지고, 그 규칙들이 아웃샘플에서 같은 이득을 주는지는 따로 확인해야 합니다. 처음 5개로 시작한 규칙이 복기를 거치며 12개가 됐다면, 늘어난 7개가 과최적화 후보입니다.

리플레이로 한 봉씩 검증하면 사후확신이 줄어듭니다

사후확신 편향은 결과를 본 뒤에 작동합니다. 결과를 모르는 상태를 복기에서 재현하면 편향이 끼어들 여지가 사라집니다. 바 리플레이가 그 상태를 만듭니다.

  • [ ] 바 리플레이 복기: 검증하려는 구간의 우측을 가리고, 한 봉씩 앞으로 옮기며 그 순간의 정보만으로 진입 여부를 정합니다. 완성된 차트를 통째로 보고 판단하지 않습니다.
  • [ ] 결정 시점 기록: 진입을 정한 봉의 날짜·가격과 그때 근거를 적습니다. 결과를 확인한 뒤 이 기록을 수정하지 않습니다.
  • [ ] 사후 규칙 격리: 손실 복기에서 새 규칙을 떠올리면, 곧바로 백테스트에 넣지 않고 별도 목록에 적어 둡니다. 그 규칙은 아웃샘플에서 검증한 뒤에만 채택합니다.
  • [ ] 아웃샘플·워크포워드 검증: 추가한 규칙은 설계에 쓰지 않은 기간과 워크포워드에서 같은 이득을 내는지 확인합니다.
  • [ ] 주간 점검: 매주 리플레이 일치율과 사후 규칙 수를 계산해, 일치율이 낮아지거나 규칙 수가 늘면 복기 방식을 다시 봅니다.
가려진 미래를 둔 단계별 판단

이 규칙들의 목적은 완벽한 진입을 찾는 데 있지 않습니다. 실시간 정보만으로 판단을 재현해서, 백테스트 성과가 실전에서도 재현될 수 있는지 확인하는 것입니다.

두 가지 함정

*완성된 차트를 보고 신호가 명료했다고 결론짓는 복기.* 되짚어 보면 뻔한 진입은 결과를 본 뒤에 뻔해졌을 가능성이 높습니다. 완성 차트 복기에서 얻은 확신은 실시간 판단의 근거가 되지 못합니다. 같은 구간을 우측을 가린 리플레이로 다시 보면, 그 확신의 상당 부분이 사후확신 편향이었다는 것이 숫자로 확인됩니다.

*손실을 피했을 규칙이라는 사후 조건.* "이 필터만 있었으면 그 손실을 걸렀다"는 규칙은 하나의 과거 구간에 맞춰 고른 조건입니다. 그 손실을 피하게 해 주는 대신, 다른 정상적인 진입까지 걸러 미래 기댓값을 낮출 수 있습니다. 사후 규칙의 순효과는 규칙을 넣기 전후를 아웃샘플에서 비교해 봐야 확인할 수 있습니다.

복기는 우측 끝을 가릴 때만 실전과 같아집니다

사후확신 편향의 특징은 복기할 때만 나타난다는 점입니다. 완성된 차트에서는 진입 지점이 명료하고, 이미 겪은 손실에는 그것을 피했을 규칙이 뒤늦게 떠오릅니다. 이 명료함과 규칙은 결과를 본 뒤에 생긴 것이고, 실시간 화면에는 없던 정보입니다. 우측 끝을 가린 바 리플레이로 좌에서 우로 한 봉씩 복기하고, 리플레이 일치율과 사후 규칙 수를 정기적으로 재면, "그때 잡았어야 했다"는 느낌이 측정 가능한 지표가 됩니다. 결과를 모르는 상태를 바 리플레이로 재현하는 것이 복기를 실전에 가깝게 만드는 유일한 방법입니다.