VPIN: 공식, 거래량 버킷과 플래시 크래시 논쟁
VPIN이 거래량 시간 버킷과 BVC로 주문흐름 불균형을 요약하는 방식을 살펴봅니다. 가상 계산과 2010년 플래시 크래시를 둘러싼 엇갈린 연구 결과, 지표의 민감성과 한계를 설명합니다.
이 글에서 다루는 내용VPIN이 측정하는 것과 이름이 과장할 수 있는 것
짧은 요약
VPIN은 최근 동일 거래량 버킷에서 매수·매도 거래량의 절대 불균형을 평균해 요약하는 지표입니다. 제안자들은 이를 거래량 시간으로 주문흐름 독성을 살펴보는 방법으로 소개했지만, 입력 자료와 해석에는 논쟁이 있습니다. VPIN은 실제 체결에서 관측된 정보기반 거래의 확률도, 검증된 플래시 크래시 경보도, 단독 매매 신호도 아닙니다.
VPIN이 측정하는 것과 이름이 과장할 수 있는 것
VPIN은 거래량 동기화 정보기반 거래 확률(volume-synchronized probability of informed trading)의 약자입니다. Easley, López de Prado, O’Hara는 이를 고빈도 시장의 주문흐름 독성과 관련된 지표로 제시했습니다. 주문흐름이 독성을 띤다는 것은 유동성 공급자가 역선택을 당할 수 있는 상황, 즉 상대방이 정보를 가진 거래자일 가능성이 높아 손실을 볼 위험이 커지는 상황을 뜻합니다. 이들의 방법은 거래량 불균형과 거래 강도를 결합하고, 정해진 시계 시간 대신 거래량 시계에 맞춰 갱신합니다(Easley, López de Prado, O’Hara, 2012).
다만 이름을 문자 그대로 해석해서는 안 됩니다. 계산된 VPIN이 0.32라고 해서 다음 거래가 정보기반 거래일 확률이 통계적으로 보정된 32%라는 뜻은 아닙니다. 선택한 자료, 매수·매도 분류법, 버킷 크기, 이동 구간 규칙에 따라 추정한 불균형을 정규화해 평균한 값입니다. 누가 정보를 보유했는지, 정보와 유동성 목적의 거래를 어떻게 구분하는지, 유동성 공급자가 실제 손실을 입었는지를 식별하지 않습니다.
VPIN은 부호 있는 주문흐름 불균형과도 다릅니다. 버킷별 매수·매도 불균형에 먼저 절대값을 씌운 뒤 평균하므로 매수 우위와 매도 우위가 모두 양의 값으로 반영됩니다. 따라서 최종 점수는 불균형의 방향을 버리고, 최근 거래량 구간에서 한쪽으로 치우친 정도를 요약합니다. 이에 비해 고전적 PIN 모형은 시간 구간별 매수·매도 도착 건수를 잠재 상태 혼합 모형에 적합합니다.
거래량 시간 버킷은 거래 활동에 따라 갱신됩니다
시계 시간 차트는 1초나 1분마다 관측값을 정리합니다. 거래량 시계는 정해진 양의 거래가 이뤄질 때 다음 구간으로 넘어갑니다. 버킷을 1,000계약으로 설정하면, 거래가 활발할 때는 20초 만에 닫힐 수 있고 한산할 때는 12분이 걸릴 수 있습니다.
각 버킷에는 같은 총 거래량을 담는 것이 목표입니다. 대신 버킷이 포괄하는 실제 시간은 달라집니다. VPIN은 최근 \(n\)개 거래량 버킷의 이동 구간을 이용해 계산하며 새 버킷이 완성될 때 갱신합니다. 따라서 시장이 활발할 때는 더 자주, 조용할 때는 덜 자주 새 값이 나옵니다.
거래량 시간은 표본을 자르는 관례이지, 시장 활동의 영향을 자료에서 제거하는 방법이 아닙니다. 거래가 빨라지면 VPIN 창이 진행되는 속도도 빨라지며, 시간당 관측 횟수 역시 달라집니다. 따라서 결과는 상품, 거래 세션, 버킷 거래량, 경계를 넘어가는 체결의 처리, 거래량 시계를 시작한 지점에 따라 달라집니다. 재현 가능한 분석이라면 이런 선택을 밝혀야 합니다.
대량 거래량 분류법은 체결 방향을 묶음 단위로 추정합니다
VPIN을 계산하려면 매수 주도 거래량과 매도 주도 거래량이 필요합니다. 체결 단위의 방향 라벨이 있으면 그 품질을 확인한 뒤 거래량을 집계할 수 있습니다. 신뢰할 수 있는 라벨이 없을 때 원래 VPIN 연구는 대량 거래량 분류법(Bulk Volume Classification, BVC)을 제안했습니다. BVC는 시간 구간의 가격 변화를 이용해 그 구간 거래량 중 매수와 매도가 차지하는 비율을 추정합니다.
BVC의 한 가지 일반적인 표현은 다음과 같습니다.
\[ \widehat V^{B}_t=V_t\Phi\!\left(\frac{\Delta P_t}{\widehat\sigma_{\Delta P}}\right), \qquad \widehat V^{S}_t=V_t-\widehat V^{B}_t, \]
여기서 \(V_t\)는 해당 시간 구간의 총 거래량, \(\Delta P_t\)는 그 구간의 가격 변화, \(\widehat\sigma_{\Delta P}\)는 가격 변화 규모를 추정한 값, \(\Phi\)는 표준정규 누적분포함수입니다. 양의 표준화 가격 변화는 거래량 중 매수 비중을 더 크게, 음의 변화는 매도 비중을 더 크게 배분합니다. 표준화한 변화가 0이면 이 식은 거래량을 절반씩 나눕니다.
예를 들어 가상의 시간 구간에서 1,000계약이 거래됐고 표준화 가격 변화가 \(0.5\)라면 \(\Phi(0.5)\approx0.6915\)입니다. BVC는 매수 거래량을 약 691.5계약, 매도를 약 308.5계약으로 배분합니다. 소수 계약은 추정값이지, 실제로 분할 체결된 계약이나 확인된 거래 의도가 아닙니다. 결과는 시간 구간 길이, 가격 척도, 변동성 규모 추정, 분포 가정에 따라 달라집니다.
BVC는 가격 변화에서 묶음 거래량의 방향을 추정하며, 묶음 안의 각 거래가 실제로 어느 쪽이 주도했는지를 확인하지는 않습니다. 이 추정에 쓰는 시간 구간과 이후 VPIN 계산에 쓰는 동일 거래량 버킷은 서로 다른 단계입니다. 연구에서는 두 단계의 설정을 모두 기록해야 합니다. 거래 방향 분류법은 추정한 체결 주도측 라벨이 가진 한계를 이해하는 데 도움이 됩니다. Andersen과 Bondarenko의 2015년 비교 연구는 E-mini S&P 500 선물 자료에서 호가와 체결로 만든 거래 분류 기준과 비교했을 때 BVC가 표준 틱 규칙보다 성능이 낮았다고 보고했습니다(Andersen and Bondarenko, 2015).
VPIN 공식은 버킷별 절대 불균형을 평균합니다
\(V\)를 버킷 하나에 담을 목표 거래량으로 두고, \(i\)번째 버킷의 추정 매수·매도 거래량을 각각 \(\widehat V^B_i\), \(\widehat V^S_i\)라고 하겠습니다. 완성된 버킷마다 \(\widehat V^B_i+\widehat V^S_i=V\)입니다. 널리 쓰이는 이동식 공식은 다음과 같습니다.
\[ \mathrm{VPIN}_t= \frac{1}{nV} \sum_{i=t-n+1}^{t} \left|\widehat V^B_i-\widehat V^S_i\right|. \]
분자는 가장 최근 \(n\)개 버킷에서 버킷별 매수·매도 차이에 절대값을 씌워 더한 값입니다. 분모 \(nV\)는 같은 구간의 전체 거래량입니다. 거래량이 모두 채워진 버킷을 쓰고 매수·매도 추정치가 음수가 아니면서 합계가 \(V\)라면 점수의 범위는 0에서 1입니다. 일부 화면은 여기에 100을 곱해 퍼센트로 표시합니다.
0에 가까운 값은 그 버킷들에서 추정 매수·매도 거래량이 비교적 균형을 이뤘다는 뜻입니다. 높은 값은 최근 거래량 구간에서 평균적으로 흐름이 한쪽에 더 치우쳤다는 뜻입니다. 절대값을 사용하므로 이 점수만으로 매수와 매도 중 어느 쪽이 우세했는지는 알 수 없습니다.
구현마다 체결 방향 분류법, 버킷 크기, 이동 구간 길이, 표본 간격, 가격 입력이 다를 수 있습니다. 실제로는 이런 선택이 통계량의 정의를 구성합니다. 설정이 다른 VPIN 값을 당연히 서로 비교할 수 있다고 가정해서는 안 됩니다.
가상의 네 버킷으로 계산을 재현합니다
완성된 버킷 네 개에 각각 \(V=100\)계약이 들어 있다고 하겠습니다. 하나의 명시된 체결 분류법을 적용한 뒤, 매수·매도 추정량은 다음과 같습니다.
| 버킷 | 추정 매수 | 추정 매도 | 절대 불균형 |
|---|---|---|---|
| 1 | 70 | 30 | \(|70-30|=40\) |
| 2 | 55 | 45 | \(|55-45|=10\) |
| 3 | 20 | 80 | \(|20-80|=60\) |
| 4 | 60 | 40 | \(|60-40|=20\) |
절대 불균형의 합은 \(40+10+60+20=130\)계약입니다. 전체 거래량은 \(4\times100=400\)계약이므로,
\[ \mathrm{VPIN}=\frac{130}{400}=0.325=32.5\% \]
입니다.
같은 구간에서 추정 매수는 총 205계약, 매도는 195계약입니다. 부호가 있는 순불균형은 \(205-195=10\)계약, 전체 거래량 대비 \(10/400=2.5\%\)에 불과합니다. 부호 있는 순수치에서는 버킷 간 매수·매도 우위가 서로 일부 상쇄되지만, VPIN은 버킷별 불균형의 절대값을 더하기 때문에 두 값이 다릅니다.
버킷 거래량과 분류 결과는 모두 설명을 위한 가정입니다. 계산법을 보여줄 뿐 특정 자산, 거래소, 확률, 시장 사건을 추정한 결과가 아닙니다. 추정치가 BVC에서 나왔다면 분류 단계를 재현할 수 있도록 가격 시간 구간과 변동성 규모도 밝혀야 합니다.
<!-- learn:illustration --> <!-- Text-free concept: equal-volume buckets contain different estimated buy/sell splits; a rolling summary keeps imbalance magnitude but discards direction. Conceptual, not market data, a crash probability, forecast, or trading signal. -->

