속설 검증 #9 — 5일·20일 이동평균 골든크로스 백테스트 기록

업데이트

KOSPI 최근 5년(2022-01-03~2026-10-13)에 5일·20일 이동평균 골든크로스 매수·데드크로스 매도·손절 −7% 규칙을 적용했더니 투자 수익률은 −23.16%, CAGR은 −5.37%, 최대 낙폭은 −49.35%, 승률은 26.6%(842회)였고 같은 기간 KODEX 코스피는 +140.08%였습니다. 한 규칙·한 기간의 과거 값입니다.

검증한 속설과 규칙

속설 검증 시리즈 9번째 기록입니다. 검증한 말은 “5일선이 20일선을 뚫으면 오른다”입니다. 속설을 그대로 코드로 옮길 수는 없어서, 아래 규칙 하나를 정해 과거 데이터에 적용했습니다. 이 노트는 그 규칙이 맞는지 틀린지 판정하지 않고, 한 가지 설정에서 관측된 값을 기록합니다.

5일 이동평균선이 20일 이동평균선을 위로 넘는 날 사고, 아래로 넘는 날 파는 규칙입니다. 보호 장치는 손절 −7% 하나만 두었습니다.

입력한 문장과 해석된 조건

널스탁에 아래 문장을 그대로 입력했습니다.

“KOSPI에서 5일 이동평균선이 20일 이동평균선을 위로 뚫는 골든크로스에 매수하고, 데드크로스가 나오면 매도하고 싶어요. 종목은 8개, 손절은 -7%로 설정해 주세요.”

문장에 없던 리밸런싱·익절·기간·자본은 화면의 선택지로 정했습니다(리밸런싱 안 함, 익절 안 함, 5년, 1,000만원).

  • 유니버스: KOSPI, 최대 8종목
  • 매수: 5일선-20일선 골든크로스
  • 매도: 5일선-20일선 데드크로스 / 손절 −7%
  • 무위험수익률 3.04%(기간 평균), 물가상승률 연 3.28%

결과

2022-01-03~2026-10-13 구간에서 관측된 값입니다. 수수료 0.015%, 슬리피지 0.05%, 거래세 0.23%→0.15%(시행일 기준), 배당소득세 15.4%를 반영했고 체결은 신호 다음 거래일 시가입니다. 전략과 벤치마크는 구성과 규칙이 다르므로 표의 차이는 우열을 뜻하지 않습니다.

속설 검증 #9 — 백테스트 결과
지표값
기간2022-01-03~2026-10-13 (1,166거래일)
자산1,000만원 → 7,683,857원
투자 수익률−23.16%
CAGR−5.37%
물가 반영 실질 CAGR−8.37%
최대 낙폭−49.35%
샤프 / 소티노−0.04 / −0.06
거래 수842회
승률26.6%
손익비0.95
평균 수익 거래+20.08%
평균 손실 거래−6.76%
평균 보유11일
최대 연속 손실20회
같은 기간 벤치마크KODEX 코스피 +140.08%

KOSPI, 2022-01-03~2026-10-13, 신호 다음 거래일 시가 체결, 수수료 0.015%·슬리피지 0.05%. 널스탁 백테스트 엔진 v16.40.0으로 2026-10-14에 계산했습니다.

청산 내역

거래가 끝난 이유별로 건수와 합산 손익을 나눴습니다. 손절은 장중 저가가 매수가의 −7% 선에 닿으면 발동하고 체결은 다음 거래일 시가라서 체결 수익률이 −7%와 다르게 찍힙니다.

속설 검증 #9 — 청산 방식별 내역
청산 방식건수비고
데드크로스409회평균 +8.96%, 198회가 수익, 합계 +33,214,715원
손절 −7%426회평균 −8.00%, 22회는 수익으로 끝남, 합계 −36,238,355원
백테스트 종료6회합계 +705,995원
상장폐지 처리1회합계 +1,519원

KOSPI, 2022-01-03~2026-10-13, 신호 다음 거래일 시가 체결, 수수료 0.015%·슬리피지 0.05%. 널스탁 백테스트 엔진 v16.40.0으로 2026-10-14에 계산했습니다.

직접 다시 계산해 대조한 것

화면의 결과를 그대로 믿지 않고, 매수·청산 기록을 가격(·재무) 데이터에서 독립적으로 다시 계산해 신호가 규칙대로 나왔는지 확인했습니다.

  • 매수 842건 중 무작위 30건을 골라 가격 데이터로 5일·20일 이동평균을 다시 계산했습니다. 30건 모두 전날까지 5일선이 20일선 이하였다가 신호일 종가에 위로 올라서 있었고, 체결은 그다음 거래일이었습니다.

눈에 띈 거래

거래한 482종목 중 129종목이 순이익(합계 +34,355,651원), 353종목이 순손실(합계 −36,671,777원)이었습니다. 수익이 가장 큰 세 종목의 합(+10,041,876원)을 제외한 나머지 거래의 합은 −12,358,019원이었습니다.

손절 중 최대 손실(−31.29%)은 매수 다음 날부터 거래정지(거래량 0)가 이어졌고, 재개일 종가가 정지 전보다 29.9% 낮았던 거래입니다.

읽을 때 주의할 점

이 기록은 특정 유니버스·기간·파라미터 한 가지 조합의 과거 시뮬레이션 결과입니다. 다른 기간이나 값에서는 다른 결과가 나올 수 있고, 한 규칙의 결과가 속설 전체의 성립 여부를 말해 주지도 않습니다. 미래 수익은 보장되지 않습니다.

자주 묻는 질문

이 결과로 “5일선이 20일선을 뚫으면 오른다”가 맞다 또는 틀리다고 말할 수 있나요?
아닙니다. 속설 하나를 규칙 하나로 옮겨 한 유니버스·한 기간에서 계산한 값이며, 규칙·기간·종목 수를 바꾸면 결과가 달라질 수 있습니다. 관측된 숫자를 기록한 것일 뿐 성립 여부를 판정하지 않고, 미래 수익은 보장되지 않습니다.
표의 벤치마크와의 차이는 무엇을 뜻하나요?
같은 기간 지수 ETF의 수익률(KODEX 코스피 +140.08%)과 전략 수익률(−23.16%)을 표시값 그대로 비교하는 용도입니다. 전략은 조건에 맞는 종목만 일정 수 보유하고 ETF는 지수 전체를 보유하므로 구성과 규칙이 달라 우열을 가리는 값은 아닙니다.

떠오른 전략 아이디어를 문장으로 입력하면 과거 데이터로 백테스트해 볼 수 있습니다.

전략 백테스트하기

연구노트는 과거 데이터에서 관측된 계산 결과를 기준일과 설정값과 함께 기록한 자료입니다. 특정 종목·전략의 매수·매도를 권유하거나 우열을 판단하지 않으며, 모든 결과는 과거 데이터 기반 시뮬레이션이므로 미래 수익은 보장되지 않습니다.