본문 바로가기
주식/보조지표 활용

OBV(On Balance Volume) 활용법과 예제

by 로이(ROE) 2025. 3. 20.
반응형

OBV(On Balance Volume) 활용법과 예제

1. OBV란?

OBV(On Balance Volume)는 거래량을 활용한 기술적 분석 지표로, 거래량이 가격 상승 또는 하락과 함께 어떻게 움직이는지를 분석하는 데 사용됩니다.

  • OBV 증가: 가격 상승 시 거래량이 증가하면 강한 매수세 신호
  • OBV 감소: 가격 하락 시 거래량이 증가하면 강한 매도세 신호

2. OBV 계산법

OBV는 다음과 같이 누적되는 방식으로 계산됩니다.

OBV=OBV전일+Volume,(종가 상승 시)OBV = OBV_{전일} + Volume, \quad \text{(종가 상승 시)} OBV=OBV전일−Volume,(종가 하락 시)OBV = OBV_{전일} - Volume, \quad \text{(종가 하락 시)} OBV=OBV전일,(종가 변동 없음)OBV = OBV_{전일}, \quad \text{(종가 변동 없음)}

즉, 종가가 상승하면 해당 거래량을 더하고, 종가가 하락하면 거래량을 뺍니다.


3. OBV 활용법

① OBV 추세와 가격 비교 (Divergence)

  • 매수 신호: 가격은 하락하는데 OBV는 상승 → 상승 반전 가능성
  • 매도 신호: 가격은 상승하는데 OBV는 하락 → 하락 반전 가능성

② OBV 지지선 및 저항선 분석

  • OBV가 일정한 지점에서 지지를 받으면 매수 타이밍
  • OBV가 저항선에서 돌파하면 강한 상승 신호

③ OBV 이동 평균과 조합

  • OBV의 이동 평균(예: 10일, 20일)을 추가하여 골든 크로스(매수 신호) 또는 데드 크로스(매도 신호)를 분석

4. OBV 예제

① 가격과 OBV 다이버전스 예제

  • 주가가 하락하는데 OBV는 상승하는 경우 → 매수 신호
  • 주가가 상승하는데 OBV는 하락하는 경우 → 매도 신호

② OBV 지지선 활용 예제

  • OBV가 특정 구간에서 반등하면 해당 가격대에서 강한 지지 확인 → 매수 기회

③ 실제 데이터 예제 (파이썬)

아래는 파이썬을 활용한 OBV 분석 예제 코드입니다.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 예제 데이터 (실제로는 주가 데이터를 가져와야 함)
data = {
    "Close": [100, 102, 101, 105, 107, 110, 108, 109, 112, 115],
    "Volume": [1000, 1200, 1100, 1500, 1700, 2000, 1900, 1800, 2100, 2200]
}
df = pd.DataFrame(data)

# OBV 계산
df["OBV"] = np.where(df["Close"] > df["Close"].shift(1), df["Volume"],
                     np.where(df["Close"] < df["Close"].shift(1), -df["Volume"], 0)).cumsum()

# 시각화
plt.figure(figsize=(10,5))
plt.subplot(2,1,1)
plt.plot(df["Close"], label="Close Price", color='blue')
plt.legend()
plt.subplot(2,1,2)
plt.plot(df["OBV"], label="OBV", color='green')
plt.legend()
plt.show()

이 코드를 실행하면 가격과 OBV의 흐름을 시각적으로 분석할 수 있습니다.


5. 결론

OBV는 거래량을 활용한 강력한 보조지표이며, 단독으로 사용하기보다는 다른 지표(RSI, MACD 등)와 함께 활용하는 것이 효과적입니다.
가격과 OBV의 다이버전스를 분석하면 매수·매도 타이밍을 잡을 수 있습니다.
OBV가 저항선을 돌파하면 강한 상승, 지지선에서 반등하면 매수 기회로 활용 가능합니다.

💡 추가 질문이 있다면 알려주세요! 🚀

반응형

댓글