전체 백테스트 전에 빠른 선별이 필요한 이유
개인 요구 사항과 일치하는 몇 가지 전략을 발견했다고 가정해 보겠습니다. 누군가 이미 백테스트를 수행하여 높은 과거 수익률을 보고했습니다. 전체 백테스트를 수행하기 전에—실제 거래에 자본을 투입하기는커녕—몇 가지 빠른 테스트를 실행하는 것이 합리적입니다. 이러한 테스트는 전략이 좋다는 것을 증명하기 위한 것이 아닙니다. 목적은 명백한 약점을 조기에 노출시켜 시간과 비용을 절약하는 것입니다. 전체 백테스트는 진지한 프로젝트입니다. 깨끗한 데이터 확보, 코드 작성 또는 구성, 오류 확인, 여러 시장 조건에서 테스트가 포함됩니다. 이 과정은 며칠 또는 몇 주가 걸릴 수 있습니다. 전략에 치명적인 결함이 있다면 모든 작업이 낭비됩니다. 빠른 선별은 필터 역할을 합니다. 간단한 질문을 합니다: 샘플이 충분히 큰가? 결과가 작은 변화에도 견디는가? 무작위 진입을 능가하는가? 비용이 현실적인가? 이 중 하나라도 '아니오'라면 추가 노력 없이 전략을 제쳐둘 수 있습니다. 이 접근 방식의 사고방식은 회의적이고 증거 기반입니다. 높은 과거 수익률은 지속 가능한 우위의 증거가 아닙니다. 데이터 마이닝, 과최적화 또는 운 좋은 기간의 결과일 수 있습니다. 종이 위에서 유효해 보이는 많은 전략은 실제로 과거 노이즈를 설명한 것입니다. 이 글에서 설명하는 빠른 테스트는 유망한 아이디어와 환상을 구분하는 실용적인 방법입니다. 전체 백테스트를 대체하지는 않지만 시간을 어디에 투자할지 결정하는 데 도움이 됩니다. 빠른 선별을 통과하는 것은 낮은 기준이지 보장이 아닙니다. 그러나 실패하는 것은 계속 나아가야 한다는 강력한 신호입니다.
전략이 종이 위에서 유효해 보이게 만드는 요인
전략은 종종 인상적인 지표 세트와 함께 제시됩니다. 높은 연간 복리 수익률, 매끄러운 자본 곡선, 높은 승률, 큰 수익 계수, 작은 최대 낙폭은 전략을 매력적으로 보이게 할 수 있습니다. 이 숫자는 진짜일 수 있지만 조작될 수도 있습니다. 표면적 지표는 쉽게 오독될 수 있기 때문에 빠른 테스트가 존재합니다. 환상의 한 원인은 과최적화입니다. 전략의 규칙이 과거 결과가 좋아 보일 때까지 여러 번 조정되었다면, 성과는 과거 데이터에 특화되었을 가능성이 높습니다. 전략에 매개변수가 많을수록 개발자가 노이즈에 맞출 자유가 더 많아집니다. 두 가지 규칙의 단순한 시스템은 열 가지 규칙의 복잡한 시스템보다 곡선 맞춤될 가능성이 적습니다. 또 다른 원인은 작은 샘플입니다. 70% 승률로 20번 거래한 전략은 통계적으로 인상적이지 않습니다. 무작위 우연이 그 결과를 만들 수 있습니다. 세 번째 원인은 선택 편향입니다. 누군가 수백 개의 전략을 테스트하고 최고의 것만 보여주었다면, 보고된 수익률은 의미가 없습니다. 많은 무작위 전략 중 최고는 항상 좋아 보일 것입니다. 백테스트 보고서는 종종 중요한 가정을 생략합니다. 수수료, 슬리피지, 유동성을 무시할 수 있습니다. 종가에서 완벽한 실행을 가정할 수 있습니다. 비정상적으로 유리한 기간에 테스트할 수 있습니다. 종이 위에서 유효해 보이는 전략은 단순히 이러한 명시되지 않은 선택의 반영일 수 있습니다. 빠른 테스트는 주장된 우위의 구조적 무결성을 조사하도록 설계되었으며, 단지 헤드라인 수익률만이 아닙니다.
빠른 테스트 1: 샘플 크기와 통계적 유의성
전략을 선별하는 가장 빠른 방법 중 하나는 거래 또는 관찰 횟수를 조사하는 것입니다. 거래가 매우 적은 백테스트는 통계적 신뢰를 제공할 수 없습니다. 전략에 15번의 거래가 있고 거래당 평균 이익이 2%라고 가정해 보겠습니다. 그 거래들의 표준 편차는 5%일 수 있습니다. 이 경우 평균은 0의 1 표준 편차 내에 있으며 결과는 쉽게 무작위일 수 있습니다. 대략적인 경험 법칙은 전략에 사용된 매개변수당 최소 30~50번의 거래를 원한다는 것이지만, 이는 엄격한 규칙이 아닙니다. 핵심 아이디어는 신호가 노이즈에 비해 커야 한다는 것입니다. 또 다른 빠른 확인은 최고의 거래를 제거하고 전략이 여전히 작동하는지 확인하는 것입니다. 단일 거래 또는 작은 거래 클러스터가 이익의 대부분을 차지한다면 우위는 취약합니다. 예를 들어, 상위 5% 거래를 제거하면 수익성 있는 시스템이 손실 시스템으로 바뀐다면 전략은 이상치에 의존할 가능성이 높습니다. 관련 테스트는 독립적인 베팅 횟수를 비교하는 것입니다. 겹치는 거래는 유효 샘플 크기를 줄입니다. 전략이 모두 상관관계가 있는 10개의 포지션을 보유한다면 10개의 독립적인 관찰이 아닙니다. 통계적 유의성은 t-통계량으로 추정할 수 있습니다: 평균 거래 수익을 거래 수익의 표준 편차로 나눈 값에 거래 횟수의 제곱근을 곱한 것입니다. t-통계량이 2 이상이면 종종 의미 있다고 간주되지만, 이는 독립적이고 정규 분포된 수익을 가정하며, 이는 거래에서 거의 사실이 아닙니다. 몬테카를로 시뮬레이션은 더 강력한 확인을 제공할 수 있습니다. 거래 순서를 섞거나 동일한 분포로 무작위 수익을 생성함으로써 유사한 결과가 우연히 얼마나 자주 나타나는지 확인할 수 있습니다. 무작위 데이터가 동일한 성과를 자주 생성한다면 전략의 우위는 의심스럽습니다.



