본문 바로가기
기술지표

PVT(Price Volume Trend) 지표: OBV의 단점을 보완한 거래량 트렌드 [지표 백과 041]

by 흔한트리이더 2026. 3. 13.
반응형

1. OBV의 투박함을 정교한 '비율'로 다듬다: PVT의 탄생

거래량 분석의 기초이자 대부 격인 지표는 단연 005번 OBV(On-Balance Volume)입니다. 하지만 OBV를 실전에 사용하다 보면 치명적인 수리적 맹점을 발견하게 됩니다. 주가가 단 0.1%만 올라도 그날 터진 엄청난 거래량을 전부 플러스(+)로 더해버리고, 반대로 주가가 하한가(-30%)를 가든 -1%만 빠지든 똑같이 당일 거래량을 전부 마이너스(-)로 빼버린다는 점입니다.

PVT(Price Volume Trend)는 이러한 OBV의 극단적이고 투박한 계산 방식을 완벽하게 보완하기 위해 탄생했습니다. PVT는 당일 주가가 변동한 '등락률(%)'만큼만 거래량을 곱하여 누적합니다. 주가가 10% 급등했을 때의 거래량과 1% 올랐을 때의 거래량에 확실한 차등(가중치)을 둠으로써, 그날의 수급이 주가에 미친 '실질적인 충격과 질적 가치'를 훨씬 더 정밀하게 계량해 내는 진화형 수급 지표입니다.

2. 수리적 원리와 계산 구조

PVT는 주가의 단순한 상승/하락 여부(방향)를 넘어, '얼마나 강하게(비율)' 움직였는지를 거래량에 곱하여 누적합(Cumulative Sum)을 구합니다.

Step 1. 실질 거래량(비율 가중치) 산출

당일의 종가($C_t$)가 전일 종가($C_{t-1}$) 대비 몇 퍼센트(%) 변했는지 변화율을 구한 뒤, 그 변화율에 당일의 전체 거래량($V_t$)을 곱합니다. (주가가 5% 올랐다면 거래량의 5%만 더하고, 3% 내렸다면 거래량의 3%만 뺍니다.)

Step 2. PVT 누적 지수 도출

이렇게 산출된 당일의 실질 충격량(가중 거래량)을 전일의 PVT 값에 계속해서 누적하여 더해줍니다.

PVT수식

3. 실전 매매 활용법 (수급 다이버전스 판독 테이블)

PVT는 투박한 OBV보다 주가의 실제 궤적에 훨씬 정교하게 반응하므로, 세력이 은밀하게 물량을 모으고 있는지(매집) 아니면 몰래 팔아치우고 있는지(분산)를 잡아내는 다이버전스(Divergence) 전략에 타의 추종을 불허합니다.

시그널 형태 현상 설명 (수급의 불일치) 실전 매매 대응 전략 (Action)
상승 다이버전스
(매집의 징후)
주가는 횡보하거나 고점을 낮추는데, PVT는 꾸준히 상승함 강력한 매수 대기. 세력이 주가를 누르며 은밀하게 물량을 쓸어 담고 있습니다. 조만간 위로 급등이 예상됩니다.
하락 다이버전스
(분산의 징후)
주가는 꾸역꾸역 고점을 높이는데, PVT는 꺾여서 하락함 매도 및 익절 준비. 개인 투자자들의 추격 매수세로 가격만 오를 뿐, 메이저 세력은 이미 물량을 넘기고(분산) 있습니다.
지표 자체의 추세 돌파 PVT 선에 그어둔 저항선을 PVT 자체가 뚫고 올라감 돌파 매매 진입. 주가가 차트상 저항선을 뚫기 전에, 수급(실질 거래량)이 먼저 폭발하며 선행 돌파하는 황금 타점입니다.

4. 차트에서 나타나는 수리적 특성: 동아에스티(A170900) 분석 사례

