
VPIN(オーダーフロー・トキシシティ)|「今の板は危険か」を定量化する指標
「板が薄い」「今の出来高は怪しい」——ベテランのトレーダーほど、こうした感覚的な判断を無意識に行っています。この感覚を定量化しようとした試みの1つが、**VPIN(Volume-Synchronized Probability of Informed Trading/出来高同期型の情報トレーダー確率)**です。結論から言えば、VPINは「今この瞬間の出来高構成が、情報優位を持つ参加者によってどれだけ偏っているか」を推定する指標であり、2010年のフラッシュクラッシュ前後で急上昇していたことが事後分析で示されたことから、機関の執行アルゴリズムに広く応用されています。この記事では、その理論的背景と、個人のEA開発における現実的な応用範囲を整理します。
VPINが解決しようとした問題
伝統的な板情報分析(オーダーブック分析)には、ある弱点があります。
- 板の厚み・注文数だけを見ても、「その注文が情報を持った参加者(インフォームド・トレーダー)によるものか、単なるノイズトレーダーによるものか」は区別できない
- 時間ベース(1分足、5分足など)の分析では、市場が活発な時間帯とそうでない時間帯で、同じ「1分間」の意味が大きく異なってしまう
- 出来高分析とFX で扱った出来高の見方も、時間軸で区切る限り、この問題から完全には逃れられない
VPINは、この時間軸の問題を「出来高ベースのバケット」に置き換えることで解決しようとしたアプローチです。
出来高同期(Volume-Synchronized)という発想
VPINの核心は、時間ではなく出来高で区切るという発想にあります。
- 時間で「1分ごと」に区切るのではなく、一定の出来高(例:総出来高の1/50)が消化されるごとに1つのバケットとする
- 相場が閑散としている時間帯は、1つのバケットの時間幅が長くなり、活発な時間帯は短くなる
- こうすることで、「情報が市場に取り込まれるスピード」に対して、より公平な物差しでバケットを区切ることができる
各バケットの中で、買い注文と売り注文の出来高の偏り(インバランス)を計算し、それを一定期間分積み上げて標準化したものがVPINです。
買い手主導・売り手主導の推定
各バケット内の出来高を、買い手主導と売り手主導に分類する必要がありますが、実際の取引データには「どちらが主導したか」のフラグが付いていないことがほとんどです。
- そこで用いられるのが、価格変化を正規分布に当てはめ、その変化幅から買い手主導・売り手主導の出来高比率を確率的に推定する手法(ブルボー・イージー・ミニチュア法などが知られる)
- 単純化すれば、「価格が大きく上昇したバケットは買い手主導の出来高が多かったと推定し、逆も同様」という考え方
- この推定自体に誤差は伴うが、大量のバケットで平均化することで、実用上意味のあるシグナルになるとされる
VPINが上昇する場面
VPINが高い水準にある状態は、次のような場面と関連づけられます。
- 大口の情報優位トレーダーが、一方向に継続的なポジションを積み上げている可能性がある局面
- 市場参加者の構成が偏り、流動性が薄くなりやすい 状態と重なりやすい
- 2010年のフラッシュクラッシュの事後研究では、暴落が発生する数十分前からVPINが継続的に上昇していたことが指摘され、注目を集めるきっかけになった
ただし、VPINが高いこと自体が「暴落を予知する」わけではなく、あくまで「市場の需給バランスが偏り、ショックに対して脆弱になりやすい状態」を示す確率的な指標である点には注意が必要です。
EA開発における現実的な応用範囲
個人のEA開発者がVPINを扱う際には、いくつかの制約を理解しておく必要があります。
- ティックデータの入手性:正確なVPIN計算には、板情報レベルの詳細な出来高・ティックデータが必要になることが多く、リテール向けMT4のヒストリカルデータでは精度に限界がある(ヒストリカルデータの品質とバックテスト)
- リアルタイム計算コスト:出来高バケットを継続的に更新する処理は、単純な移動平均線の計算より重く、EAの実行環境によっては工夫が必要
- 現実的な代替アプローチ:正確なVPIN値そのものを追うのではなく、「直近の値幅に対して出来高が急増している状態」を簡易的なプロキシとして使い、そうした局面でのエントリーを一時停止する、といった実装が現実的な落としどころになりやすい
完全な学術的定義を再現しようとするより、「情報の偏りが大きい局面を避ける」という発想そのものを、手に入るデータの精度に応じて簡易化して取り込む方が、個人開発では実用的です。
過大評価すべきでない理由
VPINは学術的にも実務的にも一定の評価を得ていますが、万能ではありません。
- 事後的に「暴落前にVPINが上昇していた」ことを示す研究と、事前に「これから暴落が起きる」ことを予測できることの間には、大きな距離がある
- 高頻度取引を専門とする機関と異なり、個人のEA運用でこの指標を精密に再現することの費用対効果は必ずしも高くない
- あくまで、オーダーフローとは という発想の延長線上にある1つの手法として位置づけるのが妥当
よくある誤解
Q. VPINが高いとエントリーしてはいけない? A. 一律の判断基準にはなりません。あくまで「需給の偏りが大きい状態」を示す確率的な指標であり、方向性を示すものではない点に注意が必要です。
Q. MT4だけでVPINを正確に計算できる? A. リテール向けのティックデータの精度・粒度には限界があり、学術研究で使われるような精緻な計算を再現するのは難しいのが実情です。簡易的なプロキシとしての応用が現実的です。
Q. 個人が使うにはハードルが高すぎる? A. 完全な実装は難しくても、「出来高が急増した局面ではエントリーを見送る」といった簡易ルールへの落とし込みは、多くの開発者にとって現実的な応用範囲です。
まとめ
- VPINは、時間ではなく出来高でバケットを区切り、情報優位トレーダーによる需給の偏りを推定する指標である。
- 2010年のフラッシュクラッシュの事後分析で注目され、機関の執行アルゴリズムに応用されてきた。
- 個人のEA開発では、正確な学術的実装よりも、「出来高が急増する局面を避ける」という発想の簡易的な取り込みが現実的。
- 過去の暴落と相関があったことと、将来を予測できることは別問題であり、過大評価は禁物。
板や出来高を「なんとなく」見るのではなく、こうした定量的な枠組みを知っておくことは、相場の構造を理解する上での引き出しを増やすことにつながります。
※ FXおよび自動売買には損失が生じる可能性があります。本記事は学術的な概念の一般的な解説であり、特定の投資判断や実装手法を推奨するものではありません。
「退場しない設計」について、まずは無料で受け取る。
ほかの記事を読む

