룩어헤드 편향: 일부러 주입해서 값을 재봤다

글쓴이 chwoo · 코인 매매 7년. 2026년 봄부터 자동매매 봇 운용. · · 수정

룩어헤드 편향은 그 시점에 아직 존재하지 않았을 정보를 백테스트가 쓰는 것이다. 백테스트가 가질 수 있는 가장 위험한 결함인데, 오류를 내지 않기 때문이다. 대신 아름다운 수익곡선을 낸다.

어떻게 일어나는지를 나열하는 대신 직접 주입했다. 이 사이트의 엔진은 신호가 난 봉의 다음 봉 시가에 체결한다. 정직한 방식이다. 이 글을 위해 캔들 데이터를 일부러 고쳐 엔진이 알 수 없었을 가격에 체결하도록 만들고, 각 거짓말이 얼마짜리인지 쟀다.

각 속임수의 값어치

BTC 1시간봉에서 전략 셋, 현실 비용(편도 수수료 0.06% + 슬리피지 0.02%), 레버리지 1배, 진입 비중 90%, 2026년 9월 21일까지의 데이터다. 바뀌는 것은 가정한 체결 가격뿐이다.

전략과 체결 가정거래수승률수익률최대낙폭
RSI 30 — 다음 봉 시가 (정직)69938.3%-79.2%85.2%
RSI 30 — 신호 봉 종가69938.3%-79.2%85.2%
RSI 30 — 신호 봉 저가62860.8%+13,596.4%15.9%
볼린저 — 다음 봉 시가 (정직)1,17840.1%-82.6%88.5%
볼린저 — 신호 봉 종가1,17840.1%-82.6%88.5%
볼린저 — 신호 봉 저가1,13949.8%+2,526.2%26.9%
MACD — 다음 봉 시가 (정직)2,57332.4%-70.2%92.3%
MACD — 신호 봉 종가2,57332.4%-70.3%92.3%
MACD — 신호 봉 저가2,57343.0%+657,482.9%26.3%
같은 규칙, 같은 데이터, 체결 가정 셋. 정직하게 지는 전략이 낙관적 체결에서는 전부 화려해진다.

이 글이 측정한 전략을 백테스터에서 열기 →

체결을 신호 봉의 저가로 옮기면 세 전략 모두 손실에서 수익으로 뒤집히고, MACD는 657,482.9%를 낸다. 결과가 아니라 오류 메시지로 읽어야 할 숫자다. 이 수치를 믿고 발표하는 사람은 없다. 중요한 것은 그 옆에 딸려오는 것들이다.

낙폭 열을 보자. 정직한 MACD는 낙폭이 92.3%인데 속인 판본은 26.3%다. 승률도 32.4%에서 43.0%로 오른다. 룩어헤드는 수익률만 부풀리는 게 아니라 다른 모든 통계를 동시에 건강해 보이게 만든다. 그래서 검토를 통과한다. 낙폭 26%에 승률 43%인 곡선은 버그처럼 보이지 않는다.

모두가 경고하는 그 실수는 여기서 거의 무해하다

이제 의외의 부분이다. 각 묶음의 가운데 줄이 그 고전적인 오류다. 캔들의 종가로 지표를 계산해놓고 그 같은 종가에 샀다고 가정하는 것이다. 모든 백테스트 튜토리얼이 이걸 경고한다. 우리 측정에서 세 전략 전부에 걸쳐 결과를 최대 0.1%포인트 바꿨다.

이유는 구조적이다. 코인은 세션 휴장 없이 하루 24시간 거래되므로, 한 봉의 종가와 다음 봉의 시가가 거의 같은 숫자다. 편향이 살 갭이 없다. 종가와 다음 시가가 몇 퍼센트씩 벌어질 수 있는 주식에서는 같은 실수가 진짜로 위험하다.

이걸 분명히 말해두는 이유는, 통용되는 조언이 주식에서 수입돼 검증 없이 코인에서 반복되기 때문이다. 종가냐 다음 시가냐는 당신의 코인 백테스트가 거짓말하고 있는 지점이 아니다. 다음 봉에 체결하는 것이 여전히 옳고 이 사이트도 그렇게 하지만, 그것만 고친다고 백테스트가 정직해지지는 않는다.

