목록으로
연구 노트오버피팅검증 방법론

좋아 보인 개선안이 실제로는 손해였던 이유 — 근사와 실측의 차이

앞선 검증에서 우리 전략의 약점 하나를 찾았습니다. 고치는 규칙을 만들었더니, 간이 검증(프록시)에선 완벽해 보였습니다. 그런데 진짜 시뮬레이터로 돌리니 정반대였습니다. 이 글은 그 한 끗 차이에 대한 기록입니다.

저자: Kim Yongboem작성일: 2026-07-08

앞선 글에서 우리는 우리 국면 전략의 약점 하나를 찾았습니다. "과매도 = 곧 반등"이라는 규칙이, 2008처럼 천천히 무너지는 하락장에선 오히려 독이 된다는 것이었습니다. 자연스러운 다음 질문은 하나입니다. 그럼 고치면 되지 않나?

이 글은 그 개선안을 만들고, 검증하고, 기각한 기록입니다. 그리고 왜 "그럴듯한 개선안"을 실제로 채택하기 전에 반드시 진짜 시뮬레이터로 돌려봐야 하는지에 대한 이야기입니다.

개선안(R1): "짧은 눌림일 때만 반등에 베팅하자"

문제는 명확했습니다. 과매도 규칙이 **짧은 눌림(코로나)**과 **긴 붕괴(2008)**를 구분하지 못하는 것. 그래서 이렇게 고쳐봤습니다.

과매도 반등 베팅은 주가가 60일선 아래에 머문 기간이 짧을 때만 허용하고, 길게 무너지는 중이면 방어를 유지한다.

구분 신호는 "60일선 아래 며칠째인가(연속일수)"입니다. 실측해 보니 코로나는 28일(짧음), 2008 붕괴 가속 구간은 56~119일(길다)로 깔끔하게 갈렸습니다. 기준선을 40일로 잡았습니다.

간이 검증(프록시): 완벽해 보였다

먼저 대략적인 근사 방식으로 확인했습니다. 결과는 흠잡을 데가 없어 보였습니다.

2008 최대낙폭2020 코로나 반등
고치기 전−47%+13%
R1 적용−22%+13% (그대로)

2008 방어는 절반으로 개선되고, 코로나는 전혀 건드리지 않았습니다. "딱 원하던 결과"였습니다. 여기서 멈췄다면 우리는 R1을 채택했을 것입니다.

진짜 시뮬레이터: 정반대였다

그러나 우리 규율은 근사만으로 무언가를 채택하는 것을 금지합니다. 원본 전략 코드를 그대로 복제한 뒤 R1만 주입해, 같은 데이터에서 R1을 켜고 끈 차이를 실제로 측정했습니다.

지표R1 끄면 (현행)R1 켜면
최근 구간 수익률81.0%71.3% (−9.7%p)
위험대비수익(Sharpe)1.331.16 (하락)
전체 최대낙폭−21.8%−21.8% (개선 0)

R1은 수익과 위험조정 성과를 깎으면서, 정작 최대낙폭은 전혀 줄이지 못했습니다. 이 기간(2015~2026)엔 2008형 그라인딩이 없으니, 방어할 대상 자체가 없었기 때문입니다.

무엇을 놓쳤나: R1이 방어로 바꾼 4개월

R1이 "이건 긴 하락이니 방어하자"고 판단해 반등 베팅을 껐던 달은 4개였습니다. 그런데 그 4개월은 전부 실제로 반등이 온 달이었습니다.

반등 베팅 시R1 방어 시R1이 버린 것
2021-10−3.7%−7.3%+3.6%p
2021-11+4.5%+5.9%−1.4%p
2024-11+2.7%−5.8%+8.5%p
2024-12+17.1%+6.6%+10.6%p
합계+20.7%−0.7%+21.4%p

특히 2024년 12월은 반등 베팅이 +17%를 벌 자리였는데, R1은 이를 방어로 막아 +6.6%에 그쳤습니다. 4개월을 합치면 R1이 버린 실현 수익이 +21.4%포인트에 달했습니다.

핵심 교훈: 결정하는 순간엔 구분할 수 없다

여기에 이 전체 검증 라인의 가장 중요한 결론이 있습니다.

"며칠째 빠지고 있나"로는 "곧 반등할 눌림"(2021·2024)과 "계속 무너질 위기"(2008)를 사전에 구분할 수 없습니다. 결정하는 그 순간, 둘은 똑같이 "길게 빠진 상태"로 보입니다. 그래서 2008을 지키려는 규칙은 필연적으로 2015~2026의 진짜 반등도 함께 놓칩니다.

이것은 튜닝으로 풀 문제가 아니라 구조적 한계입니다. 지속 기간이라는 신호 자체가 두 상황을 가르지 못하기 때문입니다.

그리고: 왜 프록시는 틀렸나

프록시는 그 달을 "시장 평균 수익"으로 근사했습니다. 그래서 시장 대표주가 반등에서 실제로 벌어들인 알파(2024-12의 +17% 같은)를 볼 수 없었습니다. 그 알파가 안 보이니 "R1은 거의 무해"라고 잘못 판단한 것입니다.

근사는 방향을 잡는 데는 유용하지만, 채택 여부를 가르는 데는 위험합니다. 진짜 시뮬레이터로 돌리지 않았다면, 우리는 성과를 갉아먹는 규칙을 개선이라 믿고 넣었을 것입니다.

결론: 약점은 인정하되, 규칙으로 덮지 않는다

R1은 기각했습니다. 과매도 반등 베팅은 표본 안에서 순이익을 내고 있어, 제거하지 않습니다. 대신 우리가 찾은 2008형 꼬리위험은 규칙 땜질이 아니라 포지션 관리(보수적 리스크 예산, 레버리지 배제, 현금 완충)로 다룹니다.

가장 정직한 개선은, 때로 "개선하지 않기로 결정하는 것"입니다. 그 결정이 근거 있는 것이 되려면, 그럴듯한 개선안을 끝까지 실측으로 검증해 스스로 기각할 수 있어야 합니다. 우리는 그 과정을 숨기지 않고 기록합니다.


본 글의 수치는 2015~2026년 백테스트(거래비용 왕복 0.35%, 생존편향 보정)와, 원본 전략을 무수정 복제해 개선안만 토글한 통제 비교에 근거합니다. 모든 내용은 우리 시스템의 과거·모의 거동에 대한 관찰이며, 특정 종목·자산의 매수·매도 권유가 아닙니다. 백테스트·시뮬레이션 결과는 미래 수익을 보장하지 않습니다.