플래시 크래시를 둘러싼 연구는 논쟁 중입니다
Easley, López de Prado, O’Hara의 2012년 연구는 VPIN을 주문흐름 독성 지표로 제시하고 단기 변동성과의 연관성을 보고했습니다(Easley, López de Prado, O’Hara, 2012). 앞선 분석에서는 2010년 5월 6일 플래시 크래시 전 VPIN이 높아졌다는 점도 설명했습니다(Easley, López de Prado, O’Hara, 2011). 이 결과가 VPIN을 시장 스트레스 감시용으로 보려는 동기이지만, 지표가 위기를 안정적으로 예측한다는 증거는 아닙니다.
Andersen과 Bondarenko는 2014년 재구성 분석에서 다른 결론을 냈습니다. 이들은 VPIN이 단기 변동성을 잘 예측하지 못했고, 플래시 크래시 당시에는 사건이 지난 뒤에 최고치에 도달했으며, 예측력이 상당 부분 거래 강도와 기계적으로 연결됐다고 보고했습니다. 분석은 특정 거래 분류법과 구현을 검토했습니다. 그렇다고 모든 시장의 모든 VPIN 구현이 동일하게 작동한다고 확정한 것은 아닙니다(Andersen and Bondarenko, 2014).
Easley, López de Prado, O’Hara는 2014년에 반론을 발표했습니다. 이들은 해당 재현 분석이 자신들이 제안한 방법론이나 결론을 검정한 것이 아니라고 주장하며 분석 방식과 해석에 이의를 제기했고, 시장 미시구조가 비교에서 중요하다고 강조했습니다(Easley, López de Prado, O’Hara, 2014). 이 논쟁은 구현과 실증 해석에서 의견이 갈렸다는 증거이지, VPIN이 조기경보 지표로 타당하다는 합의가 아닙니다.
Andersen과 Bondarenko는 이후 호가·체결 자료를 이용해 E-mini S&P 500 선물의 거래 분류를 평가했습니다. 이들은 자신들이 구성한 기준에서 틱 규칙이 BVC보다 나았고, 변동성 변화에 따른 분류 오류만으로도 해당 표본의 VPIN 변동성 예측력이 나타날 수 있다고 주장했습니다(Andersen and Bondarenko, 2015). VPIN은 추정 매수·매도 거래량에 의존하므로 이는 중요한 측정 문제입니다. 다만 특정 자료와 절차에서 얻은 실증 결과로 한정해 해석해야 합니다.
Ke와 Lin은 2017년 최대우도추정을 이용한 대안적 VPIN 공식도 개발했습니다. 이들은 원래 지표가 작은 거래량 버킷과 드문 정보기반 거래에서 불안정해질 수 있다고 분석했고, 대안 방식으로 더 일관된 추정치를 얻었다고 보고했습니다(Ke and Lin, 2017). 이 연구는 모형 구성이 중요하다는 점을 보여주지만, VPIN 계열 지표가 모든 자산, 거래장, 시장 국면에서 신뢰할 만한 실시간 경보라는 점을 확정하지는 않습니다.
전체 문헌을 보면 VPIN이 모든 관련 사건을 “예측했다”거나 “예측에 실패했다”고 단정할 수 없습니다. 연구마다 분류법, 자료, 구현, 검정이 달랐고 결과도 엇갈렸습니다. 이 차이는 지표를 구성한 방법을 밝히고, 단순한 거래 활동·변동성 기준선에 비해 추가 정보가 있는지 검정해야 하는 이유입니다.
버킷 크기와 분류법, 표본 간격이 점수를 바꿉니다
버킷 거래량 \(V\)는 관측값 하나에 거래를 얼마나 묶을지 정합니다. 작은 버킷은 더 자주 갱신되지만 특정 거래 집중과 분류 잡음에 민감할 수 있습니다. 큰 버킷은 국지적 변동을 평활화하는 대신 갱신이 느려집니다. 적절한 규모는 시장의 일반적인 거래 활동과 분석 목적에 따라 달라집니다. 사건을 확인한 뒤 크기를 고르면 사전 경보 성과를 실제보다 높게 보일 수 있습니다.
이동 구간 길이 \(n\)은 최근 거래량 중 어느 정도가 점수에 반영될지 결정합니다. 짧은 구간은 빨리 반응하지만 잡음이 커질 수 있고, 긴 구간은 더 부드럽지만 느립니다. \(V\)와 \(n\)을 모두 보고하고, 거래량 구간 하나가 서로 다른 시장 활동 수준에서 얼마나 긴 시계 시간을 포괄하는지 함께 제시해야 합니다. 버킷 수가 같아도 조용한 시기와 활발한 시기의 실제 경과 시간은 같지 않습니다.
BVC에는 시간 구간 길이, 체결가 또는 호가 입력, 변동성 추정 창, 가격 변화가 0인 구간 처리, 분포 가정 등의 선택이 더해집니다. 체결 단위 방향 라벨을 사용하더라도 호가 시각 동기화, 중간가격 비교, 틱 규칙, 거래장별 메시지 관례 때문에 분류 오류가 생길 수 있습니다. 2015년 연구의 비판은 검토한 표본에서 변동성이 높아질 때 BVC 체결 분류 오류가 체계적으로 달라진다는 점에 초점을 맞췄습니다. 오더북에서 표시된 매수·매도 잔량의 변화를 보는 주문흐름 불균형은 체결 분류 거래량을 쓰는 VPIN과 다른 측정치입니다.
초기화 방법도 영향을 줄 수 있습니다. 이동 VPIN 창은 정해진 버킷 경계에서 시작합니다. 시작점을 옮기면 어떤 거래들이 함께 묶이는지가 달라져 불균형과 점수도 바뀔 수 있습니다. 사건 전에 가장 크게 상승한 결과만 골라 보이지 말고, 이 민감도를 수치로 점검해야 합니다. 거래시간, 호가 단위, 계약 구조, 거래장 구성 변화가 있으면 시계열의 비교 가능성도 낮아질 수 있습니다.
경보로 해석하기 전에 추가 예측력을 검정합니다
세심한 VPIN 연구는 대상 사건을 확인하기 전에 자료와 계산 절차를 명시해야 합니다. 시장과 계약, 거래 세션, 체결·호가 필터, 가격 입력, 체결 방향 분류법 또는 BVC 설정, \(V\), \(n\), 초기화 규칙, 부분 버킷과 경계 체결의 처리 방식을 밝혀야 합니다. 시장 활동 수준별로 VPIN 창이 시계 시간상 얼마나 긴지도 보여주는 편이 좋습니다.
예측을 주장하려면 시간 순서를 보존한 표본 외 설계를 사용하고 거래량, 거래 강도, 실현변동성, 오더 플로우 불균형처럼 바로 관측할 수 있는 기준선과 비교해야 합니다. 그 수치들을 함께 고려한 뒤에도 VPIN이 추가 정보를 제공하는지 확인합니다. 소급해 선택한 위기 하나의 차트만 보여주기보다 오경보, 놓친 사건, 경보 선행 시간, 불확실성, 여러 임곗값에서의 결과를 보고해야 합니다. 사건을 보고 정한 임곗값은 사전 경보를 입증할 수 없습니다.
주문흐름 독성을 주장하려면 사후 가격 충격, 스프레드, 호가 잔량, 유동성 공급자의 실현 손실과 같은 유동성 결과를 별도로 측정하고, 각 결과를 어떤 방식으로 식별했는지 설명해야 합니다. VPIN과 변동성의 상관관계만으로 독성 해석이 검증되는 것은 아닙니다. VPIN 상승은 분류한 거래량이 한쪽으로 치우쳐도, BVC가 변동성 영향을 받아도, 거래량 시계가 빨라져도 나타날 수 있습니다.
VPIN은 매매 신호가 아니라 논쟁 중인 진단 지표입니다
연구자가 동일 거래량 구간에서 추정한 절대 주문흐름 불균형을 추적하려는 경우 VPIN은 기술적 요약치로 쓸 수 있습니다. 계산 방법이 투명하고 단순한 지표와 비교한 뒤에도 추가 설명력이 유지된다면 더 넓은 분석의 입력값이 될 수도 있습니다. 해석 범위는 제한적입니다. 구체적인 분류법으로 얻은 최근 거래량 요약치입니다.
높은 점수만으로 정보기반 거래자가 시장에서 활동한다거나, 유동성 위기가 임박했다거나, 가격이 특정 방향으로 움직인다거나, 포지션을 줄이거나 늘리는 편이 이익이라는 사실이 입증되지는 않습니다. 낮은 점수도 안전하거나 유동적인 시장임을 보증하지 않습니다. 실제 운영에 활용하려면 독립 검증, 적절한 통제변수, 명시적 의사결정 규칙, 지연을 반영한 자료, 현실적인 체결 비용 분석이 필요합니다.
VPIN은 측정 가정과 반대되는 연구 결과를 함께 제시하는 편이 적절합니다. 거래량 시계, BVC 또는 다른 분류기, 이동 구간, 표본 외 기준선을 밝혀야 독자가 지표가 보여주는 것과 추론할 수 없는 범위를 구분할 수 있습니다. 반면 Roll 스프레드 추정량은 수익률 자기공분산에서 스프레드 대용치를 추정해 다른 질문을 다룹니다.
자주 묻는 질문
Q1VPIN 0.32는 정보기반 거래가 32%라는 뜻인가요? 아니면 거래를 멈춰야 하나요?
아닙니다. 일반적인 점수는 추정한 절대 거래량 불균형의 정규화 평균이지, 거래나 거래자가 정보에 기반했을 사후 확률이 아닙니다. 방향이나 임박한 유동성 위기도 입증하지 않으며 거래 비용과 제약도 반영하지 않습니다. 어떤 의사결정 규칙이든 별도의 표본 외 검증과 위험 통제가 필요합니다.
Q2VPIN은 동일한 시계 시간 간격을 사용하나요?
아닙니다. 이동 구간은 같은 거래량으로 구성되므로 버킷이 포괄하는 시계 시간은 시장 활동에 따라 달라집니다. BVC를 쓰면 먼저 별도의 시간 구간에서 부호 있는 거래량을 추정할 수 있습니다.
Q3VPIN이 2010년 5월 6일 플래시 크래시를 예측했나요?
연구 결과는 논쟁 중입니다. Easley, López de Prado, O’Hara는 경보 가능성을 뒷받침하는 높은 값을 제시했습니다. Andersen과 Bondarenko는 재구성에서 지표의 최고치가 사건 뒤에 나타났고 예측력을 의심했다고 보고했습니다. 반론과 후속 연구에서도 방법론과 해석에 이견이 있습니다.
Q4같은 시장의 VPIN 차트 두 개를 바로 비교할 수 있나요?
자료, 가격 입력, 체결 분류법, 거래량 버킷 크기, 이동 창, 초기화 등 구성 방식이 충분히 같을 때만 비교하는 편이 타당합니다. 설정 차이가 점수와 갱신 속도를 바꿀 수 있습니다.
출처와 더 읽을 자료
내용 정정 제보
이 아티클 링크를 담은 이메일 초안을 준비합니다. 직접 보내야 Mark에 제보가 접수됩니다
QUICK CHECK
글을 다 읽었다면, 3문항으로 확인해보세요
Question 01
VPIN은 최근 거래량 버킷에서 무엇을 평균하나요?
정답을 고르면 바로 설명을 볼 수 있어요