실험 설계
백테스트에서 설정값을 바꿔 가며 가장 성과가 좋은 조합을 고르면 그 조합이 그 기간의 우연까지 학습한 것일 수 있다고 워크포워드 가이드에서 설명했습니다. 이 노트는 그 점검의 가장 단순한 형태로, 구간을 둘로 나눠 한쪽에서의 순위가 다른 쪽에서 유지되는지 확인한 기록입니다.
- 유니버스: KOSPI200 구성 종목. 일별 시가총액 상위 200개를 그 시점의 구성으로 보는 방식이며 실제 KOSPI200의 편입·편출 규칙과는 다를 수 있습니다.
- 학습 구간: 2020-01-02 ~ 2022-12-30. 검증 구간: 2023-01-02 ~ 2025-12-30. 구간마다 따로 계산했고 신호 계산에 필요한 과거 시세는 구간 이전 데이터를 씁니다.
- 규칙: 단기 이동평균이 장기 이동평균을 상향 돌파하면 매수, 하향 돌파하면 매도. 단기 5·10·20·30일, 장기 40·60·90·120일의 16개 조합입니다.
- 자금과 보유: 초기 자본 1,000만 원, 종목당 10%, 최대 10종목. 손절·익절·리밸런싱은 쓰지 않았습니다.
- 비용: 수수료 0.015%, 슬리피지 0.1%, 매도 증권거래세는 시행일 기준 법정 세율. 체결은 신호 다음 거래일 시가.
결과
학습 구간에서 CAGR이 플러스인 설정은 16개 중 12개, 검증 구간에서는 16개였습니다. 같은 규칙 계열인데도 구간에 따라 순위가 크게 달라졌습니다. 아래 표는 학습 구간 순위 순으로 정렬했습니다.
이동평균 기간 16개 설정의 학습·검증 구간 결과 (단기/장기)| 설정 | 학습 구간 CAGR | 검증 구간 CAGR | 학습 순위 | 검증 순위 |
|---|
| 5/40 | 35.0% | 8.1% | 1위 | 13위 |
| 30/40 | 21.4% | 14.6% | 2위 | 7위 |
| 10/40 | 9.6% | 7.3% | 3위 | 14위 |
| 20/60 | 9.6% | 24.1% | 4위 | 4위 |
| 30/90 | 6.9% | 33.2% | 5위 | 1위 |
| 30/60 | 5.9% | 3.7% | 6위 | 16위 |
| 30/120 | 5.8% | 11.8% | 7위 | 10위 |
| 20/90 | 3.7% | 8.5% | 8위 | 12위 |
| 5/60 | 2.9% | 20.3% | 9위 | 6위 |
| 5/120 | 1.6% | 6.7% | 10위 | 15위 |
| 5/90 | 0.9% | 11.0% | 11위 | 11위 |
| 10/120 | 0.5% | 27.8% | 12위 | 2위 |
| 10/90 | −0.7% | 14.4% | 13위 | 8위 |
| 20/120 | −1.2% | 25.3% | 14위 | 3위 |
| 10/60 | −2.4% | 14.0% | 15위 | 9위 |
| 20/40 | −5.7% | 23.3% | 16위 | 5위 |
KOSPI200 구성 종목, 학습 2020-01-02~2022-12-30, 검증 2023-01-02~2025-12-30, 수수료 0.015%, 슬리피지 0.1%, 다음 거래일 시가 체결. 널스탁 백테스트 엔진 v16.41.0으로 2026-10-21에 계산했습니다.
순위가 유지됐는지 읽는 법
학습 1위인 5/40 설정은 학습 구간 CAGR 35.0%로 가장 높았지만 검증 구간에서는 8.1%로 16개 중 13위였습니다. 학습 상위 3개의 검증 순위는 13위·7위·14위였고, 반대로 검증 상위 3개의 학습 순위는 5위·12위·14위였습니다.
두 구간 순위의 상관계수(스피어먼, −1~1이며 1에 가까울수록 같은 순서)는 −0.28로 계산됐습니다. 학습 순위가 높을수록 검증 순위도 높았다는 관계는 보이지 않았고, 설정이 16개뿐이라 이 정도 크기는 우연으로도 충분히 나올 수 있습니다.
두 구간의 시장 환경도 달랐습니다. 같은 구간의 KOSPI 지수(가격지수, 배당 제외) CAGR은 학습 구간 0.9%, 검증 구간 23.8%였습니다. 규칙의 성과 차이에는 설정뿐 아니라 시장 구간의 영향이 함께 들어 있습니다.
이 실험이 말해 주지 않는 것
- 16개 설정과 구간 한 번의 분할만 시험했습니다. 분할 위치나 설정 범위를 바꾸면 순위와 상관계수가 달라질 수 있습니다.
- 상관계수가 작거나 음수로 나온 것이 '설정은 의미가 없다'는 뜻은 아닙니다. 이 표본에서 순위가 유지되는 관계가 관측되지 않았다는 뜻입니다.
- 워크포워드 분석은 구간을 여러 번 밀며 이 과정을 반복하는 방법입니다. 이 노트는 그 단순 버전이며 워크포워드 결과를 대체하지 않습니다.
- 모든 값은 과거 데이터 기반 시뮬레이션이며 미래 수익은 보장되지 않습니다.
연구노트는 과거 데이터에서 관측된 계산 결과를 기준일과 설정값과 함께 기록한 자료입니다. 특정 종목·전략의 매수·매도를 권유하거나 우열을 판단하지 않으며, 모든 결과는 과거 데이터 기반 시뮬레이션이므로 미래 수익은 보장되지 않습니다.