피해가 실제로 커지는 곳

같은 RSI 규칙에 낙관적 체결을 다시 적용하고, 타임프레임만 넷으로 바꿨다.

타임프레임정직신호 봉 종가신호 봉 저가부풀림
15분-91.9%-92.1%+172,130.8%172,222.7%p
1시간-79.2%-79.2%+13,596.4%13,675.6%p
4시간-41.9%-41.9%+1,988.3%2,030.2%p
1일-13.1%-13.1%+78.0%91.1%p
15분봉의 폭이 가장 좁은데도 부풀림은 가장 작은 타임프레임에서 가장 크다.

방향이 직관과 반대다. 일봉은 15분봉보다 폭이 훨씬 넓으니 일봉의 속임수가 더 값어치 있을 것 같다. 실제로는 91.1%포인트 대 172,222.7%포인트다.

설명은 봉의 크기가 아니라 복리다. 거래당 작은 가짜 우위가 15분 전략의 훨씬 큰 거래수에 걸쳐 반복되면 터무니없는 총합으로 곱해진다. 룩어헤드는 전략이 가장 많이 거래하는 곳에서 가장 위험하고, 그곳이 입문자가 시작하는 곳이기도 하다.

측정으로 없앨 수 없는 모호함

답이 깔끔하지 않은 경우가 하나 있다. 어떤 캔들의 고가가 익절에 닿고 저가가 손절에 닿았다면, OHLC 데이터로는 어느 쪽이 먼저였는지 알 수 없다. 백테스트는 선택해야 하고, 유리한 쪽을 고르는 것은 이름만 다른 룩어헤드다.

이 엔진은 그런 캔들을 항상 손절로 판정한다. 비관적인 해석이다. 평균적으로 결과가 현실보다 약간 나빠지는데, 우리는 오차가 그 방향으로 나는 편을 택한다. 반대로 판정하는 도구는 실제 체결이 가장 나쁜 변동성 캔들에서 정확히 더 좋은 숫자를 보여주게 된다.

백테스트에서 이걸 확인하는 법

  • 높은 승률과 낮은 낙폭이 같이 있으면 의심하라. 첫 표에서 속임수가 MACD의 낙폭을 92.3%에서 26.3%로 낮추면서 승률은 올렸다. 그 조합이 신호다.
  • 어느 봉에서 체결하는지 물어라. 답은 신호 다음 봉이어야 한다. 코인에서는 듣던 것보다 덜 중요하지만, 이 질문에 답하지 못하는 도구는 다른 문제도 있다.
  • 같은 봉에서 익절과 손절이 겹치면 어떻게 처리하는지 물어라. 답이 유리한 쪽이거나 답이 없다면, 결과는 알 수 없는 만큼 낙관적이다.
  • 고빈도 결과를 가장 의심하라. 타임프레임 표는 거래가 많은 곳에서 편향이 가장 세게 복리로 붙는 것을 보여준다.
  • 지표가 마감된 봉만 쓰는지 확인하라. 자기 과거 값을 다시 그리는 리페인팅 지표는 이 목록의 다른 모든 검사를 통과한다.

이 사이트의 엔진은 독립적으로 작성된 파이썬 구현과 거래 하나하나까지 대조 검증된다. 위 표의 정직한 열이 실제로 정직하다는 것을 그래서 알 수 있다. 그 교차검증은 방법론 페이지에 설명돼 있다.

불가능해 보이는 수익률을 내는 백테스트는 대개 실제로 불가능하고, 원인은 대개 이것이다. 첫 표의 전략들은 제대로 돌리면 70%에서 83%를 잃는다. 같은 규칙에 가격 가정 하나만 바꾸면 수천 퍼센트를 내면서 낙폭은 4분의 1이 되고 승률도 좋아진다. 그 외에는 아무것도 바뀌지 않았다.

참고 자료

읽는 것도 좋지만 직접 돌려보는 게 낫다. 바이낸스 7년 데이터로 진짜 백테스트를 무료로.

백테스터 써보기