본문 바로가기
기술지표

PVI(Positive Volume Index) 지표 군중 심리 파악 및 거래량 증가 분석 [지표 백과 049]

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

1. NVI의 영혼의 단짝, 대중의 광기를 추적하다: PVI의 탄생

앞서 우리가 다루었던 045번 NVI(Negative Volume Index) 지표가 거래량이 감소한 날에 조용히 움직이는 '스마트 머니(Smart Money)'를 쫓았다면, 이번에 다룰 PVI(Positive Volume Index)는 정확히 그 반대의 궤적을 추적합니다.

PVI는 오직 '거래량이 전일보다 증가한 날'에만 계산 스위치를 켜서 대중(Dumb Money)의 시장 참여도와 군중 심리를 누적합니다. "대중이 주도하는 거래량 터진 날의 움직임은 뇌동매매에 불과하다"며 무시할 수도 있지만, 퀀트 투자에서 PVI가 절대적으로 필요한 이유가 있습니다. 거대한 대세 상승장의 화려한 피날레(Climax)나, 폭락장에서의 무시무시한 패닉 셀링(투매)은 결국 군중의 폭발적인 거래량과 감정이 쏟아져 들어와야만 '압도적인 추세의 가속도'가 붙기 때문입니다.

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

PVI는 NVI와 완벽한 대칭을 이룹니다. 거래량의 '증가 여부'만을 조건문으로 사용하여 지표를 작동시킵니다.

Step 1. 거래량 증가 스위치 (On/Off)

당일의 거래량($V_t$)이 전일의 거래량($V_{t-1}$)보다 많을 때만 연산 스위치가 켜집니다. 만약 거래량이 전일보다 줄어들거나 같다면 스위치는 꺼지고(Off), 이날의 주가 변동은 PVI 지표에 아무런 영향을 주지 않습니다.

Step 2. 누적 곱셈 연산 (Cumprod)

스위치가 켜진 날(거래량 증가일)의 주가 등락률(%)을 구하여, 전일의 PVI 값에 곱해 더해줍니다. 기준이 되는 첫날의 PVI 값은 보통 1,000으로 시작합니다.

PVI수식

3. 실전 매매 활용법 (대중 심리 판독 테이블)

PVI 역시 노먼 포스백(Norman Fosback)의 제안에 따라, 본선에 255일 지수 이동평균선(EMA)을 시그널 선으로 씌워 대중의 에너지가 시장을 위로 맹렬하게 끌어올리고 있는지, 아니면 공포에 질려 던지고 있는지를 판독합니다.

시그널 형태 현상 설명 (대중 심리의 방향) 실전 매매 대응 전략 (Action)
PVI > 255일 EMA
(광기와 랠리)
PVI 본선이 255일 이평선 위로 강하게 솟구침 추세 가속 및 모멘텀 편승. 대중의 환호와 거대한 자금이 쏟아져 들어오며 주가를 밀어 올리고 있습니다. 상승의 가속도가 가장 강력한 슈팅 구간입니다.
PVI < 255일 EMA
(공포와 투매)
PVI 본선이 255일 이평선 아래로 뚫고 내려감 패닉 셀링(Panic Selling) 경고. 대중이 공포에 질려 엄청난 거래량과 함께 물량을 집어 던지고 있습니다. 떨어지는 칼날을 피하고 관망해야 합니다.
하락 다이버전스 주가는 상승하며 신고가를 찍는데, PVI는 꺾임 대중의 자금 고갈 (고점 징후). 주가는 꾸역꾸역 오르지만 더 이상 위에서 추격 매수해 줄 개미들의 자금이 말라붙었습니다. 상승 랠리의 끝이 다가오고 있습니다.

4. 차트에서 나타나는 수리적 특성: 오픈엣지테크놀로지(A394280) 분석 사례

