💡 핵심 요약 (Key Takeaways)
- 높은 샤프 비율은 그 자체로 증거가 아닙니다. 디플레이티드 샤프 비율(DSR)은 백테스트 샤프를 두 가지 부풀림에 대해 동시에 보정합니다. 여러 전략을 시도한 데서 오는 선택 편향과, 비정규(왜도·첨도가 큰) 수익률입니다.
- 기준선은 시도 횟수에 따라 올라갑니다. 참 샤프 비율이 0이어도
N회 독립 시도의 기대 최대 샤프는 양수입니다. DSR은 기각 임계값을 그 기대 최대값으로 두므로, 더 많이 탐색할수록 넘어야 할 선이 높아집니다.- 예시 수치는 뼈아픕니다. 일별 5년·왜도 −3·첨도 10인 샤프 2.5를 N=1000회 시도 끝에 발견하면 DSR은 약 0.90에 그쳐 95% 기준을 통과하지 못합니다. 같은 결과를 단 N=46회 시도만에 얻었다면 0.9505로 통과했을 것입니다.
본 해설은 1차 출처인 Bailey·López de Prado, “The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality”(Journal of Portfolio Management, 2014)만을 근거로 재구성했습니다. 이 글은 해당 지표가 잡아내려는 실패들을 실측한 백테스트 부검 시리즈와 짝을 이룹니다.
문제: 충분히 탐색하면 좋은 샤프 비율은 사실상 보장됩니다
백테스트를 한 번 돌려 샤프 비율 2.5가 나오면 주목할 만합니다. 그런데 룩백·임계값·필터·종목을 바꿔가며 천 개의 변형을 돌리고 그중 가장 좋은 하나만 남기면, 어느 구성에도 진짜 엣지가 없더라도 샤프 2.5는 거의 예상되는 결과입니다.
이것이 디플레이티드 샤프 비율의 핵심 통찰입니다. 표준 샤프 비율은 “이 전략이 얼마나 좋아 보였는가"에 답합니다. “이렇게 좋아 보이는 하나를 찾기까지 몇 개를 시도했는가"에는 답하지 못합니다. 넓은 공간을 탐색하고 승자만 보고하면, 그 승자의 샤프는 선택 편향에 오염됩니다. 디플레이티드 샤프 비율은 그 보정 장치입니다.
이 지표는 David H. Bailey와 Marcos López de Prado가 2014년에 제시했으며, 앞서 발표한 확률적 샤프 비율을 토대로 합니다. 원시 샤프가 무시하는 요소들을 반영해 관측된 샤프를 디플레이트(축소)합니다.
임계값은 0이 아니라 기대 최대 샤프입니다
핵심은 기준선입니다. 단순한 유의성 검정은 관측된 샤프가 0보다 큰지 묻습니다. 그러나 다중검정 하에서는 “그만큼 시도했을 때 우연만으로 기대되는 값"을 관측 샤프가 넘어서는지를 물어야 합니다.
Bailey·López de Prado는 N회 독립 시도의 기대 최대 샤프를 다음과 같이 제시합니다(논문 Eq. 1):
E[max{SR̂ₙ}] = E[{SR̂ₙ}] + √V[{SR̂ₙ}] · ((1 − γ)·Z⁻¹[1 − 1/N] + γ·Z⁻¹[1 − 1/(N·e)])
여기서 γ는 오일러-마스케로니 상수(약 0.5772), Z⁻¹는 표준정규 누적분포함수의 역함수, e는 자연상수, N은 독립 시도 횟수입니다. 시도들의 평균 샤프 E[{SR̂ₙ}]가 0이라는 귀무가설 하에서는 임계값이 √V 항만 남습니다.
SR̂₀ = √V[{SR̂ₙ}] · ((1 − γ)·Z⁻¹[1 − 1/N] + γ·Z⁻¹[1 − 1/(N·e)])
이 도출은 극값 이론(Extreme Value Theory)에 근거합니다. 실용적으로는 단순합니다. SR̂₀는 시도 횟수 N이 늘거나 시도들의 샤프 분산 V[{SR̂ₙ}]이 커질수록 함께 올라갑니다. 더 많이 탐색하거나 더 거친 전략을 탐색할수록 넘어야 할 선이 높아집니다.
DSR은 그 움직이는 기준선에 대한 확률적 샤프 비율입니다
디플레이티드 샤프 비율(논문 Eq. 2)은 SR̂₀를 기준으로 평가한 확률적 샤프 비율로 정의됩니다.
“본질적으로 DSR은 기각 임계값을 시도의 다중성에 맞춰 조정한 PSR입니다.” — Bailey·López de Prado (2014)
표준 샤프 비율이 수익률의 평균·표준편차 두 추정치만 쓰는 데 비해, DSR은 다음 다섯 변수를 추가로 반영해 샤프를 디플레이트합니다.
- 수익률의 비정규성 — 왜도
γ̂₃와 첨도γ̂₄, - 수익률 시계열의 길이
T, - 검정한 샤프 비율들의 분산
V[{SR̂ₙ}], - 독립 시도 횟수
N.
PSR 부분(Bailey·López de Prado, 2012)은 표본 길이와 수익률 분포의 처음 네 모멘트를 반영하므로, 짧은 표본과 두꺼운 꼬리는 무시되지 않고 페널티를 받습니다.
수치 예시: 0.90점을 받는 샤프 2.5
논문의 예시가 그 대가를 구체적으로 보여줍니다. 일별 5년 표본(T = 1250, 연 250관측)에서 측정한 연환산 샤프 2.5, 왜도 −3, 첨도 10인 전략을 가정합니다. 분석가가 이 승자를 N = 1000회 독립 시도 끝에 얻었다고 밝혔다고 가정하겠습니다.
이 입력을 DSR에 넣으면 결과는 약 0.90입니다. 저자들의 표현으로는, 투자자는 “이 전략의 참 SR이 0보다 클 확률이 90%에 불과함"을 인식하게 됩니다. 이는 95% 신뢰 수준에 미치지 못하므로 전략은 기준선을 넘지 못합니다.
같은 예시 안의 두 대비가 결과를 만든 원인을 보여줍니다.
| 시나리오 | 독립 시도 N | 수익률 | DSR | 판정 |
|---|---|---|---|---|
| 보고된 대로 | 1000 | 왜도 −3, 첨도 10 | ≈ 0.90 | 95% 미달 |
| 더 적은 시도 | 46 | 왜도 −3, 첨도 10 | 0.9505 | 통과 |
| 정규 수익률 | 최대 88까지 | 왜도 0, 첨도 3 | 기준선 부근 | 통과 |
동일한 관측 샤프 2.5가 N = 46에서는 신뢰할 만하지만(DSR 0.9505) N = 1000에서는 그렇지 않습니다. 비정규성도 그 자체로 작용합니다. 만약 수익률이 정규(왜도 0, 첨도 3)였다면 같은 전략은 N = 88회 독립 시도까지 통과했을 것입니다. 과도한 탐색만이 아니라 왜도와 두꺼운 꼬리가 이 전략을 선 아래로 밀어냈습니다.
참조 구현
저자들은 기대 최대 샤프 임계값을 짧은 Python 루틴으로 제공합니다. 전체 메커니즘이 다섯 줄에 담겨 있어 읽어볼 가치가 있습니다.
import scipy.stats as ss
import numpy as np
def getExpMaxSR(mu, sigma, numTrials):
# mu, sigma: 시도들의 샤프 비율 평균과 표준편차
emc = 0.5772156649 # 오일러-마스케로니 상수
maxZ = (1 - emc) * ss.norm.ppf(1 - 1. / numTrials) \
+ emc * ss.norm.ppf(1 - 1. / (numTrials * np.e))
return mu + sigma * maxZ
getExpMaxSR는 시도들의 샤프 평균·표준편차와 시도 횟수를 받아 기대 최대 샤프를 반환합니다. 이 값이 PSR에 들어가는 기준선 SR̂₀가 되어 DSR을 산출합니다.
자신을 속이지 않고 적용하는 법
가장 까다로운 입력은 정직함입니다. 바로 **독립 시도 횟수 N**입니다. 이는 저장한 전략의 수가 아니라 시도한 수입니다. 모든 파라미터 스윕, 버린 변형, “필터 하나만 더 넣어보자” 한 번까지 전부 포함합니다. N을 적게 보고하는 것은 자신의 샤프를 부풀리는 가장 쉬운 방법이며, DSR이 바로 이 실패를 들춰내기 위해 존재합니다.
이것은 백테스트 부검 시리즈에서 실측한 실패들의 통계적 거울상입니다. 룩어헤드 편향이 미래를 과거로 끌어와 승률을 부풀린다면, 과도한 탐색은 여러 추출 중 가장 운 좋은 것을 남겨 샤프를 부풀립니다. 디플레이티드 샤프 비율이 백테스트를 대신 돌려주지는 않지만, 정직하게 적용하면 헤드라인 수치 중 얼마가 신호이고 얼마가 탐색의 잔여물인지 알려줍니다.
논문에서 단 하나의 운영 규칙을 가져간다면 이것입니다. 모든 시도를 세고, 기대 최대값에 대해 디플레이트하며, DSR이 0.95 아래인 샤프는 원시 수치가 아무리 커 보여도 미검증으로 취급하십시오.
자주 묻는 질문
디플레이티드 샤프 비율(DSR)이란 무엇입니까?
디플레이티드 샤프 비율은 기각 임계값을 시도의 다중성에 맞춰 조정한 확률적 샤프 비율(PSR)입니다. 여러 전략을 시도한 데서 오는 선택 편향과 비정규(왜도·첨도) 수익률 두 가지 부풀림을 보정한 뒤, 전략의 참 샤프 비율이 0보다 클 확률을 추정합니다.
백테스트를 더 많이 시도하면 왜 샤프 비율이 부풀려집니까?
참 샤프 비율이 0이어도 N회 독립 시도의 기대 최대 샤프 비율은 0보다 큽니다. 여러 무작위 추출 중 가장 좋은 것을 남기기 때문입니다. DSR은 기각 임계값을 이 기대 최대값으로 두므로, 더 많이 시도할수록 신뢰받기 위해 넘어야 할 샤프가 높아집니다.
디플레이티드 샤프 비율 계산에 필요한 입력은 무엇입니까?
표준 샤프 비율이 쓰는 수익률의 평균·표준편차 외에 다섯 가지가 더 필요합니다. 수익률의 왜도와 첨도, 수익률 시계열 길이 T, 검정한 시도들의 샤프 비율 분산, 그리고 독립 시도 횟수 N입니다.
샤프 비율 2.5도 디플레이티드 샤프 비율 검정을 통과하지 못할 수 있습니까?
그렇습니다. 원논문 예시에서 일별 5년 데이터·왜도 −3·첨도 10인 연환산 샤프 2.5 전략을 N=1000회 독립 시도 끝에 선택하면 DSR은 약 0.90으로, 95% 신뢰 수준에 미치지 못합니다. 같은 결과를 N=46회 시도만에 얻었다면 DSR은 0.9505로 통과했을 것입니다.
디플레이티드 샤프 비율은 확률적 샤프 비율과 어떻게 다릅니까?
확률적 샤프 비율(PSR)은 짧은 표본과 비정규 수익률을 고정된 기준에 대해 보정합니다. 디플레이티드 샤프 비율은 그 기준을 다중검정 하의 기대 최대 샤프로 바꾼 PSR이므로, 시도 횟수까지 추가로 페널티를 부과합니다.
내 백테스트에 디플레이티드 샤프 비율을 어떻게 적용합니까?
실제로 시도한 독립 전략 구성의 수와 그 샤프 비율들의 분포를 기록한 뒤, 기대 최대 샤프 임계값을 계산해 수익률 시계열 길이·왜도·첨도와 함께 PSR 공식에 넣습니다. 저자들이 참조 Python을 제공하며, 핵심은 버린 시도까지 포함해 모든 시도를 정직하게 세는 것입니다.
관련 글 — 백테스트 부검 시리즈
- 백테스트가 거짓말하는 7가지 방법 (이론이 아닌 측정된 데이터) — DSR이 잡아내려는 구조적 실패를 한곳에 모은 허브 가이드
- 룩어헤드 바이어스의 해부학 — 미래 데이터 누수가 승률을 부풀리는 방식, 과도한 탐색의 실측 사촌
- 크립토 백테스팅의 5대 무덤 — 좋아 보이는 샤프 뒤에 살아남는 펀딩 드래그와 무음 데이터 갭
- 퀀트 전략 리서치 허브 — 부정 결과 전체 아카이브
최종 검증: 2026년 6월 — 모든 공식과 수치 예시(N=1000 → DSR ≈ 0.90; N=46 → 0.9505; 정규 → N=88), 참조 Python은 Bailey·López de Prado(2014), The Deflated Sharpe Ratio에서 직접 가져왔습니다.
실측 핵심 수치
자주 묻는 질문
디플레이티드 샤프 비율(DSR)이란 무엇입니까?
백테스트를 더 많이 시도하면 왜 샤프 비율이 부풀려집니까?
디플레이티드 샤프 비율 계산에 필요한 입력은 무엇입니까?
샤프 비율 2.5도 디플레이티드 샤프 비율 검정을 통과하지 못할 수 있습니까?
디플레이티드 샤프 비율은 확률적 샤프 비율과 어떻게 다릅니까?
내 백테스트에 디플레이티드 샤프 비율을 어떻게 적용합니까?
교육용 콘텐츠이며 투자 권유나 금융 조언이 아닙니다. 데이터·가격·도구 사양은 바뀔 수 있으니, 실거래 전 직접 검증하고 페이퍼 트레이딩으로 확인하시기 바랍니다.
