BIKENZO

백테스팅: 무엇을 보여줄 수 있고 어떻게 오도하는가

백테스팅은 매매 규칙을 과거 데이터에 적용해 그것이 어떻게 작동했을지를 살펴보는 것이지만, 보기 좋은 백테스트가 미래의 결과를 예측하지는 않습니다 — 과최적화와 숨겨진 편향으로 인해 전략은 실제 운용에서보다 종이 위에서 훨씬 더 좋아 보이는 일이 흔합니다.

백테스팅은 정해진 일련의 매매 규칙을 과거 가격 데이터에 적용하여 그 규칙이 어떻게 성과를 냈을지를 측정하는 관행입니다. 정량적 매매와 재량적 매매 모두에서 가장 흔히 쓰이는 도구 중 하나이며, 전략의 행태를 이해하는 데 진정으로 유용할 수 있습니다. 동시에 스스로를 속이기가 가장 쉬운 도구 중 하나이기도 합니다. 이 글은 백테스트가 실제로 무엇을 측정하는지, 그 결과가 어디에서 나오는지, 그리고 백테스트가 어떤 구체적인 방식으로 — 무엇보다도 과최적화로 — 오도할 수 있는지를 쉬운 말로 설명합니다. 여기 있는 내용은 매매 조언이나 추천이 아니며, 적절한 회의감을 가지고 백테스트 결과를 읽을 수 있도록 돕는 배경 정보입니다.

백테스팅이란 실제로 무엇인가

백테스트는 고정된 규칙 집합 — 예를 들어 진입 조건, 청산 조건, 포지션 크기 — 을 가져와, 과거 비트코인(BTC) 가격 같은 역사적 데이터셋 위에서 다시 재생합니다. 그 규칙이 어떤 매매를 만들어냈을지를 기록하고, 총수익, 승률, 최대 낙폭(드로다운), 매매 횟수 같은 통계를 산출합니다.

핵심 아이디어는 단순합니다. 규칙에 유용한 구조가 없다면, 과거 데이터에서 무작위보다 나을 게 없어야 한다는 것입니다. 백테스팅은 '보통 무슨 일이 일어나는가'에 대한 기억이나 직관에 의존하는 대신, 규칙의 과거 행태를 측정 가능하고 반복 가능한 방식으로 점검하는 방법입니다.

백테스트가 정당하게 보여줄 수 있는 것

백테스트는 예측 도구라기보다 서술적·진단적 도구로서 가장 신뢰할 만합니다. 규칙이 얼마나 자주 매매했을지, 과거 최악의 낙폭이 얼마나 컸는지, 결과가 비용에 얼마나 민감한지, 그리고 그 로직이 애초에 오류 없이 작동하는지를 드러낼 수 있습니다.

또한 배제에도 유용합니다. 길고 다양한 역사 전반에 걸쳐 성과가 부진했던 규칙 — 혹은 단 하나의 좁은 기간에서만 통했던 규칙 — 은 분명히 견고함을 입증하지 못한 것입니다. 아이디어를 배제하는 것은, 좋아하는 아이디어가 '통한다'는 것을 확인하려 애쓰는 것보다 흔히 더 정직한 백테스팅 활용법입니다.

과최적화: 핵심적인 함정

과최적화는 전략이 하나의 역사적 데이터셋의 특이한 버릇에 너무 밀착하게 조정된 나머지, 지속적인 패턴이 아니라 잡음을 포착할 때 일어납니다. 수백 가지 파라미터 조합을 시험하고 과거 수익이 가장 좋은 것을 남긴다면, 당신은 실력이 아니라 운을 선택했을 가능성이 매우 큽니다 — 어떤 조합이든 우연히 늘 좋아 보이기 마련이기 때문입니다.

경고 신호는 익숙합니다. 조정 가능한 파라미터가 많다, 설정을 살짝만 건드려도 결과가 무너진다, 눈부신 성과가 소수의 매매에 집중되어 있다, 그리고 자산 곡선이 매력적으로 보일 때까지 규칙을 반복해서 조정했다는 점입니다. 과최적화된 전략은 표본 외 — 조정에 쓰이지 않은 데이터 — 에서 훨씬 더 나쁜 성과를 내는 경향이 있고, 실제 매매에서는 그보다 더 나쁩니다.

백테스트 결과를 부풀리는 그 밖의 편향들

과최적화만이 문제는 아닙니다. 미래참조 편향(룩어헤드 바이어스)은 매매 시점에는 이용할 수 없었을 정보를 사용합니다. 생존 편향은 여전히 존재하는 자산만 검증하고 실패한 자산은 무시합니다. 데이터 스누핑 편향은 많은 사람이 같은 역사에서 많은 아이디어를 시험하고 승자만 보고될 때 쌓입니다.

실무적 마찰도 빠뜨리기 쉽습니다. 매매 비용, 수수료, 슬리피지, 스프레드, 펀딩, 그리고 얕은 시장에서 대규모 주문을 체결하기 어려운 점은 종이 위에서 수익이 나는 규칙을 손실을 내는 규칙으로 바꿀 수 있습니다. 이상적인 가격에서의 완벽한 체결을 가정하는 백테스트는 존재하지 않는 시장을 측정하고 있는 것입니다.

