기술적 분석 7장: 거래량과 OBV는 주가보다 먼저 움직이는가?
가격이 오르는데 거래량이 줄어드는 경우와 가격 상승에 거래량이 함께 증가하는 경우는 같은 상승으로 보기 어렵습니다. OBV는 상승한 날의 거래량을 더하고 하락한 날의 거래량을 빼서 가격과 거래량의 방향을 하나의 시계열로 만듭니다.
OBV와 확인 신호
Section titled “OBV와 확인 신호”direction = df.groupby("code")["close"].diff().apply(np.sign)df["obv"] = (direction * df["volume"]).groupby(df["code"]).cumsum()df["obv_ma20"] = df.groupby("code")["obv"].transform( lambda x: x.rolling(20).mean())
df["obv_confirmation"] = ( (df["close"] > df["ma20"]) & (df["obv"] > df["obv_ma20"]))이번 분석에서는 가격이 MA20 위에 있고 OBV도 OBV20 위로 올라온 첫날을 확인 신호로 정의했습니다.
검증 구간에서 OBV 확인 신호는 2,653회 발생했습니다.
| 신호 | 발생 횟수 | 20일 양수 비율 | 평균 수익률 | 중앙값 |
|---|---|---|---|---|
| OBV 확인 | 2,653회 | 53.8% | +6.02% | +2.03% |
OBV 신호는 RSI 회복보다 평균과 중앙값이 모두 높았습니다. 하지만 양수 비율은 53.8%로 압도적이지 않았습니다. 거래량이 증가했다는 사실만으로 향후 상승을 확정할 수는 없습니다.
OBV의 역할은 단독 매수 신호보다 가격 신호의 신뢰도 확인에 가깝습니다.
- 가격이 MA20 위인데 OBV가 하락하면 상승의 내부가 약할 수 있습니다.
- 가격이 횡보하는 동안 OBV가 상승하면 매집 가능성을 살펴볼 수 있습니다.
- 급등일 거래량만으로 OBV가 높아졌는지, 여러 날 누적되어 높아졌는지 구분해야 합니다.
결과는 신호별 결과 CSV의 OBV 확인 행에서 확인할 수 있습니다.