백테스트 과최적화: 훌륭한 결과가 함정일 때
커브 피팅, 생존 편향, 미래 참조, 그리고 새로운 하나: 검증 기간을 암기한 LLM. 부풀려진 결과를 알아보고 라이브 시장에서 살아남는 전략을 검증하는 법.

백테스트가 할 수 있는 가장 위험한 일은 성공하는 것입니다. 백테스트 과최적화란, 전략이 시장에 관한 진짜 무언가가 아니라 역사의 한 특정 조각의 잡음을 학습해, 아무것도 예측하지 못하는 아름다운 자산 곡선을 만들어 낼 때 벌어지는 일입니다. 퀀트 세계는 수십 년간 이와 싸워 왔습니다. 에이전트 시대는 새로운 반전을 더합니다. 여러분이 검증하는 바로 그 역사를 이미 읽었을지 모르는 언어 모델 말이죠. 이 글은 고전적 원리, 아직도 사람들을 잡아채는 오래된 편향들, 새로운 LLM 암기 실패 유형, 그리고 신뢰할 만한 결과를 겉만 번지르르한 결과와 갈라놓는 방어책을 다룹니다.
백테스트 과최적화는 왜 일어나는가: 자유도
전략의 조정 가능한 선택 하나하나가 자유도이며, 자유도야말로 잡음이 피팅되는 통로입니다. 그것이 어떻게 불어나는지 보십시오. 이동평균 교차는 두 파라미터, 즉 빠른 길이와 느린 길이로 시작합니다. RSI 필터를 더하면 넷이 됩니다. 기간에 임계값이 붙죠. 시간대 창, 손절 거리, 이익 목표를 더하면 일곱이나 여덟에 이릅니다. 각각에 대해 그럴듯한 값 열 개를 검증하면, 그 공간은 수천만 개의 조합을 품습니다. 그 어딘가에서, 어떤 구성이 순전히 우연으로 여러분의 검증 기간에 아름답게 들어맞습니다. 최적화 도구가 여러분을 위해 그것을 찾아 줄 것입니다.
직관은 동전 던지기 대회입니다. 만 명을 방에 넣고 동전을 던지게 하면, 열 라운드 뒤에 약 열 명은 매번 앞면을 던졌습니다. 그들은 천재처럼 보입니다. 실은 복권 당첨자죠. 파라미터 탐색은 전략 변형을 참가자로 삼아 똑같은 대회를 벌이며, 충분히 큰 탐색의 승자는 거의 확실히 요행입니다. 그로부터 따라오는 불편한 규칙은 이렇습니다. 더 많은 구성을 시도했을수록, 최고의 것이 내는 성과의 의미는 더 작습니다. 세 가지 아이디어를 검증해 나온 Sharpe 비율 2.0은 흥미롭습니다. 5만 건을 훑어 나온 같은 수치는 대체로 그 훑기가 얼마나 컸는지를 재는 측정값일 뿐입니다.
고전적 편향: 생존 편향과 미래 참조
두 가지 오래된 죄가 어떤 최적화 도구도 없이 백테스트를 부풀립니다.
생존 편향은 오늘의 승자로 검증한다는 뜻입니다. 어떤 주가지수의 현재 구성 종목 전반에 전략을 돌리면, 여러분은 도중에 상장 폐지되거나, 헐값에 인수되거나, 파산한 모든 회사를 조용히 배제한 것입니다. 여러분의 전략이 들고 있었을 패자들이 데이터에서 빠져 있죠. 암호화폐는 더 심합니다. 수천 개의 죽은 토큰이 대부분의 데이터셋에서 그냥 사라지므로, 살아남은 코인으로 지은 "시가총액 상위 50개 매수" 백테스트는 아무도 들고 있을 줄 알 수 없었던 포트폴리오를 검증합니다. 해법은 각 날짜에 실제로 거래 가능했던 것을 반영하는 시점 기준(point-in-time) 데이터와, 그런 데이터가 없을 때마다 품는 회의입니다.
미래 참조 편향은 정보가 존재하기도 전에 그것에 따라 행동한다는 뜻입니다. 노골적인 형태는 어떤 캔들을 그 캔들의 종가로 거래하는 것이죠. 더 미묘한 형태들은 도처에 숨어듭니다. 처음 발표된 대로가 아니라 나중에 수정된 대로의 경제 데이터, 전체 표본 구간에 걸쳐 계산된 지표, 혹은 나중에 공표된 날짜가 아니라 회계 기간의 날짜가 찍힌 펀더멘털 같은 것들이죠. 이 누출들은 하나같이 내일의 신문을 오늘의 결정에 흘려 넣으며, 백테스트는 그 누출에 보상을 줍니다.
새로운 실패 유형: 여러분의 LLM은 이미 답을 읽었다
에이전틱 전략은 어떤 데이터 위생 체크리스트로도 잡히지 않는 형태의 미래 참조를 들여옵니다. 누출이 모델 안에 있기 때문이죠. 이를테면 2024년까지의 데이터로 학습한 대규모 언어 모델은, 그 컷오프 이전의 모든 극적인 시장 움직임을 다룬 금융 뉴스, 가격 논평, 사후 분석을 삼켜 왔습니다. 그것에게 2020년 3월에 무엇을 거래할지 "결정"하라고 하면, 그것은 예측하는 것이 아닙니다. 기억하고 있는 것입니다.
여기서 연구는 노골적입니다. "Can LLM-based Financial Investing Strategies Outperform the Market?"(arXiv:2505.07078, 2025)는 LLM 전략 백테스트가 암기와 미래 참조로 부풀려진다는 것을 보였습니다. 학습 데이터가 검증 구간과 겹치는 모델은 종목, 날짜, 가격 움직임을 떠올릴 수 있으며, 평가가 표본 밖으로 옮겨 가면 성과가 흔히 저하됩니다. 후속의 메모리 통제 벤치마크(arXiv:2605.28359, 2026)는 반대 방향에서 같은 결론에 다다랐습니다. 모델의 지식 컷오프와 겹치는 긴 백테스트는 암기된 시장 역사가 그 "예측"으로 새어 들게 하며, 메모리를 통제하면 겉보기 실력이 급격히 줄어든다는 것이죠. 20202023년에 훌륭해 보이는 에이전트는, 그저 20202023년에 무슨 일이 일어났는지를 담은 매우 비싼 지수일 수 있습니다.
실질적 결론은 간단히 말할 수 있습니다. LLM이 여러분의 루프 어딘가에서 결정을 내린다면, 그 모델의 학습 컷오프 이전의 어떤 백테스트 구간이든 오염된 것으로 취급하고, 컷오프 이후의 증거에 무게를 두십시오. 더 나은 방법은 LLM을 예측 경로에서 완전히 빼내는 것입니다. LLM을 여러분의 의도를 명시적 규칙으로 번역하는 데 쓰고, 그다음 그 결정론적 규칙을 역사에 대고 재현하십시오. 그곳에서는 암기가 손댈 것이 없습니다. 언어 모델과 결정론적 엔진 사이의 더 넓은 역할 분담은 트레이딩에서의 LLM에서 다룹니다.
정말로 통하는 방어책
방어책 가운데 이색적인 것은 하나도 없습니다. 그 힘은 여러분이 어떤 결과와 사랑에 빠지기 전에 적용된다는 데 있습니다.
데이터를 남겨 두고, 그 유보분을 존중하라. 역사를 나누어 앞부분에서만 튜닝하고, 설계가 확정될 때까지 최근 구간은 손대지 않은 채 둡니다. 전략당 유보분은 한 번만 봅니다. 반복해서 엿보며 매번 조정하면, 그 유보분은 소리 없이 학습 데이터가 되어 버립니다.
워크포워드 검증. 하나의 고정된 분할 대신, 한 창에서 최적화하고 다음 조각에서 검증한 뒤 앞으로 굴리기를 반복합니다. 이어 붙인 표본 밖 구간들은, 전략이 한 번도 보지 못한 데이터에서 계속 작동해야 할 때 어떻게 행동하는지를 보여 주는데, 이것이 바로 실제 직무 기술서입니다.
국면 커버리지. 검증 창은 하나의 논거이며, 좁은 것은 약합니다. 2018년 암호화폐 약세장, 2020년 3월 폭락, 2021년 상승 랠리, 2022년 갈림장을 아우르면, 그 우위가 시장의 속성인지 아니면 국면이 걸친 옷일 뿐인지를 알게 됩니다. LLM 트레이딩 에이전트에 관한 한 서베이(arXiv:2408.06361, 2024)는 짧은 검증 창과 작은 유니버스를 이 분야 전반의 고질적 약점으로 지적했으며, 개인 투자자의 백테스트도 나을 게 별로 없습니다.
봉우리보다 고원. 각 파라미터를 그 선택한 값 주변으로 흔들며 무슨 일이 일어나는지 보십시오. RSI 진입 임계값 30이 Sharpe 1.4로 백테스트되는데 25는 0.3, 35는 0.4를 낸다고 해 봅시다. 그 바늘처럼 가느다란 봉우리는 피팅된 잡음의 특징입니다. 진짜 시장 효과는 그렇게 정밀하지 않기 때문이죠. 만약 25에서 40까지 모두가 0.9에서 1.2 사이에 자리 잡는다면, 여러분은 고원에 서 있는 것이며, 고원은 봉우리보다 훨씬 자주 라이브 트레이딩까지 함께 갑니다. 봉우리의 수치가 더 예쁘더라도, 날카로운 봉우리의 꼭대기보다 넓은 고원의 가운데를 고르십시오.
여기서도 도구가 도움이 되거나 조용히 해를 끼치므로, 정직함을 편하게 만들어 주는 백테스팅 소프트웨어를 고르십시오. Obside에서는 백테스트가 슬리피지 가정을 내장한 채 수년의 역사를 몇 분에 재현하는데, 이는 값싸고 규율 있는 수 즉 무언가를 신뢰하기 전에 현실적 비용으로 국면 전반에 걸쳐 검증하는 것을 성가신 일이 아니라 가장 저항이 적은 길로 만들어 줍니다. 에이전트에 특화된 워크플로는 AI 트레이딩 에이전트를 백테스트하는 법에서 짚어 봅니다.
사전 원칙으로서의 단순함, 그리고 최종 시험으로서의 페이퍼 트레이딩
두 전략의 백테스트 결과가 비슷할 때는, 움직이는 부품이 더 적은 쪽을 선호하되 그 선호를 어떤 결과를 보기 전에 가지십시오. 더해진 규칙이나 파라미터는 저마다 표본 밖에서 살아남아 세를 내야 하며, 그저 표본 안 곡선을 개선하는 것만으로는 안 됩니다. 그것이야 더해진 복잡성이 거의 항상 공짜로 해내는 일이니까요. 네 국면에 걸쳐 Sharpe 0.9인 두 규칙짜리 전략이, 단 한 번의 강세장에서 1.8을 보이는 아홉 파라미터짜리 구조물보다 더 큰 신뢰를 받을 자격이 있습니다. 복잡성은 정교함이 아닙니다. 백테스트에서 그것은 대체로 잡음이 붙들 표면적일 뿐입니다.
그다음 아무것도 오염시킬 수 없는 단 하나의 시험이 옵니다. 바로 미래입니다. 페이퍼 트레이딩은 여러분의 정확한 에이전트를, 여러분이 전략을 설계할 때 존재하지 않던 데이터 위에서, 자본을 걸지 않고 라이브 시장에 대고 돌립니다. 어떤 최적화 도구도 그것을 보지 못했고, 어떤 언어 모델도 그것을 암기하지 못했습니다. 이 승격에서 가장 중요한 한 가지는 이렇습니다. 그 과정에서 에이전트에 관한 어떤 것도 바뀌지 않습니다. Obside에서는 백테스트된 바로 그 에이전트 정의가 동일한 조건과 리스크 컨트롤을 지닌 채 변경 없이 페이퍼 모드로 옮겨 가므로, 페이퍼 실행은 손으로 베낀 근사치가 아니라 여러분이 검증한 바로 그 전략을 시험합니다. 백테스트와 운율이 맞는 3~4주의 페이퍼 결과가, 개인 투자자의 검증이 내놓을 수 있는 가장 강력한 증거입니다.
여기서 어디로 갈 것인가
모든 아름다운 백테스트를 적대적 검토가 필요한 주장으로 취급하고, 다음 순서로 감사하십시오. 몇 개의 구성을 탐색했는가, 데이터가 생존 편향에서 자유롭고 시점 기준인가, 루프 안의 어떤 LLM이 그 창을 암기했을 수 있는가, 결과가 고원에 놓였는가 봉우리에 놓였는가, 그리고 여러분이 남겨 둔 데이터에서 살아남았는가. 그런 다음 페이퍼 트레이딩이 판결을 내리게 하십시오. 이 규율이 나중에 덧붙는 것이 아니라 워크플로에 내장되기를 바란다면, Obside는 이 사다리 전체를 돌립니다. 슬리피지를 내장한 국면 아우르는 백테스트, 그다음 페이퍼, 그다음 라이브를, 변경되지 않은 하나의 에이전트 정의 위에서 말이죠.
본 콘텐츠는 교육 목적으로만 제공됩니다. 투자 자문이 아닙니다. 트레이딩에는 원금 손실을 포함한 위험이 따릅니다.
FAQ
전략이 의도적으로든 우연히든, 되풀이되는 시장 행동이 아니라 한 역사적 기간의 무작위 잡음에 들어맞을 때까지 튜닝된 것을 말합니다. 전략이 사실상 그 역사 조각을 암기했기 때문에 백테스트는 훌륭해 보입니다. 라이브 시장은 새로운 잡음을 만들어 내고, 암기된 패턴은 되풀이되지 못하며, 성과는 무너집니다. 그 조짐은 평이한 경제적 논리가 정당화할 수 있는 것보다 검증에서 훨씬 더 좋아 보이는 전략입니다.