이 블로그 검색
Korea Industry Intelligence는 반도체, 이차전지, 석유화학, 건설기계, 제약바이오, 방위산업 등 한국 주요 산업의 구조를 공개 자료로 분석합니다.
추천 가젯
신호는 있는데 왜 못 먹는가 — 단기 신호 여덟 가지를 같은 잣대로 재봤다
어떤 규칙이 돈이 되는지 알아보려면 과거 데이터로 재보면 된다. 문제는 재는 방법이 결론을 만든다는 것이다. 같은 데이터로 같은 규칙을 재는데도 어떻게 재느냐에 따라 부호가 뒤집힌다.
하루 동안 한국 시장의 단기 신호 여덟 가지를 같은 잣대로 쟀다. 여덟 중 일곱이 어딘가에서 무너졌는데, 무너지는 자리가 놀랄 만큼 비슷했다. 이 글은 그 기록이다. 결론만 적으면 읽는 사람이 같은 함정을 다시 밟으므로, 무엇을 어떻게 잘못 쟀고 어디서 알아챘는지를 같이 적는다.
여덟 가지를 나란히
먼저 결과부터 본다. "처음 본 숫자"는 흔히 하는 방식으로 쟀을 때, "제대로 재면"은 아래에서 설명할 검사를 통과시킨 뒤의 값이다.
| 무엇을 쟀나 | 처음 본 숫자 | 제대로 재면 | 무너진 자리 |
|---|---|---|---|
| 간밤 미국 지수 → 다음날 방향 | 갭 +1.944% | 시가후 −0.126% | 갭에서 끝남 |
| 전날 거래대금 급증 → 다음날 | 갭 +1.199% | 시가후 −0.339% | 갭에서 끝남 |
| 급증 다음날 돌파 따라가기 | t 5.99 | 1틱에 앞 구간 음수 | 체결 비용 |
| 순간 급락 되돌림 받기 | t 51.08 | 전 조합 마이너스 | 측정 오류 |
| 호가 대신 지정가로 물러서기 | ETF +0.088% | 개별주 −1.374% | 대상마다 반대 |
| 손절 없이 목표만 정해 기다리기 | 승률 98.7% | 역방향은 누적 −42.5% | 손실을 미룸 |
| 지수 ETF 반복 스윙 | t 2.60 | 앞 절반 −0.105% | 구간 불일치 |
| 저평가 점수로 종목 고르기 | — | 무작위와 −0.019%p | 차이 없음 |
첫째, 우위가 갭에 있다
종가끼리 비교하면 하루가 한 덩어리로 보인다. 실제로는 두 조각이다. 장이 열리는 순간 이미 벌어져 있는 갭과, 그 뒤로 이어지는 시가후다. 연동이 갭에서 끝나는지 장중에도 남는지는 전혀 다른 이야기인데, 종가 기준 숫자만 보면 둘이 섞여 보이지 않는다.
이게 왜 결정적이냐면, 갭은 살 수 없기 때문이다. 개장 호가에 이미 반영돼 나오므로 그 값에 사려면 장이 열리기 전에 사야 하는데, 그럴 수단이 없거나 있어도 거래가 없다.
사례 하나: 간밤 미국장
미국 정규장은 한국 시간 새벽 5시에 끝난다. 한국이 9시에 열 때는 간밤 결과가 이미 나와 있다. 이 시차가 만드는 정보 순서는 인과가 분명해서, 검정하기에 좋은 대상이다.
2021년 9월 이후 1,213거래일로 재니 연동이 뚜렷했다. 미국 주요 지수가 전일 1% 넘게 내린 날, 다음 거래일 한국 대표지수는 평범한 날보다 0.95~1.04%p 낮았다(t 6.9~7.8). 반도체 지수든 대형주 지수든 기술주 지수든 비슷하게 강했다.
그런데 하루를 갈라 보니 이렇게 나왔다. 역방향 상장지수펀드의 1분 단위 자료 268거래일치를 썼다 — 지수가 아니라 실제로 사고팔린 값이다.
| 간밤 미국 지수 | 표본 | 갭 (개장 순간) | 시가후 (개장 뒤) |
|---|---|---|---|
| −2% 이하 | 49일 | +2.318% | −0.064% |
| −2 ~ −1% | 19일 | +0.979% | −0.285% |
| −1 ~ 0% | 34일 | −0.156% | −0.520% |
| 0 ~ +1% | 60일 | −0.468% | −0.083% |
| +1% 이상 | 105일 | −1.737% | +0.146% |
역방향 기준이라 부호가 반대다. 값이 플러스면 그날 시장이 내렸다는 뜻이다.
사례 둘: 전날 거래대금
다른 신호로도 같은 구조가 나오는지 봤다. 전날 거래대금이 평소의 몇 배였는지에 따라 다음 거래일을 가른 것이다. 국내 795종목의 2021년 이후 일별 자료다.
| 전날 거래대금 | 표본 | 갭 | 시가후 |
|---|---|---|---|
| 1배 미만 | 690,955 | +0.221% | −0.061% |
| 1~1.5배 | 171,311 | +0.178% | −0.030% |
| 1.5~2배 | 61,779 | +0.226% | −0.046% |
| 2~3배 | 43,018 | +0.331% | −0.110% |
| 3~5배 | 23,395 | +0.515% | −0.142% |
| 5~10배 | 12,679 | +0.535% | −0.234% |
| 10배 이상 | 8,842 | +1.199% | −0.339% |
이는 관계가 가짜여서가 아니라 진짜이고 잘 알려져 있기 때문에 생기는 일이다. 간밤 미국장도 전날 거래대금도 누구나 볼 수 있다. 볼 수 있는 정보는 값에 먼저 들어간다.
둘째, 호가 한 칸이 수수료보다 무겁다
비용을 이야기할 때 흔히 수수료와 세금만 센다. 국내 주식 왕복이 0.21% 남짓이고 그중 대부분이 매도 시 증권거래세다. 상장지수펀드는 거래세가 면제라 0.02%대로 떨어진다. 여기까지는 잘 알려져 있다.
그런데 국내 주식은 호가가 정해진 단위로만 움직이고, 그 한 칸의 크기가 가격대마다 다르다. 값이 쌀수록 한 칸이 차지하는 비중이 커진다.
| 대상 | 호가 한 칸 | 한 칸 비중 | 왕복 수수료·세금 | 왕복 두 칸 |
|---|---|---|---|---|
| 지수 상장지수펀드 (4만원대) | 5원 | 0.0125% | 0.024% | 0.025% |
| 역방향 상장지수펀드 (1천원대) | 1원 | 0.094% | 0.024% | 0.188% |
| 개별주 (9천원대) | 10원 | 0.110% | 0.208% | 0.220% |
| 개별주 (2천5백원대) | 5원 | 0.198% | 0.208% | 0.396% |
실제로 그랬다. 거래대금이 튄 다음날 위로 뚫을 때 따라 사는 규칙은 무손실 체결을 가정하면 거래당 +0.559%에 t 5.99가 나왔다. 그런데 매수를 한 칸 위, 매도를 한 칸 아래로 밀자 앞 구간(2021~2023)이 음수로 돌아섰다. 두 칸이면 t가 1.11로 주저앉고 세 칸이면 전체가 마이너스다. 한 칸에 0.26%p씩 사라진다.
돌파를 따라가는 진입은 성격상 슬리피지가 크다. 위로 뚫는 순간에 사겠다는 건 매도 호가가 비어가는 쪽으로 따라간다는 뜻이라, 한 칸은 낙관적이고 두세 칸이 현실에 가깝다.
그러면 물러서면 되지 않나
호가를 치지 말고 아래에 지정가를 걸어두고 기다리면 스프레드를 내주는 대신 받는 쪽이 된다. 그럴듯한 발상이고, 실제로 한쪽에서는 통했다.
| 대상 | 호가를 칠 때 | 두 칸 아래 지정가 | 결론 |
|---|---|---|---|
| 역방향 상장지수펀드 | −0.150% | +0.088% (체결률 93%) | 지정가가 낫다 |
| 개별주 52종목 | −0.856% | −1.447% | 호가가 낫다 |
한쪽 결과를 다른 쪽에 옮기면 틀린다. 이건 신호의 문제가 아니라 대상의 성질이 다른 문제다.
셋째, 재는 방법이 숫자를 만든다
가장 오래 붙잡고 있었던 것은 신호가 아니라 측정이었다. 네 가지 함정을 그날 실제로 다 밟았다. 순서대로 적는다.
(1) 극값에 체결됐다고 가정하면 — t 51
호가창이 얇은 순간에 시장가 매도가 들어오면 값이 한 번에 몇 칸 뚫린다. 그 가격은 그 종목의 정상 가격대가 아니니 곧 되돌아올 것이고, 아래에 지정가를 걸어둔 쪽이 그 차이를 가져간다. 이것도 그럴듯하다.
재봤더니 t가 51.08, 승률 80.9%가 나왔다. 이 숫자를 보고 기뻐하는 대신 코드를 다시 봤다. 그런 값은 발견이 아니라 오류의 신호다.
과연 틀려 있었다. 급락한 1분봉의 저가에 사서 이후 10분의 최고가에 판다고 계산하고 있었다. 양쪽 다 극값이라 전략이 아니라 봉의 변동폭을 재는 셈이었다. 극값 체결을 가정하면 어떤 규칙이든 흑자로 보인다.
매수·매도 가격을 봉을 보기 전에 정한 지정가로 바꾸고 겹치는 진입도 없애자, 12개 조합이 전부 마이너스가 됐다. 상장지수펀드는 비용이 9분의 1이라 부호가 뒤집히긴 했지만(+0.037%) 관문의 최소 우위 0.05%에 미달했다.
(2) 표본이 겹치면 — t 9.91이 2.25로
여덟 중 하나는 모든 검사를 통과했다. 전날 거래대금이 튄 종목을 다음날 조건 없이 사서 20거래일까지 들고 있는 규칙인데, 24,156거래에 거래당 +0.982%, t 9.91이 나왔다. 앞뒤 절반 둘 다 양수, 여섯 해 전부 양수, 상승장·하락장 둘 다 양수, 두 칸 슬리피지에도 t 4.59로 버텼다.
그런데 표본이 정말 24,156개인가? 하루에 50종목을 20일씩 들면 같은 시장 국면을 수십 번 겹쳐 센다. 어느 한 달의 하락을 수백 건으로 세면 t는 실제보다 훨씬 크게 나온다.
| 세는 방법 | 표본 | 평균 | t |
|---|---|---|---|
| 거래 하나씩 (흔히 하는 방식) | 42,626 | +0.739% | 10.71 |
| 같은 날 진입한 것을 하나로 묶어 | 1,360 | +0.816% | 7.21 |
| 20거래일에 한 번만 진입 (안 겹침) | 69 | +1.077% | 2.25 |
(3) 대조군을 안 두면 — +0.982%가 +0.124%p로
표본 구간의 시장이 올랐다면, 아무 종목이나 20일 들고 있어도 플러스가 나온다. 그러면 그 플러스는 신호의 몫이 아니다. 무작위로 고른 50종목에 같은 규칙을 그대로 돌려 견줬다.
| 종목 선정 | 표본 | 평균 | t |
|---|---|---|---|
| 전날 거래대금 급증 상위 | 42,626 | +0.739% | 10.71 |
| 무작위 | 45,944 | +0.614% | 9.93 |
| 차이 | — | +0.124%p | — |
(4) 날짜를 잘못 붙이면 — 미래를 참조한다
미국 증시의 하루는 날짜 라벨이 시작일 기준이다. "8월 19일 미국장"은 한국 시간으로 8월 19일 밤 10시 30분에 시작해 8월 20일 새벽 5시에 끝난다. 한국이 반응할 수 있는 것은 8월 20일 장이다.
이것을 같은 날짜끼리 붙이면, 아직 열리지도 않은 미국장으로 이미 끝난 한국장을 맞히는 계산이 된다. 흔한 실수이고, 나도 처음에 그렇게 쟀다.
바로잡자 결과가 더 좋아졌다. 상관계수가 0.176에서 0.392로 올랐다. 미리 정해둔 지수 하나만 특별하다던 앞선 결론도 정렬 오류의 산물이었고, 바로잡으니 세 지수가 비슷하게 강했다. 미래참조가 항상 결과를 부풀리는 것은 아니다 — 그냥 틀린 값을 준다.
곁들여 나온 것들
"오르면 3% 먹고 나온다"의 진짜 비용
목표만 정하고 손절을 두지 않는 방식은 승률이 압도적이다. 대형주로 재보면 96~99%가 목표에 닿는다. 거의 안 진다.
| 대상 | 승률 | 누적 | 가장 오래 물린 기간 | 그동안 최악 평가 |
|---|---|---|---|---|
| 대형 반도체주 | 98.7% | +176% | 746일 | −57.3% |
| 대형 전자주 | 96.8% | +60% | 1,182일 | −46.5% |
| 지수 상장지수펀드 | 97.0% | +69% | 1,089일 | −43.7% |
| 역방향 상장지수펀드 | 92.9% | −42.5% | 949일 | −84.7% |
승률 97%는 손실을 없앤 것이 아니라 실현하지 않고 미룬 것이다. 대가는 두 칸에 있다. 3년 중 2년을 한 포지션에 묶여 있었고, 그 도중 계좌는 반토막이었다. 그리고 대형 반도체주 누적 +176%는 그냥 들고 있었을 때의 +1,248%에 견주면 7분의 1이다.
규칙이 신호를 죽이는 경우
가장 뜻밖이었던 것. 거래대금 급증 종목을 매매 규칙 없이 그냥 사서 5일 들면 무작위 대비 +0.42%p였다. 그런데 여기에 "전일 종가보다 얼마쯤 내려오면 산다"는 눌림 진입 조건을 얹자 음수가 됐다.
이유는 단순하다. 급등한 다음날 눌림을 기다리는 것은 떨어지는 것만 골라 사는 셈이다. 좋은 조건을 붙였다고 생각한 규칙이 신호를 걸러내고 있었다. 신호를 재려면 규칙을 벗기고 먼저 재야 한다.
표본이 짧으면 결론이 뒤집힌다
처음에는 74거래일치 자료로 재고 있었다. 거기서 두 가지 결론을 냈는데 둘 다 5년 반으로 늘리자 뒤집혔다.
"손절이 값어치를 한다"고 봤던 것은 그 74일 구간의 우연이었다. "전날 거래대금이 몰린 곳은 오히려 나쁘다"고 봤던 것도 반대였다 — 늘려 보니 유일하게 무작위를 이긴 기준이었다. 표본이 모자라면 무엇을 재도 그 구간의 이야기를 듣는다.
남은 것은 규칙이 아니라 검사 목록이다
여덟 중 하나가 모든 검사를 통과했다. 다만 그 하나도 처음 본 숫자보다 훨씬 얇았다. 겹침을 제거하니 통계량이 4분의 1로 줄었고, 무작위와 견주니 순수 기여가 8분의 1이었다.
1. 하루를 갭과 그 뒤로 갈라 볼 것 — 살 수 있는 구간에 우위가 있는가
2. 호가 한 칸을 불리하게 밀어 볼 것 — 한 칸에 죽는 신호가 많다
3. 무작위 대조군을 옆에 둘 것 — 시장이 준 몫을 빼야 한다
4. 표본이 겹치지 않는지 볼 것 — 겹치면 확신이 부풀어 보인다
5. 날짜를 어느 쪽에 붙였는지 볼 것 — 미래참조는 조용히 들어온다
이 다섯을 통과하지 못하는 숫자는, 커 보여도 아직 아무것도 말하지 않는다.
그리고 하나 더. 통계량이 지나치게 크면 발견이 아니라 오류의 신호다. 51이라는 값이 나왔을 때 그것은 대단한 규칙을 찾은 것이 아니라, 살 수 없는 가격에 사고 팔 수 없는 가격에 판다고 계산했다는 뜻이었다. 좋은 숫자가 나오면 기뻐하기 전에 코드를 다시 보는 편이 낫다.
국내 상장 종목 795개의 2021년 1월 이후 일별 자료(약 132만 행)와 1분 단위 자료(약 50만 행)로 검정했습니다. 과거 데이터에 대한 통계 분석이며 특정 종목이나 매매 시점에 대한 권유가 아닙니다. 투자 판단과 그 결과는 투자자 본인에게 귀속됩니다.
작성: 2026. 8. 이알렉산드로
댓글
댓글 쓰기