투자

코스피 스윙 전략 25가지를 검증했더니 — 지수 ETF 를 이긴 규칙은 없었다

2026년 11월 12일

요약

  • 코스피 보통주 542종목의 10년치 수정주가 일봉으로 눌림목, 돌파, 거래량 급증, 모멘텀 로테이션 등 스윙 규칙을 검증했다.
  • KODEX 200 을 사서 들고 있는 것보다 위험 대비로 나은 규칙은 하나도 없었다.
  • 그래도 무작위로 고른 종목보다 꾸준히 나은 규칙이 하나 있었다. 지금은 그 규칙(KP-Swing v2 Set 3)을 모의투자 계좌로 전진 검증하고 있다.

왜 이걸 했나

인터넷의 매매 기법 글에는 "승률 60%", "손익비 3" 같은 숫자가 흔하다. 직접 확인해 보기로 했다. 증권사 Open API 로 일봉을 모으고, 파이썬으로 백테스트 엔진을 만들어 규칙을 하나씩 돌렸다.

  • 데이터: 코스피 보통주 (관리·경고 종목, 우선주, ETF·리츠 제외, 시가총액 1,000억 이상) 542종목, 2016-08 ~ 2026-11 수정주가 일봉
  • 비용: 수수료 + 거래세 + 슬리피지로 왕복 약 0.37~0.43% (ETF 는 약 0.07%)
  • 진입: 신호가 나온 날 종가 (장 마감 뒤 시간외 종가매매)

검증 방식 — 무작위와 비교하기

백테스트 수익률만 보면 속기 쉽다. 상승장에서는 아무 종목이나 사도 수익이 나기 때문이다. 그래서 세 가지를 지켰다.

  1. 규칙은 결과를 보기 전에 고정한다. 결과를 보고 수치를 고치면 과거에만 맞는 규칙이 된다. 실제로 한 전략에서 144개 수치 조합 중 학습 기간 상위 조합이 검증 기간에 전부 무너졌다.
  2. 같은 날, 같은 수만큼 무작위로 고른 종목과 비교한다. 무작위 20번 중 상위 5% 안에 들어야 종목 선택 효과가 있다고 본다.
  3. 설계할 때 안 본 기간으로 다시 본다. 2023년 이후 데이터로 만든 규칙은 2017~2022년에서 따로 확인한다.

추가로 "오늘의 코스피200 구성종목"으로 과거를 돌리면 그동안 올라서 편입된 종목이 미리 들어가 있어 결과가 부풀려진다. 그래서 그날그날 추정 시가총액 상위 200종목을 유니버스로 썼다. 이 보정만으로 한 전략의 수익이 절반으로 줄었다.

결과 1 — 기준선: KODEX 200 단순 보유

기간방법연수익샤프최대 낙폭
2023~현재KODEX 200 보유32.8%0.99−47%
2023~현재200일선 아래면 현금26.5%0.89−41%
2017~현재KODEX 200 보유13.2%0.60−47%
2017~현재200일선 아래면 현금10.7%0.56−41%

시장 필터는 낙폭을 줄이지만 수익을 더 많이 깎았다.

결과 2 — 실패한 규칙들

규칙결과
다음 날 시가에 매수개별종목 수익은 밤사이(+12.6bp/일)에 나고 장중은 음수(−11.9bp/일). 시가 진입은 구조적으로 불리
추세 눌림목 스윙 (승률 55~65% 주장)실제 승률 45%, 42% 가 10일 시간 손절로 끝남. 무작위와 차이 없음
눌림목 3종목 포트폴리오2023~ 연 −10.3% (같은 기간 지수 +32.8%). 무작위로 골라도 똑같이 손실 → 원인은 청산 구조와 비용
거래량 급증 후 조정 매수, 반토막 매수학습 기간 최적 수치가 검증 기간에 무너짐
KP-Swing v1 Set 1~4승률·손익비 목표 미달, 무작위 대비 우위 없음

교훈은 두 가지다.

  • 며칠 단위 회전은 왕복 비용 0.4% 를 넘기 어렵다. 회전율이 가장 큰 제약이다.
  • 전략 글의 승률은 그대로 믿으면 안 된다.

결과 3 — 무작위를 이긴 규칙 하나: KP-Swing v2 Set 3

2023~현재2017~2022 (설계 때 안 본 기간)
연수익20.2%7.6%
최대 낙폭−31.3%
무작위 20회 대비상위 10~15%상위 0% (20회 전부 이김)
같은 기간 KODEX 20032.8%1.4%

규칙 요약

  • 대상: 그날 시총 상위 200, 20일 평균 거래대금 50억 이상, 60일선 위·상승, 최근 20일 안에 거래량 2배 양봉
  • 상대강도: 20·60·120일 수익률 점수가 상위 20%, 60일 수익률이 KODEX 200 보다 높음
  • 진입 두 가지 (각 최대 5종목)
    • 눌림목: 20일 고점에서 1.5 ATR 이내로 쉬고 거래량이 줄었다가, 양봉으로 직전 3일 고가를 넘을 때
    • 신고가: 양봉으로 직전 20일 최고가를 넘을 때
  • 크기: 손절에 걸려도 계좌의 1% 만 잃도록 (주식 수 = 자산 × 1% ÷ 1.8 ATR)
  • 청산: 손절 −1.8 ATR, +2 ATR 이후 본절, 최고 종가 −3.5 ATR 추적, 20일선 2일 연속 이탈, 10일째 손실이면 매도

솔직한 평가

  • 설계 때 안 본 2017~2022 에서 무작위를 전부 이긴 건 이 프로젝트에서 처음이다.
  • 하지만 2023 이후에는 유의하지 않고, 수익도 지수 보유보다 낮다. 낙폭도 −31% 로 작지 않다.
  • 상장폐지 종목이 데이터에서 빠져 있어 (생존 편향) 실제보다 좋게 나왔을 수 있다.

그래서 결론은 "좋은 전략을 찾았다"가 아니라 "돈을 걸기 전에 앞으로의 데이터로 다시 확인해 볼 만한 규칙 하나" 다. 다음 글에서는 이 규칙을 NH 모의투자 계좌로 매일 자동 주문하게 만든 과정을 쓴다.

정리

  • 기간을 정하지 않은 장기 투자라면 지수 ETF 보유가 가장 단순하고, 이번 검증에서는 가장 나았다.
  • 낙폭이 부담이면 매매 타이밍보다 ETF 비중을 줄이는 쪽이 확실하다 (비중 50% → 예상 낙폭 약 −24%).
  • 백테스트는 무작위 기준선, 고정한 규칙, 안 본 기간 세 가지가 없으면 믿기 어렵다.

※ 이 글은 개인 공부 기록이며 투자 권유가 아닙니다. 백테스트 결과는 미래 수익을 보장하지 않습니다.