VPIN:公式、成交量分桶與閃電崩盤爭議
了解 VPIN 如何運用成交量時間分桶和批量成交量分類,概括訂單流失衡;跟隨假設計算,並評估圍繞 2010 年閃電崩盤的爭議證據。
本指南內容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%。它是按所選數據、分類方法、分桶和視窗規則,對估計失衡作出的標準化平均。它不會指出哪位交易者掌握資訊,不會區分資訊交易和因流動性需要而作的交易,亦不會證明流動性提供者實際蒙受損失。經典的[資訊交易機率(PIN)模型](/zh-HK/learn/probability-of-informed-trading-pin-model-explained)採用以交易到達次數為基礎的另一種框架。
VPIN 也有別於帶正負號的訂單流失衡。計算平均值前,它會先取每個分桶內失衡的絕對值,因此買盤較多及賣盤較多的分桶都會作正數貢獻。這樣能概括近期成交量區間內訂單流偏向單邊的程度,但最終分數不保留失衡方向。[訂單流失衡指南](/zh-HK/learn/order-flow-imbalance-limit-order-book-explained)介紹另一種根據顯示隊列變化計算的指標。
成交量時間分桶令更新依交易活動而變
牆鐘時間圖表會按固定間隔取樣,例如每秒或每分鐘一次。成交量時鐘則在指定數量的交易完成後才前進。若一個分桶設定為 1,000 張合約,每成交 1,000 張便會關閉;市況繁忙時可能只需 20 秒,市況淡靜時則可能要 12 分鐘。
每個分桶的目標是包含相同的總成交量,但所涵蓋的牆鐘時間會不同。VPIN 以最近 \(n\) 個成交量分桶構成的滾動視窗計算,並於新分桶完成時更新。因此,繁忙時段的更新次數較多,淡靜時段則較少。
成交量時間是一種取樣慣例,並非將市場活動從數據中移除的方法。交易加快會改變 VPIN 視窗前進的速度,每小時的觀察數目亦會隨之不同。因此,結果取決於工具、交易時段、分桶成交量、跨越分桶界線的交易如何處理,以及成交量時鐘如何初始化。要讓分析可重現,必須交代這些選擇。
批量成交量分類按組估計交易方向
VPIN 需要買方主動和賣方主動的成交量。如果有逐筆交易方向標籤,可將標籤彙總,但仍須考慮分類質素。缺少可靠標籤時,原始 VPIN 研究提出 Bulk Volume Classification(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\) 是標準常態累積分布函數。標準化價格變動為正時,較多成交量會分配予買方;變動為負時,較多則分配予賣方。如果標準化變動為零,公式會將成交量平均分配。
例如,假設一個時間柱有 1,000 張合約,標準化價格變動為 \(0.5\),那麼 \(\Phi(0.5)\approx0.6915\)。BVC 會將約 691.5 張合約分配為買入成交量,308.5 張分配為賣出成交量。小數結果屬估計值,並非觀察到零碎合約或已知交易意圖。結果取決於時間柱長度、價格量度、波幅尺度估計及分布假設。
BVC 根據價格變動將成交量分組分類,並不能確定組內每宗交易的方向。用於這項估計的時間柱,和其後使用的等成交量分桶屬不同步驟,研究應同時記錄。Andersen 和 Bondarenko 在 2015 年的比較指出,以其 E-mini S&P 500 期貨作基準時,對比由報價和成交構建的交易分類,BVC 的表現比標準 tick 規則差(Andersen 和 Bondarenko,2015)。[Lee–Ready 交易方向分類指南](/zh-HK/learn/trade-direction-classification-lee-ready-algorithm-explained)介紹另一種按規則分類的方法。
VPIN 公式對每個分桶的絕對失衡取平均
令 \(V\) 為每個分桶的目標成交量,\(\widehat V^B_i\) 和 \(\widehat V^S_i\) 分別為第 \(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,以百分比顯示。
接近零的數值表示相關分桶內估計的買入和賣出成交量相對平衡。數值較大則表示該滾動成交量視窗內,估計交易流平均較偏向單邊。由於絕對值會消除正負號,分數不會指出單邊方向是買入還是賣出。
不同實作可採用不同的交易方向分類方法、分桶大小、滾動視窗長度、取樣間隔和價格輸入。實際上,這些選擇都是統計量定義的一部分。按不同設定計算的數值並非自然可以直接比較。
假設的四個分桶計算可以重現
假設有四個完整分桶,每個分桶均含 \(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 日閃電崩盤前讀數偏高(Easley、López de Prado 和 O’Hara,2011)。這是將 VPIN 視為潛在市場壓力監察工具的出發點,並非它能可靠預測崩盤的證明。
Andersen 和 Bondarenko 在 2014 年的重建得出不同結論。他們報告 VPIN 對短期波幅的預測能力較弱、直到閃電崩盤後才見頂,而且預測資訊大多與交易強度有關。他們分析的是特定交易分類程序和實作,不能證明各市場的所有 VPIN 版本都一樣(Andersen 和 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 期貨的交易分類建立基準。他們報告基準結果支持 tick 規則多於 BVC,並指出在所測試的情況下,與波幅相關的分類錯誤可能解釋 VPIN 表面上的波幅預測能力(Andersen 和 Bondarenko,2015)。由於 VPIN 依賴估計買入和賣出成交量,這是重要的測量問題,但結果仍只適用於指定數據和程序。
Ke 和 Lin 於 2017 年發表的論文採用最大概似估計,發展另一種 VPIN 形式。他們認為原始指標在分桶成交量較小、知情交易不常出現時可能不穩定,並報告替代方法能提供較一致的估計(Ke 和 Lin,2017)。這項研究說明模型設計很重要,但沒有定論任何 VPIN 變體能否在不同資產、交易場所或市場狀況下成為可靠的即時預警。
整體而言,相關文獻不支持簡單地聲稱 VPIN “預測”或“未能預測”所有相關事件。研究者使用不同分類方式、數據、實作和測試,得到不同結果。這種分歧正是應交代統計量如何構建,並以簡單的活動和波幅基準測試增量表現的原因。
分桶大小、分類和取樣都會改變分數
每個分桶的成交量 \(V\) 決定每項觀察彙集多少交易。分桶較小會令更新更頻密,但估計可能較受個別交易突增及分類雜訊影響。分桶較大會平滑局部變化,但更新次數較少。合適尺度視乎市場一般活動和研究問題;看過崩盤後才選擇數值,可能會誇大預警能力。
滾動視窗 \(n\) 決定納入多少近期成交量。視窗較短會較快反應,但可能較雜訊;視窗較長則較平滑、反應較慢。請同時報告 \(V\) 和 \(n\),並說明相對應的牆鐘時間分布。市況平靜和活躍時,即使分桶數相同,經過時間也不相同。
BVC 還涉及其他選擇:時間柱長度、成交價或報價作為輸入、波幅估計視窗、零價格變動的處理方式,以及假設的分布。即使採用逐筆交易方向,報價時間、與中間價比較、tick 規則或場所專用訊息慣例造成的分類錯誤仍可能重要。2015 年研究的批評特別將其測試情境中的波幅變化,連繫到 BVC 有系統的分類錯誤。
初始化方式同樣重要。VPIN 滾動視窗從某個分桶界線開始;移動起點會改變哪些交易被歸入同一分桶,進而改變失衡。測試應量化這項敏感度,而非選取能在事件前顯示最大升幅的對齊方式。交易時間、最小價位、合約設計或交易場所組合出現結構變化,也會降低跨時期的可比性。
指派預警角色前先評估額外證據
嚴謹的 VPIN 研究應在查看目標事件前交代數據和演算法。列明市場和合約、交易時段、交易及報價篩選、價格輸入、交易方向程序或 BVC 設定、\(V\)、\(n\)、初始化規則,以及如何處理未滿分桶或跨越界線的交易。展示不同活動水平下,每個 VPIN 視窗涵蓋多少牆鐘時間。
若提出預測主張,應採用按時間先後劃分的樣本外設計,將 VPIN 與易觀察的基準比較,例如成交量、交易強度、已實現波幅和訂單流失衡。檢查納入這些量後,VPIN 是否提供額外資訊。報告誤報、漏報、領先時間、不確定性及不同門檻下的結果,而非只展示事後圖表,指出指標在某次選定的崩盤前上升。觀察事件後才選的門檻,不能證明曾提供事前預警。
若聲稱 VPIN 衡量訂單流毒性,應獨立測量逆向選擇或流動性結果,例如其後的價格衝擊、買賣差價、深度或做市商實際虧損,並說明如何識別這些結果。VPIN 和波幅相關,本身不足以驗證毒性解讀。高分可能源於分類成交量較偏向單邊、影響 BVC 的波幅增加,或成交量時鐘加快。
將 VPIN 視為有爭議的診斷工具,而非交易訊號
若研究者想追蹤近期等成交量視窗內估計的絕對訂單流失衡,VPIN 可作描述性摘要。如果構建方式透明,且與較簡單的量度比較後仍有額外貢獻,也可作為更全面分析的一項特徵。它的解讀範圍有限:概括近期成交量的一種特定分類方式。
高分本身不能證明有資訊交易者活躍、流動性危機即將出現、價格會朝某方向變動,或減倉、加倉可以獲利。低分也不能證明市場安全或流動性充足。任何實際用途都需要獨立驗證、合適控制變數、明確決策規則、考慮延遲的數據,以及切合實際的執行成本分析。
較合適的做法是連同測量假設和相反證據一併呈現 VPIN。讀者看到成交量時鐘、BVC 或替代分類器、滾動視窗和樣本外基準後,便能判斷這項統計量顯示甚麼,以及推論在哪裡止步。
相比之下,[Roll 價差估計量](/zh-HK/learn/roll-bid-ask-spread-autocovariance-estimator-explained)透過回報自協方差估算價差代理指標,回答另一個問題。
常見問題
Q1VPIN 讀數為 0.32,是否代表知情交易的機率是 32%,還是我應該停止交易?
不是。常用分數是估計絕對成交量失衡的標準化平均,並非交易或交易者掌握資訊的校準機率。它亦不提供方向,不能證明流動性危機即將出現,也不考慮你的執行成本或限制。任何決策規則都需要另行作樣本外驗證並配合風險控制。
Q2VPIN 使用相等的時間間隔嗎?
不是。滾動觀察以相等的成交量建構,因此每個分桶涵蓋的牆鐘時間會隨市場活動而變。BVC 可能會先在另外的時間柱中估計帶正負號成交量。
Q3VPIN 有否預測 2010 年 5 月 6 日的閃電崩盤?
已發表的證據仍有爭議。Easley、López de Prado 和 O’Hara 將讀數偏高作為可能具預警價值的證據;Andersen 和 Bondarenko 在其重建中報告,該量度於事件後才見頂,並質疑其預測資訊。其後的交流和評估在方法和解讀上仍有分歧。
Q4同一市場的兩張 VPIN 圖表可以直接比較嗎?
只有在數據、價格輸入、交易分類、成交量分桶大小、滾動視窗、初始化及其他構建選擇相當一致時才可以。不同設定可能產生不同分數和更新速度。
資料來源與延伸閱讀
回報問題
我們會準備一封包含本文連結的電郵。寄出後,Mark 才會收到你的回報
快速檢查
讀完指南後,用 3 道題檢查一下
問題 01
VPIN 在近期成交量分桶之間對甚麼取平均?
選擇答案即可查看解釋