속설 검증 #19 — PER·ROE 필터와 20일 신고가 돌파 백테스트 기록

업데이트

KOSPI 최근 5년(2022-01-03~2026-10-19)에 PER 12 이하·ROE 10% 이상 종목이 20일 신고가를 돌파할 때 매수하는 규칙(손절 −10%·익절 +18%·월간 리밸런싱)을 적용했더니 투자 수익률은 +32.35%, CAGR은 6.02%, 최대 낙폭은 −29.57%, 승률은 47.5%(667회)였고 같은 기간 KODEX 코스피는 +124.74%였습니다. 한 규칙·한 기간의 과거 값입니다.

검증한 속설과 규칙

속설 검증 시리즈 19번째 기록입니다. 검증한 말은 “싸고 수익성이 높은 종목이 신고가를 뚫으면 상승이 이어진다”입니다. 속설을 그대로 코드로 옮길 수는 없어서, 아래 규칙 하나를 정해 과거 데이터에 적용했습니다. 이 노트는 그 규칙이 맞는지 틀린지 판정하지 않고, 한 가지 설정에서 관측된 값을 기록합니다.

PER과 ROE로 먼저 걸러 낸 종목이 20일 신고가를 넘어서는 날 사서, 손절 −10%나 익절 +18% 중 먼저 닿는 쪽에서 정리하는 규칙입니다. 매월 리밸런싱과 12종목 한도가 함께 들어갑니다.

입력한 문장과 해석된 조건

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

“KOSPI 종목 중 PER 12 이하, ROE 10% 이상인 종목 가운데 20일 신고가를 돌파하는 종목을 매수하고 싶어요. 월간 리밸런싱, 12종목, 손절 -10%, 익절 +18%로 부탁드립니다.”

문장에 없어서 버튼으로 정한 값은 세 가지입니다. 리밸런싱 방식은 “종목 교체”와 “비중 조정” 중 보유 종목을 팔지 않고 비중만 균등으로 되돌리는 “비중 조정”을 골랐고, 백테스트 기간은 최근 5년, 초기 자본은 1,000만원입니다. 문장에 매도 규칙이 없어서 손절·익절 외의 청산 조건은 만들어지지 않았습니다.

  • 유니버스: KOSPI, 종목 선정 필터 “PER ≤ 12배” AND “ROE ≥ 10%”, 최대 12종목(종목당 8.33% 동일 비중)
  • 매수: 고가가 직전 20거래일 최고가를 상향 돌파(신고가를 고가 기준으로 옮김)
  • 매도: 손절 −10% / 익절 +18% / 월간 리밸런싱(비중 조정)
  • 적자 기업은 PER을 계산할 수 없어 해당 시점(전체 종목·기간의 23.2%)이 PER 판정에서 빠졌다는 안내가 나왔습니다.

결과

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

속설 검증 #19 — 백테스트 결과
지표값
기간2022-01-03~2026-10-19 (1,170일)
자산1,000만원 → 13,235,265원
투자 수익률+32.35%
CAGR6.02%
물가 반영 실질 CAGR2.66%
최대 낙폭−29.57%
샤프 / 소티노0.24 / 0.35
거래 수667회
승률47.5%
손익비1.11
평균 수익 거래+14.62%
평균 손실 거래−9.84%
평균 보유29일
최대 연속 손실8회
같은 기간 벤치마크KODEX 코스피 +124.74%

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

청산 내역

거래가 끝난 이유별로 건수와 합산 손익을 나눴습니다. 청산 667건의 손익을 모두 더하면 +3,235,265원으로 화면의 총 손익과 같습니다. 손절 331회 중 23회는 체결 수익률이 −15% 이하였고, 익절 209회 중 24회는 +25% 이상이었습니다(다음 거래일 시가 체결).

속설 검증 #19 — 청산 방식별 내역
청산 방식건수비고
익절 +18%209회207회가 수익, 합계 +32,243,682원
손절 −10%331회5회가 수익, 합계 −29,239,125원
리밸런싱 비중 조정 매도114회99회가 수익, 합계 +319,046원
백테스트 종료11회5회가 수익, 합계 −47,965원
상장폐지1회합계 +4,879원
데이터 종료1회합계 −45,252원

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

직접 다시 계산해 대조한 것

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

  • 거래 기록의 매수 724건을 가격·재무 데이터로 다시 계산했습니다. 월 첫 거래일(리밸런싱일)이 아닌 매수 515건은 515건 모두 체결 전날 고가가 직전 20거래일 최고가를 넘었고, PER은 0 초과 12 이하, ROE는 10% 이상이었습니다.
  • 월 첫 거래일 매수 209건 중 50건은 같은 조건이 전날 성립했고, 159건은 전날 돌파가 아니었습니다. 이 159건 중 118건은 최근 20거래일 안에 돌파한 적이 있었습니다. 리밸런싱일에는 엔진이 “빈 자리만 매수 조건 충족 종목으로 채운다”고 안내하며, 이날의 매수는 전날 돌파 여부와 따로 들어옵니다.
  • 재무 조건은 724건 중 PER 720건, ROE 705건이 직전 공시값 기준 재계산과 맞았고 어긋난 건은 모두 리밸런싱일 매수였습니다.

눈에 띈 거래

가장 큰 손실 거래(−31.19%)는 매수 뒤 하루 종가가 전일 대비 29.9% 내려오고 다음 거래일 시가에 손절이 체결된 경우입니다. 익절 쪽에는 +65.94%, +73.46%로 청산된 거래도 있었습니다.

읽을 때 주의할 점

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

자주 묻는 질문

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

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

전략 백테스트하기

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