워크포워드 검증 — 백테스트 1등의 표본 밖 성적

백테스트 26년을 반으로 접어 앞장으로 고르고 뒷장으로 채점했다 — 순위상관 0.14, 앞장 1등은 뒷장을 보증하지 못했고 '고원 고르기' 처방마저 97등으로 추락했다. 매년 직전 5년 1등으로 갈아타는 워크포워드 실험도 그냥 평균 보유에 연 1.3%p 패배. 덜 고를수록 표본 밖에서 강했다.

이 글은 특정 종목이나 매매 시점을 추천하는 글이 아닙니다. 공개된 전략을 실제 데이터로 직접 백테스트하며 공부한 학습 기록입니다.

📚 이 글은 전략 리뷰 실험실 시리즈의 한 편입니다. 지금까지 돌려본 전략을 한눈에 비교한 표를 이 허브에서 볼 수 있습니다.

지난 글에서 파라미터 지도를 그려 봉우리와 고원을 구분했다. 그리고 끝에 스스로 했던 말이 걸렸다 — 그 지도조차 26년 전체를 다 보고 그린 것이라고. 진짜 시험은 반만 보고 고른 다음 나머지 반에서 채점받는 것이다. 오래전에 개념으로 정리해둔 방법이 있는데, 이번에 처음으로 우리 숫자에 직접 칼을 댄다. 예고하자면 — 13편에서 자신 있게 내놓은 처방 하나가 이 시험에서 반박당했다.

두 가지 시험

시험은 두 단계다. 조건은 시리즈 표준(프록시 데이터, 매월 점검, 편도 비용 0.1%, 배당 재투자, 세금 미반영) 그대로이고, 대상은 13편과 같은 격자(단일 룩백 1~12개월 × 밴드 0~4%, 108칸 + 1·3·6 평균 행)다.

시험 방법 묻는 것
① 시험지 반 접기 26년을 앞장(2000-08~2013-06)과 뒷장(2013-07~2026-06)으로 접어, 앞장 성적으로 자리를 고르고 뒷장 성적으로 채점 앞장의 1등이 뒷장에서도 1등인가?
② 유행 따라다니기 매년 초, 직전 5년 성적 1등 룩백으로 갈아타는 투자자를 시뮬레이션 과거 1등을 계속 좇으면 이기는가?

📌 워크포워드(walk-forward)란?
시험지 반 접기를 한 번이 아니라 굴러가며 반복하는 것. “그 시점까지의 과거로 고르고, 그 다음 기간으로 채점”을 해마다 되풀이하면, ‘과거를 보고 고르는 규칙’ 자체가 하나의 전략이 되어 표본 밖 성적을 받는다. 미래를 훔쳐볼 구멍이 원천적으로 막힌다.

시험 ① — 접는 순간, 지도는 남남이 됐다

백테스트 기간을 반으로 접은 앞장(2000~2013) 샤프 대 뒷장(2013~2026) 샤프 산점도. 117개 파라미터 조합의 순위상관 0.14로 상관이 거의 없고, 1·3·6 평균 행만 우상단에 몰려 있으며 보수 지도 1등은 뒷장에서 추락

가로축이 앞장 성적, 세로축이 뒷장 성적이다. 앞장이 뒷장을 잘 예언한다면 점들이 대각선을 따라 늘어서야 한다. 실제로는 — 구름이다. 117개 조합의 순위상관은 0.14. 앞장 등수는 뒷장 등수를 거의 알려주지 못했다. 13편의 지도가 아무리 그럴듯해 보여도, 그건 ‘그 시험지’의 지형이었던 것이다.

앞장(2000~2013)에서 고른 자리 앞장 샤프 뒷장 샤프 뒷장 등수(108칸 중)
원지도 1등 (3개월×0.5%) 1.01 0.90 14등
보수 지도 1등 (6개월×0%) 0.93 0.70 97등
1·3·6 평균 (행 평균) 0.99 0.92 상위권 유지

시험 ①의 반전 — 내 처방이 반박당했다

표의 둘째 줄이 이 글에서 제일 뼈아픈 지점이다. 13편에서 나는 “최고점 대신 이웃까지 좋은 고원을 골라라”라고 처방했다. 그런데 앞장의 보수 지도가 고른 자리(6개월×0%)는 뒷장에서 97등으로 추락했다. 오히려 원지도의 뾰족한 1등(3개월×0.5%)이 14등으로 선방했다.

왜 이렇게 됐을까. 앞장에서 ‘고원’처럼 보였던 6개월 부근의 평탄함 역시 그 13년의 지형이었기 때문이다. 뒷장에는 코로나처럼 6개월 잣대가 유독 약한 급락이 있었고(이건 2편에서 이미 봤던 6개월의 약점이다), 고원은 무너졌다. 교훈은 겸손하다 — 봉우리를 거르는 도구도, 과거를 보고 고르는 이상 또 하나의 과최적화가 될 수 있다. 지도(13편)가 틀린 건 아니다. 뾰족한 자리를 피하라는 경고는 여전히 유효하다. 다만 그 어떤 ‘고르는 규칙’도 표본 밖 성적을 보증하지 못한다는 것 — 이게 반 접기가 가르쳐준 것이다.

그 와중에 유일하게 살아남은 건 이번에도 고르지 않은 쪽이다. 1·3·6 평균은 앞장 0.99, 뒷장 0.92로 양쪽 모두 상위권이었다(단일 룩백 전체 평균은 양쪽 다 0.78). 선택 규칙을 정교하게 만드는 것보다, 선택 자체를 줄이는 것이 반 접기에서 살아남았다.

