속설 검증 #27 — 최근 20일 수익률 30% 초과 종목 매수와 20거래일 보유 후 매도 백테스트 기록

업데이트

KOSPI 최근 5년(2022-01-03~2026-10-23)에 최근 20일 수익률이 30%를 넘은 종목을 사서 20거래일 보유 후 파는 규칙(최대 10종목, 손절·익절 없음)을 적용했더니 투자 수익률은 −65.05%, CAGR은 −19.66%, 최대 낙폭은 −76.88%, 승률은 33.2%(527회)였고 같은 기간 KODEX 코스피는 +120.07%였습니다. 한 규칙·한 기간의 과거 값입니다.

검증한 속설과 규칙

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

20일 동안 30% 넘게 오른 종목만 사서 20거래일이 지나면 파는 규칙입니다. 후보는 최근 20일 수익률이 높은 순으로 고르되 30%를 넘은 종목만 남겼고, 코스피 최근 5년 구간에 최대 10종목을 같은 금액씩 담았습니다.

입력한 문장과 해석된 조건

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

“최근 20일 동안 30% 이상 오른 KOSPI 종목을 매수하고, 20거래일 보유한 뒤 매도하고 싶습니다.”

20일, 30%, 20거래일은 문장에서 직접 정한 값입니다. 문장에 없어서 버튼으로 정한 값은 항목마다 이렇습니다. 최대 보유 종목은 10종목(종목당 10%, 동일 비중), 리밸런싱은 하지 않음, 손절 기준은 두지 않음, 익절 기준은 두지 않음, 백테스트 기간은 최근 5년, 초기 자본은 1,000만원입니다.

  • 유니버스: KOSPI, 최대 10종목(종목당 10% 동일 비중)
  • 매수: 최근 20일 수익률 상위 종목 중 수익률 30% 초과인 종목
  • 매도: 보유 20거래일 경과. 손절·익절·리밸런싱은 두지 않음

결과

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

속설 검증 #27 — 백테스트 결과
지표값
기간2022-01-03~2026-10-23
자산1,000만원 → 3,494,877원
투자 수익률−65.05%
CAGR−19.66%
최대 낙폭−76.88%
샤프 / 소티노−0.29 / −0.41
거래 수527회
승률33.2%
손익비0.83
평균 수익 거래+35.38%
평균 손실 거래−18.94%
평균 보유22일
최대 연속 손실14회
같은 기간 벤치마크KODEX 코스피 +120.07%

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

청산 내역

거래가 끝난 이유별로 건수와 합산 손익을 나눴습니다. 청산 527건의 손익을 더하면 −6,505,121원으로 화면의 총 손익(−6,505,123원)과 2원 차이입니다(반올림). 청산 연도별 합계는 2022년 −3,868,496원, 2023년 +1,291,764원, 2024년 −3,432,565원, 2025년 +651,323원, 2026년 −1,147,147원입니다.

속설 검증 #27 — 청산 방식별 내역
청산 방식건수비고
보유 기간 만료 매도517회174회가 수익, 합계 −5,678,958원
백테스트 종료10회1회가 수익, 합계 −826,163원

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

직접 다시 계산해 대조한 것

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

  • 거래 기록의 매수 527건 중 526건은 체결 전 거래일 기준 20일 수익률이 30%를 넘었습니다(최저 30.38%, 중앙값 64.9%).
  • 나머지 1건은 원래 가격으로 계산하면 +1.54%입니다. 보유 직전 구간에 하루 −53%의 가격 단절이 있었고, 엔진은 이런 단절을 수정주가로 맞춘 값으로 수익률을 계산합니다.
  • 청산 527건의 손익 합은 화면의 총 손익과 2원 차이입니다(반올림).

눈에 띈 거래

가장 큰 이익은 +419.76%(+1,232,941원)였고, 금액으로 가장 큰 손실은 −74.44%(−765,992원)였습니다.

가장 큰 손실 거래는 가격 데이터상 561거래일 동안 거래량이 0이었던 종목입니다. 보유 기간이 끝났어도 팔 수 없다가 거래가 다시 열린 날 576거래일 보유로 청산됐습니다.

거래 수익률 분포는 +30% 이상이 65건, −30% 미만이 61건입니다. 이익으로 끝난 거래가 175건입니다.

읽을 때 주의할 점

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

20일·30%·20거래일, 10종목은 문장과 버튼으로 정한 값입니다. 다른 값에서는 결과가 달라질 수 있습니다.

이 문장의 '30% 이상'이 해석에서 빠지는 경우가 있어 그 부분을 고친 뒤 돌린 결과입니다. 같은 문장이 추가 매수 규칙을 붙여 해석되는 경우도 있어 값이 조금 달라질 수 있습니다(-64.99%).

가장 큰 손실 거래의 매도 체결가가 거래 재개일 시가와 다르게 기록된 이유는 확인하지 못했습니다.

자주 묻는 질문

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

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

전략 백테스트하기

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