대중의 폭발적인 거래량이 주가에 어떤 미친 가속도를 부여하는지 오픈엣지테크놀로지의 차트로 확인해 보겠습니다.

  • 응축기: 2024년 중순부터 2025년 하반기까지를 보면, 하단의 오렌지색 PVI 본선이 255일 시그널 선(푸른 점선) 위에서 완만하게 상승하며 군중의 에너지를 서서히 모으고 있습니다.
  • 대중의 광기와 수직 폭발: 진짜 하이라이트는 2025년 12월 말부터 2026년 초 구간입니다. 중단 패널에서 거래량이 이전과는 비교도 안 될 정도로 산처럼 폭발적으로 솟구칩니다. 이때 하단의 PVI 지표는 그 거대한 대중의 자금과 광기를 그대로 흡수하며 수직으로 치솟아 올라, 255일 선과의 간격(살구색 영역)을 엄청나게 벌려버립니다. 상단의 캔들 역시 이 PVI의 폭발적인 가속도에 올라타 거침없는 대세 상승 랠리(슈팅)를 뿜어내는 장관을 연출합니다.

5. 장점 및 한계

  • 장점: 강세장 막바지의 거대한 불꽃놀이(군중의 환호)와 약세장의 투매(대중의 공포)를 잡아내는 데 타의 추종을 불허합니다. 시장의 에너지가 폭발하며 가격에 가속도가 붙는 '진짜 돌파' 구간을 시각적으로 확인하는 데 탁월한 무기가 됩니다.
  • 한계: 가장 큰 약점은 PVI 단독으로 사용할 경우 대중의 잦은 뇌동매매 노이즈에 시스템이 함께 휩쓸리기 쉽다는 점입니다. 따라서 PVI는 절대로 혼자 쓰여서는 안 되며, 스마트 머니를 추적하는 NVI와 반드시 나란히 띄워놓고 '세력과 대중의 방향'을 동시에 교차 검증해야만 완벽한 진가를 발휘합니다.

6. 파이썬 구현 (거래량 증가 조건의 벡터 연산)

판다스(Pandas)와 넘파이(Numpy)의 np.where() 함수를 활용하여, 거래량이 전일 대비 증가한 날(조건이 참인 날)에만 등락률을 취하고, 그렇지 않은 날은 0으로 처리한 뒤 누적 곱(cumprod)을 구하는 깔끔한 벡터 연산 알고리즘입니다.

import pandas as pd
import numpy as np

def calculate_pvi(df):
    # 1. 일일 종가 등락률(pct_change) 도출
    pct_change = df['close'].pct_change()
    
    # 2. 거래량 증가 조건 (V_t > V_t-1) 확인
    cond_volume_up = df['volume'] > df['volume'].shift(1)
    
    # 3. 거래량이 늘어난 날만 등락률을 취하고, 줄어든 날은 0으로 처리
    pvi_change = np.where(cond_volume_up, pct_change, 0)
    
    # 4. 초기값 1000을 기준으로 누적 곱(cumprod) 산출
    df['PVI'] = 1000 * (1 + pd.Series(pvi_change, index=df.index)).cumprod()
    
    # 5. 노먼 포스백의 255일 지수 이동평균 시그널 선 추가
    df['PVI_Signal'] = df['PVI'].ewm(span=255, adjust=False).mean()
    
    return df

7. 실전 Tip 및 요약

시장을 완벽하게 읽어내는 노먼 포스백의 NVI + PVI 쌍끌이 전략의 핵심을 소개합니다.
하단의 NVI(스마트 머니)가 255일 선을 위로 뚫고 꾸준히 우상향하며 세력의 '매집'을 알립니다. 바로 이때, PVI(대중의 자금)마저 255일 선을 뚫고 폭발적으로 솟구친다면? 세력이 판을 깔아놓은 거대한 상승장에 드디어 대중의 거대한 자금과 광기가 불을 뿜으며 합류한 것입니다. 이 두 지표가 동시에 255일 선 위에 위치할 때, 주가는 그 어떤 저항도 가볍게 뚫어버리는 역사적인 대세 랠리를 펼치게 됩니다.


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