PART VII · 25장 · 195 / 210

195강. 성과가 좋아 보이는 백테스트가 위험한 이유

25장. 투자전략을 검증하고 심리적 오류 줄이기

“이 방법으로 지난 10년 동안 투자했다면 큰돈을 벌었을 겁니다.” 이런 결과를 보면 당장 따라 하고 싶을 수 있습니다. 하지만 먼저 물어야 할 것이 있습니다. 그 계산에는 당시 실패한 기업도 들어 있었을까요?

과거 자료에 매매 규칙을 적용해 결과를 살펴보는 일을 백테스트라고 합니다. 생각을 점검하는 데 도움이 되지만, 계산 결과는 실제로 그때 거래해 얻은 수익이 아닙니다. 어떤 자료를 넣고 뺐는지에 따라 결과도 달라집니다.

살아남은 기업만 보면 생기는 착시

가상의 세 기업 A, B, C에 각각 1,000달러씩 투자했다고 가정합니다. 같은 기간 A는 50% 오르고 B는 10% 올랐으며, C는 투자금 전부를 잃어 가치가 0달러가 됐다고 합시다. 배당과 비용, 세금은 제외합니다. 실제 기업의 성과가 아닌 설명용 숫자입니다.

기업 시작 금액 가정한 변화 마지막 금액
A 1,000달러 +50% 1,500달러
B 1,000달러 +10% 1,100달러
C 1,000달러 -100% 0달러

세 기업을 모두 포함하면 처음 3,000달러가 마지막에 2,600달러가 됩니다. 400달러 손실이므로 수익률은 -400 ÷ 3,000 × 100 = 약 -13.33%입니다.

그런데 나중에 남아 있는 A와 B만 보고 처음부터 그 두 기업에 투자했던 것처럼 계산하면 어떨까요? 처음 2,000달러가 2,600달러가 되어 수익률이 600 ÷ 2,000 × 100 = 30%로 보입니다. 같은 기간의 가상 결과인데도 포함한 기업과 시작 금액이 달라져 결론이 달라졌습니다.

전체 세 종목의 초기 3,000달러와 최종 2,600달러를 생존 종목만의 초기 2,000달러와 최종 2,600달러에 대조한다. 수익률은 각각 −13.33%와 30%로, 사라진 C의 초기 투자금 누락이 차이를 만든다.

이처럼 실패해 목록에서 빠진 대상을 빼고 살아남은 대상만 살피는 문제를 생존자 편향이라고 합니다. 위 사례는 선택 효과를 보여 주는 단순 계산이며 실제 백테스트 결과가 아닙니다. 상장폐지된 주식의 손실이 항상 100%라는 뜻도 아닙니다. 인수·합병이나 상장폐지의 이유와 실제 회수 금액은 각각 다를 수 있습니다.

성공한 종목만 고르면 더 좋아 보인다

과거에 크게 오른 기업을 이미 알고 난 뒤 그 기업들만 골라 전략을 시험할 수도 있습니다. 예를 들어 현재 유명한 기업 몇 개를 골라 “이 기업들을 10년 전에 샀다면”이라고 계산하는 것입니다. 이 질문 자체가 잘못된 것은 아니지만, 당시에는 어떤 기준으로 그 기업들을 미리 고를 수 있었는지와는 다른 질문입니다.

전략의 성과를 살펴보려면 당시 적용할 수 있었던 종목 선택 기준을 정하고, 그 기준에 맞았던 기업 전체를 확인해야 합니다. 상장폐지된 기업과 이름이 바뀌거나 합병된 기업의 기록도 필요할 수 있습니다. 자료가 없어서 일부를 제외했다면 어떤 기업이 왜 빠졌는지 밝혀야 합니다.

다만 처음부터 대형주만 대상으로 정한 연구라면 그 범위에서 결과를 해석할 수 있습니다. 문제는 대형주 연구라고 밝히지 않은 채 모든 주식에도 똑같이 적용된다고 주장하거나, 나중에 살아남은 대형주만 골라 과거의 전체 대형주였던 것처럼 취급하는 것입니다.

종목 목록만이 전부는 아니다

기업 목록을 고쳤다고 바로 믿을 만한 전략이 완성되는 것은 아닙니다. 과거 데이터가 정확했는지, 배당을 어떻게 처리했는지 살펴봐야 합니다. 주식 분할을 어떻게 반영했는지, 거래가 어려운 가격과 수량을 가능한 거래로 가정하지 않았는지도 확인해야 합니다.

수수료와 매수·매도 가격의 차이, 세금 등도 결과에 영향을 줍니다. 전략을 여러 개 시험한 뒤 가장 좋은 결과만 보여 준다면 보이지 않는 실패 결과도 함께 확인해야 합니다. 전략을 비교할 때는 같은 기간과 같은 조건을 쓰는 것이 출발점입니다.

결과를 볼 때 확인할 질문

그 결과가 실제 거래 기록인지 가상의 계산인지부터 구분하세요. 다음으로 시험 기간과 처음 정한 종목 범위, 상장폐지 기업의 처리, 비용과 비교 기준을 확인합니다. 이 정보가 없다면 높은 수익률만으로 전략의 실력을 판단하기 어렵습니다.

과거 결과가 좋아도 앞으로 같은 성과가 반복된다는 보장은 없습니다. 다음 강의에서는 과거에 실제로 알 수 없었던 정보가 시험에 들어가면 어떤 착시가 생기는지 살펴보겠습니다.

빠진 기업을 직접 복구해 보세요

가상 기업 세 곳의 입력 CSV를 열어 전체 기업의 시작·마지막 금액을 합산합니다. 이어 C만 제외한 경우도 계산해 보세요. 입력 파일은 설명을 위해 만든 자료이며 실제 상장기업 데이터가 아닙니다.

기록할 답은 “포함 기업 / 시작금액 합계 / 마지막 금액 합계 / 수익률 / 제외 이유”입니다. 전체 답은 A·B·C / 3,000 / 2,600 / −13.33%입니다. A·B만 남기면 2,000 / 2,600 / +30%입니다. 여기서 C를 뺀 이유가 단지 나중에 실패했기 때문이라면, +30%를 당시 전체 후보를 대상으로 한 성과라고 보고할 수 없습니다.

실제 자료를 받을 때는 종목 목록의 적용일, 편입·편출 이력, 상장폐지 처리와 회수금액 열이 있는지 먼저 확인합니다. “현재 거래되는 종목만 있음”과 “당시 대상 전체가 있음”을 구분해 기록하세요.