백테스트 과최적화 확률(PBO)과 CSCV 이해하기
조합 대칭 교차검증(CSCV)이 PBO를 어떻게 추정하는지, 표본 밖 순위와 로짓은 무엇을 뜻하는지, 왜 미래 손실 확률과 다른지 설명합니다
이 글에서 다루는 내용PBO는 개별 전략보다 선택 절차를 측정합니다
짧은 요약
백테스트 과최적화 확률(PBO)은 표본 안에서 가장 우수해 선택한 전략이, 정해 둔 표본 밖 평가에서 같은 후보 집합의 중위값 아래에 얼마나 자주 놓이는지 묻습니다. 조합 대칭 교차검증(CSCV)은 동일한 시간 구간의 절반을 선택용, 나머지 절반을 평가용으로 두는 모든 조합을 반복해 그 비율을 추정합니다. PBO는 특정 검색 과정·성과 지표·과거 성과 행렬에 조건부인 진단값입니다. 실전 전략이 돈을 잃을 확률은 아닙니다.
PBO는 개별 전략보다 선택 절차를 측정합니다
연구팀은 이동평균 기간, 진입 임계값, 보유 기간, 투자 대상, 거래비용 가정, 포트폴리오 제약을 바꾸며 여러 백테스트를 실행한 뒤 가장 높은 점수를 낸 안을 남길 수 있습니다. 이때 최종 성과는 그 표본의 우연한 특징에 맞춰질 기회를 여러 번 얻었습니다. PBO는 정해 둔 표본 안·밖 분할에서 안쪽 최고 후보가 표본 밖 같은 후보들의 중위값보다 낮은 순위에 놓이는 빈도를 요약합니다.
Bailey, Borwein, López de Prado, Zhu는 전략 선택 위험을 평가하는 PBO 틀을 제시하고, 이를 추정하는 한 가지 방법으로 CSCV를 설명했습니다. 이 정의가 묻는 것은 여러 설정 중 하나를 선택한 절차의 성질이지, 예측식의 계수가 많아 개별 모델이 과적합되었는지만이 아닙니다. 각 분할에서 “표본 안”은 후보 전략 가운데 하나를 고르는 데 쓰는 관측치입니다. 그 전략의 모든 하위 모델을 추정했던 원래 기간과 반드시 일치하지는 않습니다. 형식적 정의는 PBO 원 논문에서 확인할 수 있습니다.
이 차이는 실제 해석에서 중요합니다. 단일 전략의 전체 표본 샤프 비율이 높아도, 그 전략이 약한 연구 후보군 중 우연히 가장 운이 좋았을 수 있습니다. 반대로 선택 절차가 후보 간 표본 밖 순위에서는 대체로 중위값을 넘더라도 후보군 전체의 수익률은 음수일 수 있습니다. PBO는 제출된 후보 중 상대 순위를 비교합니다. 그것만으로 기대수익률이 양수인지 검정하지 않습니다.
PBO와 다른 검증 도구는 서로 다른 질문에 답합니다
시간순 홀드아웃이나 워크포워드는 앞선 의사결정에 사용되지 않은 이후 관측치에서 연구 절차가 어떻게 작동했는지 봅니다. Purged 교차검증은 학습 레이블 구간과 테스트 결과 구간이 겹치는 문제를 다루며, 엠바고는 근거가 있을 때 별도 완충 구간을 둡니다. 이들 조치만으로 넓은 전략 탐색에서 표본 안 승자가 표본 밖 중위값 아래로 얼마나 자주 내려가는지 측정하지는 않습니다. purging과 엠바고의 구체적인 절차는 Purged 교차검증과 엠바고 글에서 확인할 수 있습니다.
PBO는 다중검정 보정과도 다릅니다. White의 Reality Check는 부트스트랩 틀에서 데이터 스누핑을 고려해 여러 규칙 중 최고 규칙이 기준을 초과하는지 검정합니다. Deflated Sharpe Ratio는 선택 효과와 비정규 수익률을 고려해 샤프 기반 통계량을 조정합니다. 반면 PBO는 분할마다 표본 안에서 선택된 후보의 표본 밖 순위를 요약합니다. 세 방법은 통계량과 가정이 다르므로 자동으로 서로를 대체하지 않습니다. White의 Reality Check 원 논문과 Bailey, López de Prado의 Deflated Sharpe Ratio 논문을 함께 구분해 읽을 수 있습니다.
시간축이 맞는 성과 행렬부터 만듭니다
M을 T × N 성과 행렬이라고 하겠습니다. N개 열은 각각 후보 전략이나 설정 하나이고 T개 행은 모든 후보에 공통인 동일한 관측 구간입니다. 한 행은 거래 비용을 반영한 일간 수익률일 수 있습니다. 후보마다 거래 빈도가 다르다면 먼저 공통 시간 인덱스를 정하고 각 전략의 성과를 일관되게 집계해야 합니다. 한 전략의 일간 수익률과 다른 전략의 월간 누적수익률을 같은 행으로 놓으면 비교 가능한 행렬이 되지 않습니다.
후보 집합은 실제 선택 기회를 반영해야 합니다. 그리드 검색에서 탈락한 설정, 결과를 본 뒤 사람이 바꾼 조건, 다른 유니버스, 최종 선택에 영향을 준 규칙을 포함해야 합니다. PBO는 입력받은 후보와 각 후보의 성과 기록만 평가합니다. 훨씬 넓은 탐색을 했는데 최종 후보 몇 개만 기록했다면, 계산 결과는 실제 검색 폭을 축소해서 보게 됩니다.
모든 후보에 같은 수익률 기준, 통화, 레버리지 처리와 성과 지표를 적용합니다. 비용 차감 샤프 비율로 선택한다면 관련 수수료, 스프레드, 금융비용, 펀딩비, 대차비용, 체결 가정을 열마다 먼저 반영한 뒤 계산합니다. 아래 분할 각각에서도 해당 지표를 계산할 수 있어야 합니다. 원 논문은 후보 간 행이 시간상 동기화되어야 하고, 각 하위표본에서 지표를 계산할 수 있어야 한다고 설명합니다. 거래 빈도가 다를 때는 공통 시간 인덱스로 맞추는 방법을 제시합니다.
CSCV는 절반 표본과 그 여집합을 모두 짝짓습니다
서로 겹치지 않는 같은 크기의 시간 블록 S개를 고릅니다. S는 짝수여야 합니다. 각 블록 안에서는 시간 순서를 유지합니다. 블록 S/2개를 택해 표본 안(IS) 집합을 만들고, 남은 S/2개를 표본 밖(OOS) 집합으로 둡니다. 모든 가능한 선택을 열거합니다. 경로 순서에 민감한 통계량을 계산할 때는 고른 블록을 원래 순서로 이어 붙이고, 그 연결이 해당 지표에 어떤 의미인지 기록해야 합니다.
표본 안 블록 배정 수는 C(S, S/2)입니다. 블록이 A, B, C, D 네 개라면 AB, AC, AD, BC, BD, CD의 여섯 배정이 있습니다. 각 배정의 여집합도 다른 배정으로 포함됩니다. S=16이면 C(16,8)=12,870개입니다. 같은 과거 구간을 여러 번 조합한 결정적 분할이지, 서로 독립적인 시장 실험 12,870번이 아닙니다.
“대칭”은 한 조합의 여집합이 다른 조합에서 선택용으로 재사용된다는 뜻입니다. 예를 들어 한 분할에서는 AB가 IS이고 CD가 OOS지만, 다른 분할에서는 CD가 IS이고 AB가 OOS입니다. “조합”은 무작위 분할 하나를 뽑는 대신 절반 블록을 고르는 모든 경우를 열거한다는 뜻입니다. 이 절차는 연대순 재현 검증이 아닙니다. 선택된 집합에 초반과 후반 블록이 함께 들어가고, 여집합에는 중간 블록이 들어갈 수 있습니다. 따라서 여기서 OOS라고 불러도 “학습 기간 다음에 이어지는 미래”라는 뜻은 아닙니다.

