기술적 분석 8장: 거래량 돌파의 강도

1장과 7장의 비교에서 거래량 돌파는 20일 평균수익률 +9.75%로 가장 높았습니다. 이번 장에서는 그 결과를 막연한 “거래량 증가”가 아니라 직전 20일 고점 돌파와 거래량 1.5배라는 재현 가능한 조건으로 분해합니다. 신고가 돌파는 강한 매수세의 결과일 수 있지만, 이미 많은 투자자가 같은 가격을 보고 있을 가능성도 있습니다.
돌파 신호 코드
섹션 제목: “돌파 신호 코드”previous_high20 = df.groupby("code")["close"].transform( lambda x: x.rolling(20).max().shift(1))volume_average20 = df.groupby("code")["volume"].transform( lambda x: x.rolling(20).mean().shift(1))
df["volume_breakout"] = ( (df["close"] > previous_high20) & (df["volume"] > volume_average20 * 1.5))기준선을 당일을 제외한 직전 20일로 만들었습니다. 당일 종가를 최고가 계산에 포함하면 돌파 여부를 판단할 때 미래 값을 일부 재사용하게 되기 때문입니다.
실제 결과
섹션 제목: “실제 결과”검증 구간의 거래량 돌파 신호는 2,726회 발생했습니다.
| 신호 | 발생 횟수 | 20일 양수 비율 | 평균 수익률 | 중앙값 |
|---|---|---|---|---|
| 20일 고점·거래량 돌파 | 2,726회 | 53.4% | +9.75% | +2.51% |
이번 표본에서 평균 수익률은 지표 중 가장 높았습니다. 그러나 중앙값은 +2.51%, 양수 비율은 53.4%, 25% 분위수는 -11.88%였습니다. 소수의 큰 추세 상승이 평균을 끌어올렸을 가능성과 함께, 돌파 후에도 상당한 손실 사례가 있었다는 점을 동시에 봐야 합니다.
인사이트
섹션 제목: “인사이트”돌파 매매는 손절 규칙이 전략의 일부입니다. 돌파가 실패해 가격이 다시 20일 고점 아래로 내려오면 신호가 무효화됐다고 판단할 수 있습니다. ATR을 이용해 돌파 종목마다 다른 손절 폭을 정하면 6장의 변동성 분석과도 연결됩니다.
거래량 돌파는 이번 표본에서 가장 높은 평균수익률을 보인 후보 필터였지만, 그 자체가 매수 추천은 아닙니다. 특히 장중 돌파와 종가 확정 돌파를 구분해야 하며, 다음 거래일 체결 가격을 사용해 재검증해야 합니다. 다음 장에서는 이런 조건을 이동평균·RSI·MACD와 모두 결합했을 때 단일 거래량 신호보다 실제로 나아지는지 확인합니다.