
대부분의 트레이더는 자신이 그런 행동을 하고 있다는 사실을 깨닫지 못합니다. 몇 번의 백테스트를 수행하고, 몇 가지 매개변수를 조정하다 보면, 어느새 자신의 전략이 흠잡을 데 없어 보입니다.
그건 데이터 도청입니다.
심지어 방송을 시작하기도 전에 당신의 경쟁력을 무너뜨릴 수도 있습니다.
다음은 함정에 빠지지 않고 전략을 수립하는 방법이며, 이것이 대부분의 트레이더가 생각하는 것보다 훨씬 더 중요한 이유입니다.
데이터 스누핑(룩어헤드 바이어스 또는 과적합이라고도 함)은 동일한 데이터셋을 너무 자주 사용하여 전략을 과도하게 최적화할 때 발생합니다. 동일한 데이터로 매번 모델을 조정하고 테스트할 때마다, 향후 시장 상황에서는 실제로 존재하지 않을 수도 있는 패턴을 학습하게 됩니다.
마치 과목을 제대로 이해하기보다는 모의고사 문제를 반복해서 외우는 것과 같습니다. 시험에서는 만점을 받을지 몰라도, 실제 상황에서는 실패하게 됩니다.
이 문제는 주로 다음과 같은 경우에 발생합니다:
겉으로 보기에는 이 전략이 훌륭해 보입니다. 하지만 실제 시장의 압박을 받으면? 금방 무너져 버립니다.
그것은 허위의 확신을 심어주기 때문입니다. 만약 시스템이 훈련에 사용된 과거 데이터에서만 제대로 작동한다면, 그것은 견고한 전략이 아니라 단지 통계적 착시에 불과합니다.
문제는 다음과 같습니다:
많은 트레이더들은 자신도 모르게 애초에 실현 가능성조차 없었던 전략을 완성하기 위해 몇 달(혹은 몇 년)을 허비하곤 합니다.
이것이 여러분의 첫 번째 방어선입니다.
과거 데이터를 다음 세 가지 주요 그룹으로 분류하십시오:
어떤 전략이 후자 두 가지에 대해 특별히 최적화되지 않았음에도 불구하고 이 세 가지 모두에서 좋은 성과를 낸다면, 실제 환경에서 살아남을 가능성이 더 높습니다.
중요: 테스트 세트를 확인한 순간, 그 데이터는 오염된 것으로 간주됩니다. 해당 결과를 바탕으로 전략을 변경할 경우, 새로운 테스트 세트가 필요합니다.
데이터 도청을 막는 가장 쉬운 방법 중 하나는 무엇일까요? 먼저 규칙을 정해두는 것입니다.
즉, 이는 다음과 같은 의미입니다:
이 모든 사항을 문서화한 후에야 백테스팅을 시작해야 합니다. 결과를 확인한 뒤 규칙을 수정한다면, 이미 편향이 발생하게 됩니다.
이를 준수하기 위해, 가정 사항을 문서화하십시오:
이를 통해 여러분의 전략은 단순한 백테스트 결과의 우연이 아닌, 논리에 기반을 둔 경쟁 우위를 확보하게 됩니다.
입력값을 끝없이 조정해 시스템의 성능을 한 방울도 남기지 않고 짜내고 싶은 유혹이 들기 마련이다. 하지만 어느 시점부터는 성능 향상이 그저 잡음에 불과해진다.
대신:
특정 매개변수 조합에서만 작동하는 전략은 취약합니다. 단 하나의 입력값이 바뀌는 것만으로 성능이 급격히 떨어진다면, 그 전략은 신뢰할 수 없습니다.
팁: 다양한 시장 상황(예: 추세장, 횡보장, 변동성 높은 시장)에 전략을 적용해 스트레스 테스트를 수행해 보세요. 특정 환경 외에서는 전략이 제대로 작동하지 않는다면, 이는 과적합된 것입니다.
워크포워드 테스트는 과거 데이터를 사용하더라도 실제 거래와 동일한 방식으로 시뮬레이션합니다.
작동 방식은 다음과 같습니다:
이를 통해 실제 거래와 더 유사한, 점진적인 일정 속에서 전략을 수립하고 검증하게 됩니다.
장점:
워크포워드 분석은 지표, 알고리즘 논리 또는 고정된 규칙 세트에 기반한 전략에 특히 유용합니다.
대부분의 트레이더는 백테스팅 결과를 기록하지 않습니다. 이는 실수입니다.
일기는 여러분의 든든한 버팀목입니다. 일기에는 다음 내용이 기록됩니다:
테스트 내용을 기록해 두면, 동일한 데이터로 너무 자주 재테스트를 수행하고 있는지, 혹은 논리적 근거가 아닌 결과에 따라 수정 사항을 결정하고 있는지를 파악할 수 있습니다.
또한 이는 자연스럽게 속도를 늦추게 만듭니다. 백테스팅은 단순히 결과를 확인하는 것이 아니라, 그 과정을 통해 배우는 것입니다.
전략이 백테스트와 아웃오브샘플 검증을 통과했다면, 이제 실제 시장 환경에서 시뮬레이션을 수행할 차례입니다.
바로 이때 FX Replay와 같은 도구가 빛을 발합니다.
전향적 테스트란 과거 데이터를 활용하지 않고, 실시간 또는 시뮬레이션된 시장 환경에서 전략을 실행하는 것을 의미합니다.
캔들 차트의 움직임을 지켜보고 있습니다. 가격 변동에 따라 즉각적으로 대응하고 있습니다. 매매 실행 능력, 감정 관리, 그리고 의사결정 능력을 점검하고 있습니다.
사전 테스트를 통해 드러난 점:
이 단계에서는 종종 논리적 빈틈이나 규칙의 명확성 부족, 혹은 자신의 심리적 요인 등이 드러나는데, 이러한 요소들은 스프레드시트 상에서는 전혀 나타나지 않습니다.
팁: 시뮬레이션 테스트를 진행할 때는 모든 매매 내역을 기록하세요. 실제 매매를 하는 것처럼 접근하십시오. 이때 형성된 습관은 실제 매매 현장에서도 그대로 적용됩니다.
가장 우수한 시스템은 단순한 데이터 패턴이 아닌, 반복되는 시장 움직임에 기반을 두고 있습니다.
자신에게 물어보세요:
예를 들어:
자신의 전략이 왜 효과가 있는지 이해하면 다음과 같은 이점이 있습니다:
사전 테스트나 실전 테스트 결과를 바탕으로 변경 사항을 적용할 경우, 이를 전략의 새로운 버전으로 간주하십시오.
새로운 규칙을 과거의 결과와 혼동하지 마십시오. 여러 번의 반복에 걸친 성과를 평균 내지 마십시오.
시스템을 조정할 때마다 테스트 주기를 다시 시작하십시오:
이렇게 하면 프로세스를 체계적으로 유지할 수 있습니다. 또한 결과의 신뢰성을 높여줍니다.
숙련된 트레이더들은 몬테카를로 시뮬레이션, 부트스트래핑 또는 신뢰 구간을 활용하여 모델의 견고성을 평가할 수 있습니다.
이 도구들은 유용합니다. 하지만 이 도구들이 논리를 대신하게 해서는 안 됩니다.
통계는 다음과 같은 질문에 답하는 데 도움이 됩니다:
한 가지 명심하세요: 아무리 많은 통계 자료가 있어도 논리가 빈약하거나 경쟁 우위가 없는 전략은 결코 성공할 수 없습니다.
데이터 무분별한 분석은 거래 성과를 저해하는 숨은 주범 중 하나입니다.
그것은 자신감을 심어줍니다. 허울뿐인 정확성을 안겨줍니다. 그리고 결국 실패로 이끌게 됩니다.
하지만 예방할 수 있습니다.
체계적으로 시스템을 구축하세요. 과학자처럼 테스트하세요. 데이터를 존중하세요.
단순한 낙관주의가 아닌, 철저한 원칙에 입각해 전략을 수립할 때, 우리는 흔치 않은 무언가를 얻게 됩니다:
정말 믿을 수 있는 거래 시스템.
주요 내용:
함정에 빠지지 마세요. 일을 해내세요.
바로 이것이 진정한 트레이더들이 진정한 전략을 수립하는 방식입니다.
두 경우 모두 과거 데이터에 대해 전략을 지나치게 최적화하는 것이지만, 데이터 스누핑은 동일한 데이터셋을 사용하여 반복적으로 테스트하고 조정할 때 발생하는 반면, 커브 피팅은 일반적으로 신호가 아닌 잡음을 모델링하는 지나치게 정밀한 매개변수 조정을 의미합니다.
최소 3~5년 분량의 양질의 데이터를 확보하는 것을 목표로 하세요. 데이터의 60~70%는 전략 수립에 활용하고, 나머지는 검증 및 테스트용으로 남겨두세요. 분석 기간이 길수록 도출되는 인사이트는 더욱 탄탄해집니다.
훈련 데이터, 검증 데이터, 테스트 데이터를 엄격하게 구분하는 경우에만 해당합니다. 데이터셋이 전략 개발을 위한 지침으로 사용된 순간, 더 이상 검증 목적으로 중립성을 유지할 수 없습니다.
이는 특히 전략이 변화하는 시장 상황에 얼마나 잘 적응하는지 평가하고자 하는 규칙 기반의 기계적 시스템에 있어 매우 유용합니다. 반면 재량적 시스템의 경우, 포워드 시뮬레이션이 더 유용한 경우가 많습니다.
주의해야 할 징후로는 다음과 같은 것들이 있습니다: 백테스트 결과는 뛰어나지만 실전 성과는 저조한 경우, 미세한 매개변수 변경에도 극도로 민감한 경우, 그리고 새로운 상품이나 시장 상황에 적용했을 때 실패하는 경우입니다.