선택 후보의 표본 밖 순위를 로짓으로 바꿉니다
분할 c마다 실제 연구에서 사용한 선택 규칙을 IS에 적용해 가장 좋은 후보 n*(c)를 고릅니다. 다음으로 같은 성과 지표를 보완 집합인 OOS에 적용해 후보 N개의 점수를 계산합니다. 이 OOS 점수 중 선택된 후보의 순위를 r(c)라고 하겠습니다. 순위는 가장 나쁜 후보가 1, 가장 좋은 후보가 N이 되도록 정합니다. 동점 처리 방식은 미리 쓰고 모든 분할에서 똑같이 적용합니다.
순위를 상대 순위 ω(c)=r(c)/(N+1)로 바꿉니다. 가장 낮거나 높은 순위도 0이나 1이 되지 않게 분모에 1을 더합니다. 로짓은 λ(c)=ln(ω(c)/(1−ω(c)))입니다. 선택 후보가 표본 밖 후보군의 중위값보다 낮은 순위이면 로짓이 음수이고, 중위 순위에서는 0, 중위값보다 높으면 양수입니다. 추정 PBO는 전체 CSCV 배정 중 λ(c)≤0인 비율입니다.
PBO 하나는 표본 안 승자가 OOS 중위값 이하로 가는 빈도를 요약합니다. 로짓 분포를 함께 보면 단일 수치보다 더 많은 점을 살필 수 있습니다. 중심과 왼쪽 꼬리가 선택 후보가 대체로 중위권 부근에 남는지, 자주 크게 밀리는지, 아니면 중위권 위에 놓이는지 보여줍니다. 로짓은 상대 순위를 변환한 값이지 개별 실전 거래의 확률이나 미래 수익의 보정된 예측값이 아닙니다.
가상의 네 블록 예시에서 PBO는 66.7%입니다
연구자가 같은 크기의 과거 블록 네 개와 R1부터 R4까지 네 후보 규칙을 갖고 있다고 합시다. 아래는 여섯 IS 배정입니다. “OOS 순위” 열은 각 행의 IS에서 고른 규칙이 보완 블록에서 네 규칙 가운데 얻은 순위입니다. 모든 숫자는 계산법만 보이는 가상 출력이며 실제 측정값이나 시장 관측치가 아닙니다.
| IS 블록 | IS 승자 | OOS 순위 r | 상대 순위 ω=r/5 | 로짓 ln(ω/(1−ω)) | 중위값 이하인가? |
|---|---|---|---|---|---|
| AB | R1 | 1 | 0.20 | −1.386 | 예 |
| AC | R3 | 4 | 0.80 | +1.386 | 아니요 |
| AD | R2 | 2 | 0.40 | −0.405 | 예 |
| BC | R1 | 1 | 0.20 | −1.386 | 예 |
| BD | R4 | 3 | 0.60 | +0.405 | 아니요 |
| CD | R3 | 2 | 0.40 | −0.405 | 예 |
선택된 규칙 네 개가 여섯 배정 가운데 네 번 중위값 이하의 OOS 상대 순위를 기록합니다. 따라서 경험적 PBO는 4/6≈0.667, 약 66.7%입니다. 예를 들어 순위 2는 ω=2/(4+1)=0.4이고 λ=ln(0.4/0.6)≈−0.405입니다. 순위 3이면 ω=0.6, 로짓은 반대 부호인 약 +0.405입니다.
이 예시가 다음 달 돈을 잃을 확률이 66.7%라는 뜻은 아닙니다. 가상의 성과 행렬과 순위 규약 아래, IS에서 뽑힌 후보가 열거된 여섯 분할 중 네 번 후보 중위값 이하였다는 뜻입니다. 나머지 두 번의 승자도 절대 OOS 수익률은 음수인데 동료 후보보다 높은 순위에 있었을 수 있습니다.
PBO는 조건부 진단값이며 한계가 있습니다
PBO는 후보군, 관측 성과 행렬, 선택 지표, 시간 블록, 동점 처리에 따라 달라집니다. 기록하지 않은 시도는 평가 범위에 들어오지 않습니다. “모형 독립적”이라는 표현은 예측식의 구조를 몰라도 후보별 성과 기록으로 계산할 수 있다는 뜻입니다. 설계 선택, 데이터 품질, 가정에서 자유롭다는 뜻은 아닙니다.
CSCV는 크기가 같은 표본 안·밖 부분집합을 비교하도록 블록을 대칭적으로 조합합니다. 동시에 OOS 집합은 보통 연속된 이후 기간 하나가 아닙니다. 블록 재조합은 장기 의존성, 계절 패턴, 경제 국면의 순서를 흐트러뜨릴 수 있습니다. S는 조합 개수뿐 아니라 블록 하나가 나타내는 기간도 정하므로, 전략의 관련 보유 기간과 시장 구조를 고려해 선택하고 기록합니다. 많은 조합이 같은 수의 독립 관측치를 새로 만들어 주지는 않습니다. 여러 조합에서 동일한 블록을 다시 사용하기 때문입니다.
입력 수익률에 이미 있는 편향도 그대로 물려받습니다. 생존편향, 수정된 데이터, 당시 이용할 수 없던 피처, 비현실적인 체결, 빠뜨린 비용, 사후 선택된 투자 유니버스가 후보 기록을 왜곡할 수 있습니다. CSCV는 겹치는 레이블 구간을 자동으로 purging하거나, 모든 모델 절차를 각 분할 안에서 다시 추정하거나, 전처리 누출을 막지 않습니다. 그런 단계는 연구 질문에 맞춰 따로 구현해야 합니다. 시간순 누출 보호는 공식 TimeSeriesSplit 문서와 Purged 검증 가이드에서 비교할 수 있습니다.
최대 낙폭처럼 경로에 의존하는 지표는 특히 조심해야 합니다. 떨어져 있던 시간 블록을 이어 붙이면 경로가 바뀌고 통계량도 달라질 수 있습니다. PBO 논문도 샤프 비율과 달리 일부 지표에서는 관측 순서가 중요하다고 지적합니다. 모든 성과 지표가 CSCV에서 같은 방식으로 계산될 수 있다고 가정하지 마세요. 순서, 블록 사이 간격, 결측치, 복리 처리를 어떻게 하는지 먼저 설명해야 합니다.
시간순 근거와 전체 검색 기록 옆에 PBO를 보고합니다
PBO를 계산하기 전에 후보 목록, 결과를 본 뒤 바꾼 모든 설정, 성과 행렬, 선택 지표, 동점 규칙을 보관합니다. T, N, S, 블록 구성, C(S,S/2), OOS 순위 규약, 추정 PBO, 로짓 분포를 보고합니다. 절대 OOS 성과, 비용, 회전율, 낙폭, 손실 후보 수를 함께 제시합니다. 순위만 보면 모든 후보의 성과가 약한지 알 수 없습니다.
고정한 연구 절차가 이후 자료에서 어떻게 작동하는지 보려면 워크포워드나 진정한 시간순 홀드아웃을 따로 사용합니다. 모델과 임계값을 정할 동안 마지막 기간을 열지 마세요. 결과를 반복해서 확인하면 그 기간도 또 다른 선택 자료가 됩니다. TimeSeriesSplit처럼 시간순 폴드를 구현하는 도구는 문서에 적힌 가정에 따라 연대순 검증을 만들며, PBO는 검색 후보군의 다른 순위 특성을 측정합니다.
그러므로 PBO는 레이블 겹침 통제, 다중검정 분석, 현실적인 체결 모델, 미래 시점 평가와 실전 모니터링을 보완할 수는 있지만 대체하지 않습니다. 이어서 금융의 다중검정과 거짓발견율, 샤프 비율의 자기상관 조정을 살펴보세요. 어떤 단일 통계량도 과거 순위를 지속 가능한 매매 우위의 증명으로 바꾸지는 못합니다.
자주 묻는 질문
Q1PBO는 전략이 손실을 낼 확률을 뜻하나요?
아닙니다. 정해 둔 분할에서 IS 선택 후보가 같은 후보군의 OOS 중위값 이하 순위를 기록하는 비율을 추정합니다. 미래 손실 확률이나 보정된 실전 수익 예측값은 아닙니다.
Q2CSCV는 워크포워드 테스트와 같은가요?
아닙니다. CSCV는 블록 절반 조합과 여집합을 모두 짝짓기 때문에 OOS 부분집합에 더 이른 시점과 더 늦은 시점이 함께 들어갈 수 있습니다. 워크포워드는 시간순 배포 경로를 살피도록 학습 기간 뒤에 오는 테스트 기간을 유지합니다.
Q3PBO가 낮으면 선택한 전략에 우위가 있다는 뜻인가요?
아닙니다. 약한 후보군 안에서 가장 나은 전략은 상대적으로 높은 순위여도 절대 수익은 손실일 수 있습니다. 순수익, 불확실성, 비용, 데이터 누출, 실제로 더 늦은 자료에서의 성과를 별도로 평가해야 합니다.
출처와 더 읽을 자료
내용 정정 제보
이 아티클 링크를 담은 이메일 초안을 준비합니다. 직접 보내야 Mark에 제보가 접수됩니다
QUICK CHECK
글을 다 읽었다면, 3문항으로 확인해보세요
Question 01
추정 PBO에 포함되는 사건은 무엇인가요?
정답을 고르면 바로 설명을 볼 수 있어요