좋은 백테스트가 예측이 아닌 이유

세심하게 구성되고 편향이 통제된 백테스트조차도, 하나의 특정한 조건 집합 아래에서의 과거를 서술할 뿐입니다. 시장은 변합니다. 유동성, 변동성, 참여자, 규제가 모두 시간에 따라 바뀌며, 한 국면에 맞았던 규칙이 다른 국면에서는 실패할 수 있습니다. 과거 성과는 미래에 대한 보장을 담고 있지 않으며, 백테스트는 흔히 과장됩니다.

이것이 예측적 매매 기법 전반 — 차트 패턴, 엘리엇 파동, 피보나치 레벨, 그리고 RSI나 MACD 같은 기술적 지표 — 이 논쟁적이고 주관적인 이유입니다. 그것들을 백테스트하면 정밀해 보이게 만들 수는 있지만, 가격을 신뢰성 있게 예측하도록 만들 수는 없습니다. 매매는 고위험이며, 연구는 일관되게 대부분의 개인 투자자가 시간이 지나면서 돈을 잃는다는 것을 시사합니다.

맥락과 함께 시장 데이터 읽기

백테스트가 전략을 실제보다 좋게 보이게 할 수 있기 때문에, 어떤 사람들은 가격만이 아니라 더 넓은 시장 데이터 맥락도 함께 보는 것을 선호합니다. BIKENZO는 BTC 가격 대비 유동성 같은 정보를 보여주는 비트코인 데이터·분석 터미널이며, 그 맥락은 어떤 과거의 움직임이 깊고 유동성 높은 시장에서 일어났는지 아니면 얕은 시장에서 일어났는지를 해석하는 데 도움이 될 수 있습니다.

이것은 맥락일 뿐, 신호나 예측이 아닙니다. BIKENZO는 무슨 일이 일어날지 알려주지 않고, 매매를 생성하지 않으며, 매매하는 곳도 아닙니다 — 가격 뒤에 있는 데이터를 이해하기 위한 렌즈입니다. 모든 결정과 모든 위험은 전적으로 당신 자신의 몫입니다.

FAQ

수익이 나는 백테스트는 전략이 돈을 벌 것이라는 의미인가요?
아니요. 백테스트는 특정 가정 아래에서의 과거 행태를 서술할 뿐, 미래의 결과를 보장하지 않습니다. 강력한 과거 성과는 과최적화, 누락된 비용, 또는 더 이상 존재하지 않는 시장 국면에서 비롯될 수 있으며, 실제 매매에서는 결과가 훨씬 나쁜 경우가 많습니다.
과최적화를 쉬운 말로 하면 무엇인가요?
과최적화는 전략이 하나의 데이터셋에 지나치게 밀착되게 조정되어 실제 패턴이 아니라 무작위 잡음을 외워버리는 것입니다. 그런 전략은 맞춰진 데이터에서는 훌륭해 보이지만, 새로운 데이터나 실제 매매에서는 보통 무너집니다.
사람들은 과최적화를 어떻게 줄이려 하나요?
흔한 방법으로는 파라미터를 더 적게 쓰기, 규칙이 조정에 쓰이지 않은 데이터(표본 외)에서 검증하기, 설정의 작은 변화에도 결과가 살아남는지 확인하기, 그리고 현실적인 비용과 슬리피지를 포함하기가 있습니다. 이것들은 위험을 줄이지만 결코 없애지는 못합니다 — 어떤 백테스트도 전략이 앞으로 통할 것임을 증명할 수는 없습니다.
백테스팅으로 차트 패턴, 피보나치, 또는 RSI와 MACD 같은 지표를 검증할 수 있나요?
신뢰성 있게는 아닙니다. 이 기법들은 주관적이고 논쟁적이며, 백테스트는 그것들을 실제보다 더 정밀해 보이게 만들 수 있습니다. 백테스팅은 규칙이 과거에 어떻게 행동했는지를 서술할 수 있지만, 논쟁적인 기법을 가격의 믿을 만한 예측 도구로 바꿀 수는 없습니다.
그러면 백테스팅은 쓸모없나요?
아니요. 정직하게 사용하면, 규칙의 행태를 이해하고, 과거 낙폭을 측정하고, 가정에 대한 민감도를 점검하고, 취약한 아이디어를 배제하는 데 가치가 있습니다. 위험한 것은 그것을 진단 도구가 아니라 미래 수익의 증거로 취급하는 것입니다.
BIKENZO는 백테스팅과 어떤 관계가 있나요?
BIKENZO는 비트코인 데이터·분석 터미널이며, 브로커나 거래소, 백테스팅 엔진이 아닙니다. BTC 가격 대비 유동성 같은 시장 데이터 맥락을 제공하여 과거의 움직임을 해석하는 데 도움을 줄 수 있지만 — 어떤 예측도 하지 않고 어떤 매매 신호도 제공하지 않습니다.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

미리보기 요청