속설 검증 #18 — PER 필터와 RSI 반등 백테스트 기록

업데이트

KOSPI 최근 5년(2022-01-03~2026-10-19)에 PER 10 이하 종목 중 RSI 30 상향 재돌파 매수(손절 −8%·익절 +15%) 규칙을 적용했더니 투자 수익률은 +0.95%, CAGR은 0.20%, 최대 낙폭은 −23.26%, 승률은 37.8%(188회)였고 같은 기간 KODEX 코스피는 +124.74%였습니다. 한 규칙·한 기간의 과거 값입니다.

검증한 속설과 규칙

속설 검증 시리즈 18번째 기록입니다. 검증한 말은 “싼 주식이 과매도에서 올라오면 더 확실하게 오른다”입니다. 속설을 그대로 코드로 옮길 수는 없어서, 아래 규칙 하나를 정해 과거 데이터에 적용했습니다. 이 노트는 그 규칙이 맞는지 틀린지 판정하지 않고, 한 가지 설정에서 관측된 값을 기록합니다.

PER이 낮은 종목만 추리고, 그중 RSI가 30 아래까지 내려갔다가 다시 30 위로 올라온 종목을 산 뒤 손절 −8%나 익절 +15% 중 먼저 닿는 쪽에서 정리하는 규칙입니다.

입력한 문장과 해석된 조건

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

“KOSPI에서 PER 10 이하인 종목 중 RSI가 30 아래로 내려갔다가 다시 올라오는 종목을 매수 조건으로 설정해 주세요. 최대 보유 종목은 8개, 익절 예시값은 +15%, 손절 예시값은 -8%로 설정해 주세요.”

문장에 없던 값은 화면의 버튼으로 정했습니다. 리밸런싱은 하지 않았고, 백테스트 기간은 최근 5년, 초기 자본은 1,000만원입니다. 문장에 매도 규칙이 따로 없어서 청산은 손절·익절 두 가지뿐입니다.

  • 유니버스: KOSPI, 종목 선정 필터 “PER ≤ 10배”, 최대 8종목(종목당 12.5% 동일 비중)
  • 매수: RSI(14)가 30 선을 상향 재돌파
  • 매도: 손절 −8% / 익절 +15%
  • 적자 기업은 PER을 계산할 수 없어 엔진이 해당 시점(전체 종목·기간의 23.2%)을 PER 조건 판정에서 뺐다고 안내했습니다.

결과

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

속설 검증 #18 — 백테스트 결과
지표값
기간2022-01-03~2026-10-19 (1,170일)
자산1,000만원 → 10,095,098원
투자 수익률+0.95%
CAGR0.20%
물가 반영 실질 CAGR−2.98%
최대 낙폭−23.26%
샤프 / 소티노−0.16 / −0.21
거래 수188회
승률37.8%
손익비1.01
평균 수익 거래+14.46%
평균 손실 거래−8.40%
평균 보유48일
최대 연속 손실11회
같은 기간 벤치마크KODEX 코스피 +124.74%

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

청산 내역

거래가 끝난 이유별로 건수와 합산 손익을 나눴습니다. 익절 합산과 손절 합산이 거의 같은 크기로 맞섰고, 그 차이가 결과의 대부분입니다. 손절 112회 중 18회는 체결 수익률이 −10% 아래였습니다(다음 거래일 시가 체결).

속설 검증 #18 — 청산 방식별 내역
청산 방식건수비고
익절 +15%67회67회가 수익, 합계 +12,618,775원
손절 −8%112회수익으로 끝난 건 0회, 합계 −12,450,459원
백테스트 종료8회4회가 수익, 합계 −52,686원
상장폐지1회합계 −20,531원

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

직접 다시 계산해 대조한 것

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

  • 거래 기록의 매수 188건을 가격 데이터로 다시 계산했습니다. 188건 모두 체결 전날 RSI(14)가 30 아래에서 30 이상으로 올라온 상태였고, 같은 날 PER도 0보다 크고 10 이하였습니다.
  • 청산 188건의 손익을 합치면 +95,099원으로, 화면의 총 손익과 반올림 차이인 1원만 달랐습니다.

눈에 띈 거래

가장 큰 손실 거래(−36.50%)는 거래정지(가격 고정·거래량 0) 뒤 재개일 시가가 직전 종가보다 약 28% 낮게 열린 경우였고, 같은 종목의 다른 거래(−24.59%)도 하루 종가가 약 21% 내린 날을 거쳤습니다.

읽을 때 주의할 점

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

자주 묻는 질문

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

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

전략 백테스트하기

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