속설 검증 #13 — RSI·MACD 이중 확인 진입 백테스트 기록

업데이트

KOSPI200 최근 5년(2022-01-03~2026-10-15)에 RSI 50 상향 돌파와 MACD 골든크로스가 같은 날 겹칠 때 매수하는 규칙(손절 −7%·익절 +18%)을 적용했더니 투자 수익률은 +10.99%, CAGR은 2.20%, 최대 낙폭은 −36.46%, 승률은 34.2%(996회)였고 같은 기간 KODEX 200은 +159.09%였습니다. 한 규칙·한 기간의 과거 값입니다.

검증한 속설과 규칙

속설 검증 시리즈 13번째 기록입니다. 검증한 말은 “RSI와 MACD가 함께 신호를 보내면 상승한다”입니다. 속설을 그대로 코드로 옮길 수는 없어서, 아래 규칙 하나를 정해 과거 데이터에 적용했습니다. 이 노트는 그 규칙이 맞는지 틀린지 판정하지 않고, 한 가지 설정에서 관측된 값을 기록합니다.

RSI(14)가 50을 위로 돌파하는 날 MACD 골든크로스도 같은 날 발생해야 사는 규칙입니다. 전략을 두 번에 나눠 입력했습니다. RSI 조건만 있던 매수 가지에 MACD 조건을 덧붙이면 두 조건을 묶는 AND 연결이 생깁니다.

입력한 문장과 해석된 조건

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

“KOSPI200 종목 중 RSI가 50을 위로 돌파할 때 매수하고, MACD 데드크로스에서 매도해 주세요. 최대 10종목, 손절 -7%, 익절 +18%로 설정해 주세요.”

“기존 RSI 매수 조건은 유지하고, MACD 골든크로스도 같은 날 함께 발생해야 매수하도록 조건을 추가해 주세요. 다른 설정은 그대로 유지해 주세요.”

RSI 기간 14일과 MACD 12·26·9는 문장에서 지정하지 않은 기본값입니다. 기간·자본·리밸런싱은 화면에서 최근 5년·1,000만원·안 함으로 답했습니다.

  • 유니버스: KOSPI200, 최대 10종목 동일 비중
  • 매수: RSI(14)가 50을 아래에서 위로 돌파 AND MACD가 시그널선을 상향 돌파(같은 거래일)
  • 매도: MACD 데드크로스 / 손절 −7% / 익절 +18%

결과

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

속설 검증 #13 — 백테스트 결과
지표값
기간2022-01-03~2026-10-15 (1,168거래일)
자산1,000만원 → 11,098,661원
투자 수익률+10.99%
CAGR2.20%
물가 반영 실질 CAGR−1.04%
최대 낙폭−36.46%
샤프 / 소티노0.05 / 0.07
거래 수996회
승률34.2%
손익비1.03
평균 수익 거래+10.49%
평균 손실 거래−5.13%
평균 보유9일
최대 연속 손실22회
같은 기간 벤치마크KODEX 200 +159.09%

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

청산 내역

거래가 끝난 이유별로 건수와 합산 손익을 나눴습니다. 손절·익절은 장중 가격으로 판단하고 다음 거래일 시가에 체결하므로 실제 거래 수익률은 −7%·+18%와 같지 않을 수 있습니다.

속설 검증 #13 — 청산 방식별 내역
청산 방식건수비고
MACD 데드크로스551회합계 −4,160,477원
손절 −7%284회합계 −22,758,906원
익절 +18%152회합계 +27,563,215원
백테스트 종료9회합계 +454,828원

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

직접 다시 계산해 대조한 것

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

  • 매수 996건 전부의 신호일을 원시 종가로 대조했습니다. 996건 모두 RSI 50 상향 돌파와 MACD 골든크로스가 같은 날 확인되었습니다.
  • MACD 데드크로스로 청산한 551건도 하향 교차와 일치했습니다.
  • 상장 초기 매수 3건은 계산 라이브러리가 가격 변화가 없는 최초 RSI를 50으로 초기화한 데서 출발합니다. 14일 이력이 모두 쌓인 뒤에만 계산하는 방식과는 차이가 있습니다.

눈에 띈 거래

거래한 238종목을 종목별로 합산하면 순이익 111종목, 순손실 127종목이었습니다.

금액 기준 최대 손실(−298,847원, −21.39%)은 매수일 종가가 시가보다 낮고 다음 거래일에도 큰 폭으로 내린 뒤 손절된 거래였습니다. 체결 기록은 배당 재투자와 비용을 반영한 가격입니다.

읽을 때 주의할 점

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

앱의 KOSPI200 대상은 일별 시가총액 상위 200종목 방식으로 구성되어 실제 지수 편입·편출 규칙과 다를 수 있습니다. 후보가 빈자리보다 많았던 185일에는 최근 60거래일 수익률 순으로 우선 편입했습니다.

자주 묻는 질문

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

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

전략 백테스트하기

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