속설 검증 #10 — ADX 25 이상 + EMA 교차 백테스트 기록

업데이트

KOSPI 최근 5년(2022-01-03~2026-10-13)에 EMA 5-20 골든크로스에 ADX 25 이상 조건을 더한 규칙(손절 −8%)을 적용했더니 투자 수익률은 −88.27%, CAGR은 −36.16%, 최대 낙폭은 −89.51%, 승률은 19.0%(966회)였고 같은 기간 KODEX 코스피는 +140.08%였습니다. 한 규칙·한 기간의 과거 값입니다.

검증한 속설과 규칙

속설 검증 시리즈 10번째 기록입니다. 검증한 말은 “추세 강도(ADX)를 확인하고 따라가면 가짜 신호를 피한다”입니다. 속설을 그대로 코드로 옮길 수는 없어서, 아래 규칙 하나를 정해 과거 데이터에 적용했습니다. 이 노트는 그 규칙이 맞는지 틀린지 판정하지 않고, 한 가지 설정에서 관측된 값을 기록합니다.

5일·20일 크로스에 “ADX 25 이상”이라는 확인 조건을 얹은 규칙입니다. 이동평균이 EMA이고 종목 수(10)와 손절(−8%)도 9번째 기록과 달라서 두 결과를 그대로 맞대기는 어렵습니다.

입력한 문장과 해석된 조건

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

“KOSPI 종목 중 ADX가 25 이상으로 추세 강도가 확인된 상태에서 5일 EMA가 20일 EMA를 위로 돌파할 때 매수하고 싶습니다. EMA 데드크로스가 나오면 청산하고, 10종목, 손절 -8%로 부탁드립니다.”

리밸런싱·익절·기간·자본은 문장에 없어 화면의 선택지로 정했습니다(리밸런싱 안 함, 익절 안 함, 5년, 1,000만원). ADX 기간도 문장에 없었는데, 엔진은 14일 방향지표(+DI·−DI)로 DX를 구한 뒤 6일 지수평활한 값을 씁니다.

  • 유니버스: KOSPI, 최대 10종목
  • 매수: EMA5-EMA20 골든크로스 + ADX 25 이상
  • 매도: EMA5-EMA20 데드크로스 / 손절 −8%
  • 무위험수익률 3.04%(기간 평균), 물가상승률 연 3.28%

결과

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

속설 검증 #10 — 백테스트 결과
지표값
기간2022-01-03~2026-10-13 (1,166거래일)
자산1,000만원 → 1,173,378원
투자 수익률−88.27%
CAGR−36.16%
물가 반영 실질 CAGR−38.18%
최대 낙폭−89.51%
샤프 / 소티노−1.40 / −1.90
거래 수966회
승률19.0%
손익비0.52
평균 수익 거래+15.39%
평균 손실 거래−6.27%
평균 보유11일
최대 연속 손실31회
같은 기간 벤치마크KODEX 코스피 +140.08%

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

청산 내역

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

속설 검증 #10 — 청산 방식별 내역
청산 방식건수비고
데드크로스595회평균 +2.04%, 164회가 수익, 합계 +3,415,743원
손절 −8%362회평균 −9.20%, 14회는 수익으로 끝남, 합계 −12,294,068원
백테스트 종료7회합계 +48,546원
상장폐지 처리2회합계 +3,158원

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

직접 다시 계산해 대조한 것

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

  • 매수 966건 전부를 가격 데이터로 다시 계산했습니다. 966건 모두 신호일에 EMA5가 EMA20을 아래에서 위로 넘었고 ADX가 25 이상이었으며, 체결은 그다음 거래일이었습니다.
  • ADX를 와일더식 14일 평활로 계산하면 같은 방식으로 뽑은 무작위 60건 중 12건이 25 미만(17.2~24.5)이었습니다. 평활 방식에 따라 필터를 통과하는 종목이 달라질 수 있습니다.

눈에 띈 거래

청산 손익을 해마다 합치면 2022년 −4,892,173원, 2023년 −1,317,242원, 2024년 −1,220,460원, 2025년 −880,099원, 2026년 −516,647원이었습니다.

거래한 493종목 중 96종목이 순이익(합계 +7,514,825원), 397종목이 순손실(합계 −16,341,446원)이었습니다.

한 데드크로스 청산 거래(+164.40%)는 보유 종목이 이후 나흘 연속 하한가를 맞기 열흘 전에 이미 정리된 경우였고, 손절 중 손실률이 가장 컸던 거래(−37.55%)는 매수 직전 이틀 연속 +30% 상승한 종목이었습니다.

읽을 때 주의할 점

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

ADX는 계산 방식(평활 기간·방식)에 따라 값이 달라지는 지표입니다. 이 노트의 값은 널스탁 엔진의 정의(14일 DX를 6일 지수평활)에 따른 결과입니다.

자주 묻는 질문

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

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

전략 백테스트하기

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