승률 (Win Rate)
내가 내린 예측 가운데 맞힌 비율. 직관적이지만 이길 때 얼마를 벌고 질 때 얼마를 잃는지는 담지 못해, 높아도 손실이 날 수 있다.
공식
승률 = 맞힌 예측 수 / 전체 예측 수 × 100 기댓값 = (승률 × 평균 수익) − (패률 × 평균 손실)
승률은 내가 내린 예측 가운데 실제로 맞힌 비율이다. 열 번 예측해서 일곱 번 맞히면 승률 70%가 된다. 계산이 단순하고 숫자만 봐도 기분이 좋기 때문에 흔히 실력을 증명하는 지표처럼 쓰인다. 그런데 승률 하나만 들여다보면, 정작 계좌는 줄어드는데도 스스로 잘하고 있다고 착각하기 딱 좋다는 게 함정이다.
왜 그럴까. 승률은 몇 번 맞혔는지 횟수만 셀 뿐, 맞았을 때 얼마를 벌고 틀렸을 때 얼마를 잃는지는 전혀 담아내지 못한다. 조금씩 아홉 번 이기고 한 번 크게 지면 승률은 90%라도 전체 손익은 마이너스일 수 있다. 반대로 승률이 30%밖에 안 돼도 이길 때 크게 벌어들이면 합산 결과는 플러스가 된다. 승률이 실력과 어긋나는 이 지점이 바로 초보와 숙련자를 가른다.
그래서 승률은 손익비(리스크 대비 보상)와 기댓값(expected value)을 함께 놓고 봐야 비로소 뜻이 통한다. 기댓값은 예측 한 번이 평균적으로 얼마를 벌어다 주는지를 나타내는 값으로, 승률에 더해 이겼을 때의 크기와 졌을 때의 크기를 모두 반영한다. 승률이 낮아도 이길 때의 보상이 질 때의 손실보다 충분히 크면 기댓값은 플러스가 되고, 길게 보면 살아남는 쪽은 승률이 화려한 사람이 아니라 기댓값이 플러스인 사람이다.
예측 리더보드에서도 마찬가지다. 방향만 맞히는 게임이라면 승률이 곧 실력처럼 보이지만, 큰 하락을 놓친 한 번의 오답이 자잘한 정답 여러 번을 통째로 삼켜버릴 수 있다. 그래서 성과를 제대로 비교하려면 맞고 틀림의 횟수가 아니라 각 예측이 실제로 얼마나 큰 움직임을 얼마나 정확히 잡아냈는지까지 봐야 한다.
예시
승률 90%라도 이길 때 +1%, 질 때 −15%면 기댓값 = 0.9×1% − 0.1×15% = −0.6%로 장기적으로는 손실이다.
LDBD에서는
LDBD가 리더보드를 승률이 아니라 연율화 수익률(rate)로 세우는 이유가 정확히 이 함정 때문이다. rate는 맞고 틀림을 세는 대신 방향 로그수익률(g = ±ln(1+return_pct))을 쓰기 때문에, 작은 움직임을 여러 번 맞혀도 점수는 조금만 오르고 큰 하락에서 한 번 크게 틀리면 크게 깎인다. 게다가 움직임이 0.05%도 안 되면 void 처리되어, 승률을 채우는 자잘한 정답이 점수에 아예 반영되지 않는다. 승률은 참고용 보조 지표로만 볼 수 있고, 순위는 결국 움직임의 크기까지 반영한 rate가 결정한다.
자주 묻는 질문
승률이 높은데 왜 돈을 잃나요?
이길 때 버는 돈보다 질 때 잃는 돈이 훨씬 크면, 아무리 자주 맞혀도 합산 손익은 마이너스가 된다. 승률 90%여도 한 번의 큰 손실이 아홉 번의 작은 이익을 통째로 삼킬 수 있기 때문이다. 그래서 승률은 반드시 손익비, 기댓값과 함께 봐야 한다.
승률은 몇 %면 좋은 건가요?
정답인 하나의 기준은 없다. 손익비에 따라 달라지는데, 이길 때 질 때보다 2배를 번다면 승률이 34%만 넘어도 기댓값은 플러스가 된다. 반대로 손익비가 나쁘면 승률 80%도 부족할 수 있다.