시험 ② — 유행을 따라가면 유행에 늦는다

반 접기는 한 번의 시험이다. 이번엔 굴려보자. 매년 초 “지난 5년간 성적 1등이었던 룩백”으로 갈아타는 투자자 — 실전에서 흔한, 최신 성적표를 보고 전략을 고르는 행동이다.

매년 직전 5년 샤프 1등 룩백으로 갈아타는 워크포워드 투자자와 1·3·6 평균 고정 보유, 단일 12개월, 미국주식의 2005~2026년 자산곡선 비교. 아래 띠는 워크포워드가 들고 있던 룩백의 변화(10개월과 3개월 사이 왕복)
2005-08~2026-06 연복리(CAGR) 최대낙폭(MDD) 샤프
유행 따라다니기 (직전 5년 1등) 9.5% -24.3% 0.81
1·3·6 평균 (그냥 들고 감) 10.8% -24.4% 0.92
단일 12개월 (원조, 고정) 9.3% -19.8% 0.77
미국주식 (참고) 11.1% -51.0% 0.78

21번의 연초 점검에서 유행 투자자는 8번 갈아탔다. 그림 아래 붉은 띠를 보면 행태가 보인다 — 2000년대 후반엔 10개월 안팎을 들다가, 2011년부터 3개월로, 2018년엔 다시 10개월로, 2022년부턴 또 3개월로. 그런데 성적은 그냥 1·3·6 평균을 들고 잠자던 투자자에게 연 1.3%p 뒤졌다. 5년 성적표가 1등을 알려줄 때쯤이면 그 1등의 계절은 대개 끝나가고 있었기 때문이다. 백미러를 보고 운전하면, 길이 굽을 때마다 늦는다.

📌 표본 밖(out-of-sample)이란?
규칙을 고를 때 보지 않은 데이터. 고르는 데 쓴 데이터(표본 안)에서의 성적은 ‘외운 문제 점수’라 항상 후하게 나온다. 진짜 실력은 처음 보는 문제(표본 밖)에서만 드러난다. 개념과 여러 접기 방법은 따로 정리해둔 글이 있다.

직접 해보니, 그리고 한계

이번 편의 진짜 수확은 글보다 도구다. 시험지 접기와 워크포워드를 랩의 상설 도구(engine/validation.py)로 만들어두었으니, 앞으로 어떤 전략을 리뷰하든 “반 접으면 남아 있나?”를 바로 물을 수 있다. 그리고 자기 처방(13편의 고원 고르기)이 일주일 만에 자기 시험에서 반박당하는 경험은 — 뼈아프지만, 이 시리즈를 시작한 이유 그 자체다. 검증은 남의 전략만이 아니라 내 결론에도 칼을 대야 한다.

한계도 짚는다. 첫째, 반 접기는 ‘한 가지 접기’일 뿐이다 — 2013년 6월이 아니라 다른 곳에서 접었다면 등수들은 또 달랐을 것이다. 둘째, 뒷장 성적은 전 기간을 이어 돌린 곡선을 자른 것이라(밴드가 있는 조합은 앞장에서 넘어온 상태를 이어받음) ‘그 시점 신규 시작’과 미세하게 다르다. 셋째, 유행 따라다니기의 규칙(5년·1년·샤프)도 내 선택이다 — 다른 창으로는 결과가 다를 수 있다. 넷째, 프록시 데이터·이 기간 한정.

정리하며

시험지를 반으로 접자 지도의 등수는 거의 다시 섞였고(순위상관 0.14), 최고점 선택도 고원 선택도 뒷장을 보증하지 못했다. 유행을 따라다닌 투자자는 그냥 평균을 들고 있던 투자자에게 졌다. 세 시험을 관통하는 결론은 하나다 — 과거를 보고 ‘고르는’ 행위 자체가 위험하고, 덜 고를수록 표본 밖에서 강하다. 2편에서 감으로 좋아 보였고 13편에서 기하학으로 이해했던 1·3·6 평균의 미덕이, 표본 밖 시험에서 세 번째로 확인됐다.

그러고 보니 마지막 의심이 하나 남는다. 반 접기도, 워크포워드도 결국 ‘이 26년’이라는 하나의 역사 위의 이야기다. 같은 전략이라도 시작을 2000년이 아니라 2001년으로 잡았다면, 성적표의 숫자는 얼마나 달랐을까. 내가 자랑해온 연 11%니 샤프 1.0이니 하는 숫자들에 ‘운’의 몫은 얼마나 섞여 있는지 — 성과를 점이 아니라 범위로 재보고 싶어졌다.


※ 이 글은 개인의 학습 과정을 공유하기 위한 것으로, 투자 권유나 자문이 아닙니다. 백테스트는 과거 데이터에 대한 시뮬레이션이며, 실제 매매 상품이 아닌 프록시(인덱스펀드) 기준입니다. 거래비용은 편도 0.1%를 반영했고 세금·배당 과세는 미반영입니다. 과거의 성과가 미래를 보장하지 않습니다.

steadydawn
steadydawn

감이 아니라 데이터와 규칙으로 투자에 접근해보려는 사람입니다. 투자 전문가는 아니고 배우는 쪽에 가깝습니다. 그래서 시중에 알려진 공개 전략을 직접 코드로 백테스트해보고, 나온 숫자를 좋든 나쁘든 그대로 기록합니다. 특히 결과가 좋게 나올수록 한 번 더 의심하려 합니다. 이 블로그가 돌아가는 서버도 직접 구축해 운영하고 있어, 투자 이야기와 함께 서버·개발 이야기도 남깁니다.

기사 : 48

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다