이 글은 어느 강의의 내용을 옮긴 게 아니에요. 공개된 매매 조건을 코드로 옮겨 우리 데이터에 직접 돌려 본 결과만 적어요. 강의 자료나 화면은 싣지 않아요.
주식 검색식을 공개하는 강의가 많아요. “승률 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. 그런데 승률은 높아요

종가에 사서 다음날 +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년이고, 상장폐지 종목은 마지막 거래일까지만 들어가요.
이 글의 숫자는 남의 결과를 옮긴 게 아니라, 조건을 코드로 옮겨 직접 다시 돌려 얻은 것입니다.