투박한 거래량 누적과 정밀한 비율 누적의 차이가 얼마나 치명적인지 동아에스티의 차트를 통해 적나라하게 비교해 보겠습니다.

  • OBV의 치명적 왜곡과 거짓 신호: 하단 패널의 점선인 OBV(주황색)를 보십시오. 2025년 11월 중순, 주가가 조금 오르는 구간에서 거래량이 터지자 OBV는 이를 전부 플러스로 더해 비정상적인 고점을 만듭니다. 그 결과, 2026년 1월 말 주가가 이전 고점을 뚫고 더 높은 신고가를 달성했음에도 불구하고, OBV는 이전 고점을 넘지 못하는 '가짜 하락 다이버전스(거짓 매도 신호)'를 발생시키는 치명적인 오류를 범합니다.
  • PVT의 완벽한 추세 추적: 반면 실선인 PVT(붉은색)는 이 노이즈를 완벽히 걸러냅니다. 11월의 왜곡된 거래량을 등락률 비율로 차분하게 필터링했고, 2026년 1월 말 주가가 신고가를 갱신할 때 PVT 역시 정확하게 전고점을 돌파하며 상승 추세를 확증해 줍니다. 가격의 실질적 에너지를 한 치의 오차 없이 추적해 낸 수급 지표의 승리입니다.

5. 장점 및 한계

  • 장점: 주가의 등락률(비율)과 거래량의 크기를 수학적으로 완벽하게 결합하여, 단순히 "올랐다, 내렸다"가 아니라 "얼마나 임팩트 있게 올랐는가"를 정밀하게 계량합니다. 기존 OBV의 과장된 노이즈와 휩쏘를 훌륭하게 필터링해 주는 가장 진보된 누적 거래량 지표입니다.
  • 한계: PVT 지표의 절대적인 수치(Y축 값)는 '언제부터 차트 계산을 시작했느냐'에 따라 완전히 달라집니다. 어떤 HTS에서는 PVT 수치가 100만이고, 파이썬 코드에서는 5천일 수 있습니다. 따라서 지표의 '수치 자체'에는 아무런 의미가 없으며, 오직 지표 선이 그리는 '방향(추세)'과 가격 차트와의 '다이버전스'에만 집중해야 하는 수리적 맹점을 명심해야 합니다.

6. 파이썬 구현 (등락률 기반 거래량 벡터 연산)

판다스(Pandas)의 pct_change() 메서드를 사용하여 전일 대비 종가의 백분율 변화를 구하고, 여기에 volume을 곱한 뒤 cumsum()으로 누적합을 구하면 복잡한 반복문 없이 단 한 줄의 깔끔한 퀀트 연산 코드가 완성됩니다.

import pandas as pd

def calculate_pvt(df):
    # pct_change()는 (오늘 종가 - 어제 종가) / 어제 종가의 변화 비율을 소수로 반환합니다.
    # 이 비율에 당일 전체 거래량을 곱하여 '실질 충격량'을 구한 뒤, 누적합(cumsum)을 취합니다.
    df['PVT'] = (df['close'].pct_change() * df['volume']).cumsum()
    
    # 첫째 날 연산에서 발생하는 결측치(NaN)를 0으로 안전하게 채워줍니다.
    df['PVT'] = df['PVT'].fillna(0)
    
    return df

7. 실전 Tip 및 요약

전문 퀀트 트레이더들은 가격 차트가 아닌 하단 패널의 PVT 지표 선 위에 직접 추세선(저항선과 지지선)을 긋습니다. 상단의 주가 차트에서는 캔들이 아직 전고점을 돌파하지 못하고 박스권에서 지루하게 횡보하고 있는데, 하단의 PVT 선이 자신이 만들어둔 저항선을 강하게 뚫고 먼저 치솟는다면? 이는 메이저 세력이 엄청난 자금으로 물량을 쓸어 담으며 '선행 폭발'을 일으켰다는 명백한 수급의 증거입니다. PVT는 주가보다 한 발 앞서 세력의 발자국을 잡아내는 가장 정밀한 엑스레이(X-ray)입니다.


*본 포스팅은 기술적 지표의 수리적 이해를 돕기 위한 참고 자료이며, 투자 결과에 대한 책임은 투자자 본인에게 있습니다.*
반응형