먼저 결론
- 변동성 돌파는 판단 대상 1,875일 중 812일(43%)에 사고팔았다.
- 비용을 빼고 그리면 +10.2%지만, 비용을 넣으면 -61.1%다. 방향 자체가 바뀐다.
- 이것은 과거 데이터로 규칙을 다시 돌려 본 재현이다. 실제 계좌로 굴린 성과가 아니다.
배경
변동성 돌파는 국내 자동매매 입문에서 가장 많이 복제된 규칙 중 하나다. 규칙은 짧다.
- 전날의 (고가 − 저가)에 0.5를 곱한다
- 오늘 시가에 그 값을 더한 가격을 장중에 넘으면 산다
- 그날 종가에 판다. 다음 날 다시 처음부터 판단한다
대상은 KODEX 200이고, 구간은 2019년 1월 2일부터 2026년 8월 21일까지다. 판단 대상 1,875일 가운데 실제로 진입한 날은 **812일, 43%**였다.
기록은 이렇다.
- 비용 없음: +10.2%
- 비용 반영: -61.1%
비용 드래그는 수수료 같은 비용 때문에 수익이 깎이는 정도를 말한다. 여기서는 그 폭이 약 74.8%p다. %p는 퍼센트끼리의 차이를 뜻한다.
비용은 오히려 후하게 잡았다
이 재현에 쓴 비용 가정은 다음과 같다.
- 매수 수수료: 1.5bp
- 매도 비용: 1.5bp
- 편도 슬리피지: 5bp
bp는 0.01%를 뜻한다. 1.5bp는 0.015%다. 슬리피지는 주문한 값과 실제로 체결된 값의 차이다.
이 숫자들은 개별 주식보다 훨씬 싸게 잡은 값이다. ETF는 증권거래세가 면제되기 때문에, 개별 주식을 팔 때 붙는 세금이 여기엔 없다. 즉 "비용을 크게 잡아서 결과가 나빠졌다"는 설명은 여기에 해당하지 않는다.
한 번 사고파는 데 드는 값을 합치면 이렇다.
- 살 때: 1.5bp + 5bp = 6.5bp
- 팔 때: 1.5bp + 5bp = 6.5bp
- 왕복 13bp = 0.13%
0.13%는 100만 원어치를 사고팔 때 1,300원이다. 누가 봐도 작은 값이다.
원인: 작은 값 × 812번
문제는 이 0.13%가 812번 붙었다는 점이다.
단순히 더하면 812 × 0.13% ≈ 105.6%다. 하지만 비용은 남은 돈에서 깎이므로 곱셈으로 쌓인다.
- 한 번 왕복할 때마다 돈은 0.9987배가 된다
- 이것을 812번 반복한다
- 0.9987 × 0.9987 × … (812번) ≈ 0.348배
즉 비용만으로 원금이 약 35% 수준으로 줄어든다. 여기에 규칙 자체가 벌어들인 몫을 곱해 보자.
- 비용 없음 곡선의 마지막 값: 약 110.2 (시작을 100으로 놓았을 때)
- 110.2 × 0.353 ≈ 약 38.9
상태보드의 비용 반영 곡선 마지막 값과 거의 그대로 맞아떨어진다. 드래그의 거의 전부가 거래 횟수의 산술로 설명된다는 뜻이다.
1년 단위로 바꿔 보면 감이 더 온다. 7년 8개월 동안 812번이면 1년에 약 106번이다. 연 106번 × 왕복 0.13%는 **1년에 약 13%**를 비용으로 내놓는 구조다.
"수수료 얼마 안 되잖아"라는 감각이 틀리는 이유
사람은 비용을 한 번의 크기로 느낀다. 0.13%를 보면 "무시해도 되는 수준"이라고 판단한다. 한 번만 보면 맞는 말이다.
하지만 전략의 성적을 정하는 것은 한 번의 크기가 아니라 크기 × 횟수다. 그리고 사람은 횟수를 잘 세지 않는다. "매일 신호를 본다"까지는 생각해도, "그중 43%에서 실제로 사고판다"는 계산까지는 잘 가지 않는다.
이 재현에서 규칙 자체가 만든 성적은 7년 8개월 동안 +10.2%다. 1년으로 나누면 2%가 채 되지 않는다. 그런데 같은 기간 비용은 연 13% 안팎으로 나간다. 규칙이 버는 속도보다 비용이 나가는 속도가 훨씬 빠르다. 그래서 부호가 바뀐다.
여기서 중요한 것은 규칙이 틀렸다는 판정이 아니다. 같은 규칙이라도 진입 빈도가 낮았다면 결과는 달랐을 것이라는 구조적 관찰이다. 반대로 말하면, 진입 빈도를 세어 보지 않은 백테스트는 비용을 셀 수 없다.
이 기록의 한계
- ETF의 종가·시가·고가로 재구성했다. 실제 체결 호가가 아니다.
- 장중에 목표가에 닿으면 그 가격에 체결됐다고 가정했다. 실제로는 갭이나 호가 공백 때문에 더 불리하게 체결될 수 있다. 즉 여기 나온 비용 반영 곡선도 낙관적인 쪽일 가능성이 있다.
- 배당과 세금은 반영하지 않았다.
- 다시 강조하면, 이것은 실계좌 기록이 아니라 과거 데이터로 돌려 본 재현이다.
결론이 아닌 기록
- 이 표본에서 변동성 돌파의 부호를 바꾼 것은 규칙의 정교함이 아니라 거래 횟수였다.
- 비용 가정을 개별 주식 수준(증권거래세 포함)으로 올리면 격차는 더 벌어진다. 이 재현은 ETF 기준의 가장 유리한 가정이다.
- 다음 질문: 진입 조건을 좁혀 거래 횟수를 절반으로 줄이면 남는 수익이 늘어나는가. 거래를 줄이면 비용도 줄지만 수익 기회도 함께 줄기 때문에, 겹쳐 보기로 확인해야 답할 수 있다.
횟수를 반으로 줄이는 상상을 결과로 두지 않기
이 절은 진입 조건을 실제로 좁혀 다시 돌린 기록이 아니다. 본문의 다음 질문, 즉 거래를 줄이면 비용도 줄지만 기회도 준다는 문장을 읽기 규칙으로만 푼다. 곡선은 여전히 과거 데이터로 규칙을 다시 올려 본 재현이다.
왕복 0.13%는 한 번만 보면 작다. 812번을 곱하면 작지 않다. 본문은 그 곱이 복리로 쌓여 비용 반영 곡선의 부호를 바꿨다고 맞췄다. 여기서 흔히 이어지는 상상은 "진입을 절반만 하면 비용도 절반이라 부호가 돌아온다"이다. 상상은 두 칸을 한 칸으로 접는다. 접히면 안 되는 이유는 횟수가 줄 때 규칙이 버는 몫도 같은 비율로 남는다는 보장이 없기 때문이다. 빠지는 거래가 비용을 많이 쓰던 손해 거래일 수도 있고, 드물게 있던 이익 거래일 수도 있다. 어느 쪽인지를 세지 않은 채 횟수만 반으로 적으면, 비용 칸의 산술을 수익 칸의 예측으로 바꾼 것이다.
그래서 겹쳐 보기의 최소 조건은 세 줄이다. 첫째, 비용 가정은 본문과 같은 ETF 기준의 왕복으로 고정한다. 둘째, 진입을 거르는 규칙 하나만 추가한다. 셋째, 거르기 전과 후의 진입 횟수, 비용 없음 끝값, 비용 반영 끝값을 같은 표에 남긴다. 비용 반영 끝값만 좋아 보이고 비용 없음 끝값이 더 크게 나빠진다면, 횟수 절감보다 기회 상실이 큰 것이다. 둘 다 좋아 보여도 한 구간의 결과일 수 있으니, 기간을 나눠 부호가 유지되는지를 본다. 이 절은 그 표를 채우지 않았다. 채우지 않은 표를 채운 것처럼 인용하지 않는다.
본문이 비용을 후하게, 즉 ETF라서 거래세가 없게 잡았다는 점도 상상의 범위를 제한한다. 개별 종목의 세금까지 올린 가정은 같은 횟수에서 드래그를 더 키운다. 키운 가정으로 "역시 안 된다"를 보강하지는 않는다. 이 재현의 결론은 이미 후한 가정에서 부호가 바뀌었다는 관찰이다. 더 가혹한 가정은 같은 방향의 여백이지, 새로운 발견이 아니다.
장중 도달 가격에 체결됐다고 둔 가정도 낙관 쪽에 있다. 호가가 비는 날의 체결은 목표 가격보다 불리할 수 있다. 그 불리함은 0.13% 왕복 밖의 추가다. 추가를 측정하지 않았으면 추가가 0인 것처럼 다음 실험을 설계하지 않는다. 0으로 둔 추가 위에서 횟수만 줄이는 실험은, 본문이 이미 낙관이라고 적은 체결을 그대로 계승한다.
가져갈 문장은 짧다. 한 번의 크기가 아니라 크기와 횟수의 곱이 부호를 바꿨다. 곱의 횟수 칸만 줄여 부호가 돌아온다고 말하려면, 수익 칸이 얼마나 같이 줄었는지가 같은 표에 있어야 한다. 표가 없는 동안 이 페이지의 역할은 812번이라는 횟수를 숨기지 않는 것이다. 횟수를 숨긴 채 왕복 0.13%만 보여 주면, 부호가 바뀐 이유가 다시 작은 수수료의 문제로 오해된다.