승률 76퍼센트인데 돈을 못 벌었어요 — 검색식 11개를 그대로 돌려 보니 (연구 14편)

이 글은 어느 강의의 내용을 옮긴 게 아니에요. 공개된 매매 조건을 코드로 옮겨 우리 데이터에 직접 돌려 본 결과만 적어요. 강의 자료나 화면은 싣지 않아요.

주식 검색식을 공개하는 강의가 많아요. “승률 99%”, “3년 검증 완료” 같은 말이 붙어 있죠. 그 조건들을 숫자 그대로 코드로 옮겨 한국 주식 전체에 걸어 봤어요. 구현할 수 있는 검색식 11개, 2018년부터 8년간, 신호 25만 건이에요.

1. 어떻게 쟀나

조건:    강의에서 말한 숫자 그대로 (이동평균 기간·거래량 배수·시가총액·엔벨로프·일목균형표 설정)
못 넣은 것: 유보율·영업이익률·외국인 지분율 — 우리 자료에 없어서 뺐어요(그만큼 신호가 더 많이 납니다)
매매:    ① 신호 다음날 시가 매수 → 20거래일 뒤 시가 매도
         ② 신호일 종가 매수 → 다음날 목표가(+1·2·3%) 지정가 매도, 손절선 닿으면 손절
비교:    같은 날 같은 조건(거래대금·가격)을 만족하는 종목 중 **아무거나 산 경우**와 비교
기간:    2018-01 ~ 2026-09 · 한국 주식 2,709종 · 왕복 30bp 차감

가장 중요한 건 무작위와 비교한다는 거예요. 상승장에 아무 종목이나 사도 오르니까, “이 검색식으로 샀더니 벌었다”는 말만으로는 아무것도 증명되지 않아요.

2. 결과 — 무작위를 이긴 검색식이 없었어요

무작위대비

검색식 신호 수 20일 보유 평균 승률
15강 엔벨로프+20선 회복 47건 +5.91% 47%
3강 상위패턴 15,800건 +0.70% 41%
11강 알고사자 67,313건 +0.39% 43%
4강 눌림목 105,590건 +0.09% 43%
6강 일목 2,705건 -0.21% 40%
12강 음봉 260건 +0.08% 42%
3강 하위패턴 1,185건 -1.54% 39%
3강 돌파패턴 11,450건 -0.99% 39%
14강 엔벨로프 하단 상향돌파 2,873건 -0.75% 42%
7강 일목+거래량10배 8,228건 -1.37% 35%
검색식 무작위 대비 코스피 대비
15강 엔벨로프+20선 회복 +2.77%p +3.77%p
3강 상위패턴 +0.12%p -1.76%p
11강 알고사자 +0.01%p -0.79%p
4강 눌림목 -0.49%p -1.29%p
6강 일목 -0.75%p -1.61%p
12강 음봉 -1.18%p -3.82%p
3강 하위패턴 -1.24%p -1.83%p
3강 돌파패턴 -1.29%p -2.16%p
14강 엔벨로프 하단 상향돌파 -1.56%p -1.40%p
7강 일목+거래량10배 -1.98%p -2.96%p

가장 좋은 게 +0.12%p예요. 사실상 0이고, 나머지는 −0.5에서 −2.0%p까지 밀려요. 거래량이 전날의 10배 터진 종목을 사라는 조건(7강)이 가장 나빴어요(−1.98%p).

3. 그런데 승률은 높아요

승률vs평균

종가에 사서 다음날 +1% 목표로 파는 방식으로 재면 승률이 65~76%가 나와요. “승률 99%”라는 말이 나오는 자리가 여기예요. 열 번 중 일곱 번은 목표를 채워요.

그런데 평균은 마이너스예요. 이유는 간단해요.

이기면    +1% — 거래비용 0.3% = +0.7%
지면      목표를 못 채운 날의 종가로 파니까 −3%, −5% 가 그대로

네 번 이겨서 2.8% 벌고 한 번 져서 4% 잃는 구조예요. 승률이 아무리 높아도 이기는 폭이 작고 지는 폭이 크면 평균은 마이너스가 돼요.

4. 손절을 걸면 나아지지만, 플러스까지는 안 가요

종가매매

목표 \ 손절 손절 없음 −1% −2%
+1% -0.613% -0.380% -0.349%
+2% -0.363% -0.061% -0.077%
+3% -0.162% +0.139% +0.103%

손절을 조일수록 평균이 올라가요(−0.61% → −0.38%). 손실 꼬리를 자르는 효과는 분명히 있어요. 그런데 플러스로 넘어가지는 않아요. 목표 3%·손절 1%처럼 몇몇 칸에서 +0.1% 안팎이 나오는데, 하루 0.1%는 지정가가 안 걸리거나 종가에 원하는 가격으로 못 사는 경우를 넣으면 사라져요. 종가 매매는 15시 20분 이후 단일가라 특히 그래요.

5. 상승장만 골라도 같아요

상승장(코스피가 200일선 위이고 60일 수익이 플러스)에 난 신호만 봐도 무작위를 이긴 건 하나뿐이었고(+0.53%p), 그 하나도 포트폴리오로 묶으면 연 −2.8%였어요.

6. 읽은 것

  • 승률과 수익은 다른 이야기예요. “승률 99%”는 목표를 1%로 잡으면 쉽게 나오는 숫자예요. 물어야 할 건 “이길 때 얼마 벌고 질 때 얼마 잃나”예요.
  • 비용이 생각보다 커요. 목표가 1%인데 왕복 비용이 0.3%면 수익의 30%가 비용이에요. 하루짜리 매매를 반복하면 비용만으로 연 수십 %가 나가요.
  • 조건이 복잡하다고 좋아지지 않았어요. 조건이 17개인 검색식도, 3개인 검색식도 결과는 같았어요. 오히려 거래량 10배처럼 극단적인 조건을 넣은 쪽이 더 나빴어요.
  • 검색식이 나쁜 종목을 걸러 주지는 않아요. 조건을 통과한 종목의 20일 수익 중앙값이 대부분 마이너스였어요 — 즉 절반 이상이 손실로 끝났어요.

7. 유의점

  • 유보율·영업이익률·외국인 지분율 조건은 우리 자료에 없어 뺐어요. 그만큼 제 검색식이 더 느슨해서 신호가 많이 나와요. 다만 그 조건들을 더하면 신호가 줄 뿐이고, 평균이 플러스로 뒤집힐 이유는 없어요.
  • 한 검색식은 조건 그대로는 신호가 0건이었어요(두 조건이 동시에 성립할 수 없었어요). 전사 과정의 오인일 수 있어 그 편은 결과에서 뺐어요.
  • 엘리어트 파동·피보나치처럼 수치 규칙이 없는 내용은 아예 구현하지 못했어요.
  • 2018년부터 8년이고, 상장폐지 종목은 마지막 거래일까지만 들어가요.

이 글의 숫자는 남의 결과를 옮긴 게 아니라, 조건을 코드로 옮겨 직접 다시 돌려 얻은 것입니다.