백테스트에서 통계적으로 유의미한 결과인지 판단하려면 어떤 검정 방법을 적용할 수 있나요?
전문가백테스트·검증최종 수정일
백테스트의 성과가 우연이 아니라 통계적으로 유의미한지 판단하려면, 검정 목적을 ①단일 전략의 성과 검정과 ②다수 전략 탐색 과정에서의 선택편향(selection bias)·데이터 스누핑 보정으로 구분해서 접근하는 것이 정석입니다.
먼저 단일 전략이라면 기본은 수익률의 평균이 0(또는 벤치마크)과 유의하게 다른지를 보는 t검정입니다. 다만 일별 수익률은 정규분포가 아니고 자기상관·이분산이 있으므로, Newey-West 같은 HAC(이분산·자기상관 일치) 표준오차로 t값을 보정해야 과대 유의 판정을 피할 수 있습니다. 성과지표로 샤프비율을 쓸 때는 Bailey와 López de Prado가 제시한 확률적 샤프비율(Probabilistic Sharpe Ratio, PSR)이 유용한데, PSR은 표본 길이와 수익률 분포의 처음 네 모멘트(평균·분산·왜도·첨도)를 반영해 관측된 샤프비율이 특정 기준값을 넘을 참(true) 샤프비율일 확률을 계산합니다[1]. 즉 짧은 표본이거나 음의 왜도·두꺼운 꼬리가 있으면 같은 샤프비율이라도 유의성이 떨어지도록 벌점을 줍니다.
핵심적이면서 자주 간과되는 문제는 다중검정입니다. 수백~수천 가지 파라미터 조합을 돌려 그중 가장 좋은 것을 고르면, 순전히 우연만으로도 높은 샤프비율이 나올 수 있습니다(백테스트 과최적화). 이를 보정하는 대표 도구가 같은 저자들의 디플레이티드 샤프비율(Deflated Sharpe Ratio, DSR)입니다. DSR은 시도한 독립 시행의 수, 시행 간 샤프비율의 분산, 왜도·첨도, 표본 길이를 반영해 유의 임계값 자체를 높여, 여러 번 시도해 뽑은 승자라는 사실을 명시적으로 반영합니다[2].
여러 후보 전략을 벤치마크와 비교해 최고 성과가 데이터 스누핑의 산물인지 검정하려면 White의 리얼리티 체크(Reality Check)나 이를 개선한 Hansen의 SPA(Superior Predictive Ability) 검정을 씁니다. 두 방법 모두 블록 부트스트랩(block bootstrap)으로 수익률의 시계열 종속성을 유지한 채 귀무분포를 재표집해, 관측된 최고 성과가 다수 비교를 감안하고도 유의한지를 판정합니다. 부트스트랩·순열검정 계열은 정규성 가정에 덜 의존한다는 장점이 있고, 개별 전략 다수를 동시에 다룰 때는 FDR(거짓발견율) 통제 같은 다중비교 보정을 함께 적용할 수 있습니다.
한계도 분명합니다. 이 검정들은 표본 내(in-sample) 통계적 유의성일 뿐, 표본 외(out-of-sample) 성과나 미래 수익을 보장하지 않습니다. 거래비용·슬리피지·생존편향·룩어헤드 편향이 제거되지 않은 백테스트라면 어떤 검정을 통과해도 실전 성과와 괴리가 큽니다. 또 시행 횟수를 정직하게 세지 않으면 DSR·SPA의 보정 효과가 무력화되므로, 검정에 앞서 워크포워드 분석이나 교차검증으로 과최적화 자체를 줄이는 설계가 병행돼야 합니다. 최종 투자 판단과 그 책임은 투자자 본인에게 있습니다.
본 콘텐츠는 일반적 정보·교육 목적이며 특정 종목의 매수·매도 추천이 아닙니다. 세부 조건과 제도는 기관·시점에 따라 다를 수 있으므로 실제 거래 전 해당 기관의 안내를 확인하시기 바랍니다. 투자 판단과 책임은 투자자 본인에게 있습니다.
참고 자료
- Bailey and López de Prado, The Probabilistic Sharpe Ratio (2012)
- Bailey and López de Prado, The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality (2014)