VPIN:計算式、出来高バケット、フラッシュ・クラッシュを巡る議論
VPINが出来高時間のバケットとBulk Volume Classificationを使って注文フローの不均衡を要約する仕組みを解説します。仮想例の計算と、2010年のフラッシュ・クラッシュを巡る議論も確認します。
このガイドの内容VPINが測るものと、名称が示唆しすぎること
短い要約
VPINは、直近の同一出来高バケットにおける買い・売り出来高の絶対不均衡を、ローリング方式で要約する指標です。考案者は出来高時間で注文フローの毒性を監視する方法として提案しましたが、入力データと解釈には議論があります。この値は、取引が情報に基づく確率を直接観測したものでも、フラッシュ・クラッシュを予測すると実証された警告でも、単独で使える売買シグナルでもありません。
VPINが測るものと、名称が示唆しすぎること
VPINはvolume-synchronized probability of informed tradingの略です。Easley、López de Prado、O’Haraは、注文フローの毒性に関係する高頻度指標として導入しました。これは、流入する取引が情報を持つ側から来る可能性が高く、流動性提供者が逆選択を受けるおそれがある状況を指します。この方法は出来高の不均衡と取引強度を組み合わせ、固定した時計時間ではなく出来高時計に合わせて更新します(Easley, López de Prado, and O’Hara, 2012)。
名称は慎重に解釈する必要があります。計算されたVPINが0.32でも、次の取引が情報を持つトレーダーから来る確率が、較正済みで32%という意味ではありません。選択したデータ、分類方法、バケット、ウィンドウの規則のもとで推定した不均衡の正規化平均です。誰が情報を持つかを特定せず、情報に基づく取引と流動性需要による取引を区別せず、流動性提供者に実際の損失が生じたことも示しません。
VPINは符号付き注文フロー不均衡とも異なります。各バケットの不均衡の絶対値を先に取り、その後に平均するため、買いが多いバケットも売りが多いバケットも正の寄与になります。直近の出来高区間でフローがどの程度一方向だったかを要約しますが、最終スコアでは不均衡の方向を捨てます。古典的PINモデルのガイドは取引到着数に基づく関連指標を扱い.
出来高時間バケットは取引活動に応じて更新される
時計時間チャートは、毎秒や毎分など、一定間隔で観測値を取得します。出来高時計は、所定の取引量に達するごとに進みます。バケットを1,000枚に設定すると、取引が1,000枚に達するたびにバケットが閉じます。活発な時間帯なら20秒、静かな時間帯なら12分かかる場合があります。
各バケットには同じ総取引量が入る想定ですが、バケットがカバーする時計時間は変わります。その後、直近 \(n\) 個の出来高バケットを使うローリング・ウィンドウでVPINを計算し、新しいバケットが完成するたびに更新します。そのため、活発な時間帯は更新回数が多く、静かな時間帯は少なくなります。
出来高時間はサンプリング上の慣例であり、データから市場活動を取り除く方法ではありません。取引が速くなるとVPINウィンドウの進む速さが変わり、1時間あたりの観測数も一定ではなくなります。結果は、銘柄、取引セッション、バケット出来高、バケット境界をまたぐ取引の扱い、出来高時計の初期化に依存します。再現可能な分析では、こうした選択を明記します。
Bulk Volume Classificationはグループ単位で売買方向を推定する
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は標準的なティック・ルールより成績が劣ったと報告されています(Andersen and Bondarenko, 2015)。Lee–Ready取引方向分類のガイドでは別の方法とその限界を説明します。
VPINの計算式は各バケットの絶対不均衡を平均する
\(V\)を1バケットの目標出来高、\(\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倍してパーセントで示します。
ゼロに近い値は、対象バケット内で推定買い・売り出来高が比較的均衡していたことを意味します。値が大きいほど、ローリング出来高ウィンドウで推定フローが平均的に一方向へ偏っていたことを示します。絶対値によって符号が消えるため、その一方向のフローが買いか売りかは分かりません。
実装によって取引方向の推定方法、バケットの大きさ、ローリング・ウィンドウの長さ、サンプリング間隔、価格入力が異なる場合があります。実務上、これらは指標の定義の一部です。設定の異なる値をそのまま比較できるとは限りません。
4バケットの仮想計算は再現できる
4つの完全なバケットに、それぞれ \(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\) |
4つの絶対不均衡の合計は \(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とは値が異なります。純額では正負のバケット不均衡が一部相殺されますが、VPINは絶対値を合計するためです。
ここに示したバケット出来高と分類はすべて仮想です。算術を示す例であり、実在する資産、取引所、確率、市場イベントを推定するものではありません。BVCが推定値を作る場合、分類を再現できるように価格バーとボラティリティ尺度も記載する必要があります。
<!-- learn:illustration --> <!-- 文字のない概念図:同一出来高のバケットには異なる推定買い・売り比率が入り、ローリング要約では不均衡の大きさを残して方向を捨てます。市場データ、暴落確率、予測、売買シグナルではありません。 -->

フラッシュ・クラッシュを巡る証拠には公表論文間の議論がある
Easley、López de Prado、O’Haraによる2012年の研究は、VPINを注文フロー毒性の指標として提示し、短期ボラティリティとの関連を報告しました(Easley, López de Prado, and O’Hara, 2012)。先行する分析では、2010年5月6日のフラッシュ・クラッシュ前に値が上昇したことも記述しています(Easley, López de Prado, and 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, and 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\) は、1観測にまとめる取引量を決めます。小さいバケットは更新頻度を上げる一方、個別の急増や分類ノイズに推定値が敏感になりえます。大きいバケットは局所的な変動を平滑化し、更新頻度を下げます。適切な規模は市場の通常の活動量と研究上の問いに依存します。クラッシュを見てから値を選ぶと、警告性能を誇張するおそれがあります。
ローリング・ウィンドウ \(n\) は、直近の出来高をどれだけ含めるかを決めます。短いウィンドウは素早く反応しますがノイズが大きくなりえます。長いウィンドウは滑らかで反応も遅くなります。\(V\)と\(n\)の両方に加え、それに相当する時計時間の分布も報告してください。バケット数が同じでも、平穏な時間帯と活発な時間帯では経過時間が同じとは限りません。
BVCにも選択肢があります。時間バーの長さ、取引価格か気配価格か、ボラティリティ推定期間、価格変化がゼロの場合の扱い、仮定する分布です。取引単位で符号を付ける場合も、気配の時刻、ミッド価格との比較、ティック・ルール、各市場固有のメッセージ規約による分類誤差が影響する可能性があります。2015年の批判は、検証した環境で、ボラティリティの変化とBVCの系統的な分類誤差を結び付けています。 板情報に基づく注文フロー不均衡は、表示された売りと買いの変化を追う別の指標であり、このように分類した取引出来高とは異なります。
初期化も重要です。ローリング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チャートを2つ直接比較できますか?
データ、価格入力、取引分類、出来高バケットの大きさ、ローリング・ウィンドウ、初期化、その他の構成方法が十分に揃っている場合に限られます。設定が違えば値と更新速度も変わりえます。
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
VPINは直近の出来高バケットについて何を平均しますか?
答えを選ぶと解説を確認できます