Order Flow Imbalance(OFI)とは?注文板の変化を読む
最良気配での注文追加、取消、約定、価格移動をOFIがどう符号化するか、また利益を保証するシグナルではない理由を解説します。
このガイドの内容OFIは最良気配で何が変わったかを表す
短い要約
Order flow imbalance(OFI、注文フロー不均衡)は、最良買い気配と最良売り気配にある数量・価格の変化を符号付きで合計する指標です。注文の追加、取消、約定、最良気配の移動が、取引を伴わずにOFIを変えることもあります。一定時間内に見える注文板の変化を要約するもので、非表示の需要すべてを測るものでも、次の価格方向を約束するものでもありません。
OFIは最良気配で何が変わったかを表す
注文板には、まだ約定していない買い注文と売り注文が並びます。最良買い気配(bid)は表示されている最も高い買値、最良売り気配(ask)は最も低い売値です。OFIは、この両側の先頭にある注文数量が全体として買い圧力を強めたか、売り圧力を強めたかを要約します。一般的な符号規約では、買い気配の強化や売り気配の縮小がプラス、逆方向の変化がマイナスになります。
Rama Cont、Arseniy Kukanov、Sasha Stoikovは、最良買い・売り気配におけるイベントからOFIを定義し、短い時間幅でのミッド価格変化との経験的な関係を調べました。彼らのデータでは、価格への影響の傾きは市場深度と逆方向に関係していました。これは特定のデータと研究設計における結果であり、すべての銘柄や取引所に共通する法則ではありません。定義や研究の範囲はCont、Kukanov、Stoikovの論文で確認できます。
「order flow」はさまざまな指標を指す言葉として使われます。ここでのOFIは、連続する板スナップショットの最良買い・売り気配の変化から計算する特定の指標です。市場全体にある買い注文と売り注文の恒常的な比率ではありません。データの違いは、注文板とTime and Salesの比較を読むと整理しやすくなります。前者は待機中の注文、後者は成立した取引を記録します。
符号は板の側と変化の向きで決まる
スナップショットnの最良買い気配の価格・数量を(P^B_n,q^B_n)、最良売り気配を(P^A_n,q^A_n)とします。直前の観測はn−1です。一般的なイベント寄与の式は次のとおりです。
e_n = 1(Pᴮₙ ≥ Pᴮₙ₋₁)qᴮₙ − 1(Pᴮₙ ≤ Pᴮₙ₋₁)qᴮₙ₋₁ − 1(Pᴬₙ ≤ Pᴬₙ₋₁)qᴬₙ + 1(Pᴬₙ ≥ Pᴬₙ₋₁)qᴬₙ₋₁
1(条件)は条件が成立するときだけ1、それ以外は0になる指示関数です。買い気配の価格が変わらなければ、その側の項は新しい数量から直前の数量を引いた差になります。同価格で買い注文が追加されればプラス、買い注文の取消や約定で数量が減ればマイナスです。買い気配が上昇したときは新しい最良買い気配の数量がプラス、低下したときは消えた旧気配数量がマイナスになります。
売り気配側では符号が逆です。同じ価格で売り数量が増えるとOFIはマイナスになり、取消や約定で売りの列が細くなるとプラスになります。売り気配が下がって買い手に有利な価格へ移る場合は、新しい売り気配数量がマイナス寄与になります。売り気配が上がる場合は、旧気配の数量がプラス寄与です。OFIの「プラス」はこの定義上、買い側に傾いた板変化を示すだけで、参加者の意図や約定結果を表すわけではありません。
時間窓内のOFIは、その間に起きたすべての(e_n)を合計します。単位はデータフィードが示す数量に従い、株数、契約数、ロット数などになります。深度や出来高などで除して正規化する場合、元の生の合計値とは別の尺度です。再計算できるように、式、単位、符号の取り方を明記します。
Queue imbalanceや売買高とは別の尺度
Queue imbalance(キュー不均衡)は通常、一時点の板を使います。例として(買い側数量 − 売り側数量) / (買い側数量 + 売り側数量)のような比率で、最良気配の数量を比較します。OFIは連続する板の変化を符号付きで合計します。同じqueue imbalanceが見える二つの板でも、その間に注文追加、取消、約定、価格移動のどれが起きたかによってOFIは異なります。
符号付き売買高は、買い手主導または売り手主導と分類された約定を数えます。新たに買い板を厚くした指値注文、売り板の取消、取引を伴わない気配価格の移動は、それだけでは売買高に入りません。一方、OFIは、最良気配に表示された数量の変化を使い、減少が約定か取消かを問わず板への影響を記録します。Contらは、同じ数量の成行売りと買い板の取消が、OFIの定義では買い列に同じ影響を持つ一方、売買高に反映されるのは前者だと説明しています。
4つのイベントを順に計算する
ある銘柄の最良買い気配が100.00で数量10、最良売り気配が100.02で数量8とします。最初のミッド価格は(100.00 + 100.02) / 2 = 100.01です。以下は式を確認するための仮定例であり、市場データや収益性の主張ではありません。
| イベント | 最良気配で見える変化 | OFIへの寄与 |
|---|---|---|
| 指値買い注文が買い列に追加 | bidは100.00のまま、数量10 → 14 | +4 |
| 買い列の一部が取消 | bidは100.00のまま、数量14 → 11 | −3 |
| 買い手主導の約定でaskを2単位消費 | askは100.02のまま、数量8 → 6 | +2 |
| 新しいaskが低い価格に現れ、数量は5 | ask 100.02 → 100.01、新しい列は5 | −5 |
最初の3つのイベントでは該当側の最良価格が変わらないため、寄与は数量変化と側ごとの符号で決まります。askの約定では数量が8 → 6なので−6 + 8 = +2です。この例では買い手主導の符号付き売買高も+2です。約定ではなくask数量2の取消であればOFIは同じ+2ですが、売買高はゼロです。たまたま数値が一致しても、二つの尺度は同じではありません。
最後のイベントではask価格が下がるため、価格改善の枝では新しい数量にマイナスを付けて−5とします。合計は+4 − 3 + 2 − 5 = −2です。bidは100.00のまま、askが100.01になった後のミッド価格は100.005です。この短い並びだけから相関、因果、予測力を結論づけることはできません。符号規則を検算するための例です。

ミッド価格との関係は深度と時間幅に依存する
ミッド価格は最良bidとaskの平均であり、注文数量を約定できると約束された価格ではありません。Contらは短い時間窓内のイベント寄与を合計し、同じ窓でのミッド価格変化と比較しました。分析対象ではOFIと価格変化におおむね線形の関係が見られ、価格インパクト係数は板の深度と関連していました。深度が薄いと、同程度のOFIがより大きなミッド価格変化と同時に現れることがあります。深い板は同じ変化を別の形で吸収し得ます。
この関係には条件があります。板のさらに深い価格帯の注文、新情報、マッチング規則、ボラティリティの変化、取引時間帯、他の取引所での動きもミッド価格に影響します。価格が複数段階を飛び越えることも、取消によって最良気配が動くことも、非表示注文との相互作用後に変化することもあります。ある銘柄・取引所・期間・頻度で推定した係数を別の市場へそのまま適用することはできません。
集計窓を変えると分析の問いも変わります。100ミリ秒のOFIはイベントの近い動きをまとめ、1分間のOFIはより多くの注文列の出入りを含みます。長い窓では反対方向の動きが相殺され、OFIがほぼゼロでもミッド価格が複数回動いている場合があります。窓の長さ、境界時刻のイベントの割り当て、境界ちょうどの処理、価格を最後の観測から取るのか同期したスナップショットから取るのかを報告してください。
同時点の説明と将来予測は明確に分けます。同じ窓でOFIとミッド価格変化を計算した結果は、その窓内での関係です。将来予測を主張する検証では、意思決定より前に受信済みのデータだけでOFIを計算し、判定時刻より後の区間を目的変数にします。予測区間の終わりに初めて分かった気配を使って、その区間中の動きを予測したことにすると、時間の整列に先読みが入ります。
フィードの再構成では順序と対象範囲を合わせる
イベントメッセージからOFIを計算するには、注文板を正しく再構成する必要があります。Nasdaq TotalView-ITCHは、Nasdaqのフィードに含まれる注文の追加、約定、取消、削除、置換などを順序付きメッセージで配信します。仕様書はNasdaqの執行システムが対象とする板への直接フィードを説明しており、全取引所を完全に統合した板ではありません。非表示注文の約定を示すメッセージは、表示注文の列に数量を追加するものではありません。TotalView-ITCH 5.0仕様書では、メッセージ種別と板の状態をプロトコルに沿って解釈する重要性が分かります。
計算前に、フィードの連番と適切なタイムスタンプに従ってイベントを並べます。取引開始時のメッセージと銘柄情報を読み込み、注文IDを保持し、部分取消と全取消を区別し、置換メッセージをフィードの仕様どおり反映します。メッセージ欠落、配信ギャップからの回復、取引停止、オークション、約定取消、セッションのリセットも確認します。メッセージを一つ失うだけで、次の同期まで最良価格の数量を誤る場合があります。
取引所のタイムスタンプ、データ提供者が受信した時刻、戦略がメッセージを確認した時刻は一致しないことがあります。モデルが受信時刻を使う一方、目的変数のミッド価格に取引所時刻を使うと、ネットワーク遅延によってシミュレーション上の順序が逆転することがあります。タイムゾーン、精度、取引時間カレンダー、同時刻イベントの扱いをそろえてください。定期スナップショットだけでは、二つの観測間に何件のイベントがあったか、数量減少が取消か約定かを判別できません。
単一取引所の板を、範囲を説明せずに統合ミッド価格と混ぜてはいけません。複数取引所で取引される銘柄では、Nasdaqの最良bid/askが全国最良とは限りません。結果に統合価格を使う場合は、タイムスタンプとNBBOの構成規則をそろえます。データが業者の画面やアグリゲーター経由なら、メッセージの省略、集約、遅延の有無を確認します。Level 2と市場深度のガイドは、表示フィードの対象範囲を確認する手掛かりになります。
検証では意思決定の時刻を決めておく
検証は具体的な問いから始めます。最良気配の純変化は1秒後のミッド価格と関係するか、それともスプレッド、ボラティリティ、開始時の板数量を考慮した後も情報を加えるか。銘柄と取引所、取引時間、データ頻度、結果を測る時間幅、セッションの除外条件を事前に定めてください。グラフを見てから期間を選ぶと、偶然よく見える仕様を拾うおそれがあります。
予測を検証する場合、各特徴量は意思決定時刻以前に利用できたメッセージだけで構成します。確定済みの窓のOFIまたは遅行させたOFIを使い、リターンやミッド価格変化はその時刻以降で測ります。学習とテストは時系列順に分け、日、取引量、スプレッド、深度ごとに安定性を確認します。連続するイベントの依存関係を無視すると、実際より独立した観測が多いように見えることがあります。
OFIを単純な比較基準と照らします。直近のミッド価格変化、スナップショットのqueue imbalance、符号付き売買高、スプレッド、板の深度などです。同じサンプル、タイムスタンプ、時間幅を使い、基本的な特徴量を加えた後にOFIが説明力や確率の校正を改善するかを見ます。生の回帰係数が有意かだけでは不十分です。確率を出す場合は、サンプル外の校正と不確実性も評価します。
統計的な結果だけでは約定可能性は分かりません。askで買いbidで売ればスプレッドを負担し、指値注文は未約定のままか、価格が不利に動くときにだけ約定する可能性があります。手数料、リベート、遅延、先行する注文列、マーケットインパクト、取引可能数量、在庫を見積もります。OFIはリサーチ、マーケットメイク、執行分析の入力にはなりますが、それ自体が売買指示になるわけではありません。
表示板・取引所・コストに関する限界
最良気配だけを使うOFIは市場の一部しか見ません。2段目以降の深度が値動きを抑えたり加速させたりすることがあります。非表示注文、リザーブ数量、ダークプールの関心、フィード到達前の取消、新条件に反応して現れる流動性は完全には見えません。画面上の大きな数量が注文到着前に消えることもあり、最良気配の小さな数量だけで市場全体が薄いとは判断できません。
データの品質や意味は銘柄と取引所ルールで変わります。株式の注文単位イベントフィードは、先物の価格別集計、中央集約型の暗号資産板、複数取引所に分散したオプション気配とは異なります。契約単位、ロット、呼値、オークション、キューの優先順位、implied orderの扱いをそろえてから比較してください。同じ名前の指標でも、提供者ごとに式や範囲が異なることがあります。
米国株の実証結果から、別の市場や将来の局面に同じ効果があるとは言えません。スプレッド、競争者の数、参加者の構成、フィード速度、ボラティリティ制限、執行コストは変化します。高頻度の手法には、レイテンシ、マーケットインパクト、アドバース・セレクション、競争の問題もあります。実際に取得できる売買価格、手数料、遅延を適用すると、コスト前に見えた関係が消えることがあります。
OFIを単独で利益を生むシグナル、確実な価格予測、すべての需給を表す指標と呼ぶべきではありません。結果は定義、取引所、サンプル、時間窓、取引方法に条件づけられます。売買ルールに使う場合は、パラメーター選択に使わなかったデータで再検証し、現実的な約定を記録します。この記事は市場指標の仕組みを説明するもので、個別の投資助言ではありません。
OFIを報告するときに残す情報
再現可能な分析では、イベント単位かスナップショット単位か、最良bid/askだけを使うか、(e_n)をどう計算したかを書きます。単位、符号規約、集計時間、取引所、フィード種別、取引時間、イベント順序、ミッド価格の定義も記録します。正規化したOFIを使うなら、分母と、それがモデルに利用可能になった時点も示してください。
分析対象が同じ時間窓のミッド価格変化か、判断後の価格変動か、特定の執行コストかを明確にします。深度を含めるか、古い気配やフィード欠落をどう処理するか、非表示注文が含まれるかも説明します。予測研究なら比較基準、時系列の分割、予測期間、銘柄・日数、コスト適用後の評価を示します。文脈と不確実性のない平均係数だけでは有用性を判断できません。
符号を簡単な入力で検算します。bidへの注文追加はプラス、askへの追加はマイナス、bidの数量減少はマイナス、askの数量減少はプラスになるはずです。最良価格の移動は式の該当する枝で処理し、旧価格での数量変化として重ねて計上しません。何百万件ものメッセージを処理する前に、人工的な短いイベント列で確認します。
Futuresの注文板で価格・時間優先がどう働くかは、誰が優先されるか、なぜ表示価格に達しても注文が約定しないのかという疑問に答えるガイドです。それは執行の問題です。OFIは気配状態の変化を要約しますが、優先順位の規則は注文がどのようにマッチされるかを説明します。二つを分けると、診断指標を自分の注文の待ち位置と取り違えずに済みます。
よくある質問
Q1OFIはbid–askのqueue imbalanceと同じですか?
違います。Queue imbalanceは通常、1つのスナップショットでbidとaskの数量を比べます。OFIはイベントやスナップショット間の符号付き変化を時間窓で合計します。異なる式と意味を持つ特徴量です。
Q2OFIで次の価格上昇を判断できますか?
確実には判断できません。研究では特定の市場と時間幅における関係が報告されていますが、表示板は価格形成の一部分にすぎません。予測を検証するには、現実的な意思決定時刻、サンプル外データ、妥当なコストが必要です。
Q3ブローカーのLevel 2画面からOFIを計算できますか?
十分なスナップショットまたはイベント、信頼できるタイムスタンプ、明確な取引所範囲があれば可能です。集約済みまたは遅延した画面では、正確な板変化の区別に必要な順序やメッセージ種別が失われている場合があります。 主要な出典 - Cont、Kukanov、Stoikov「The Price Impact of Order Book Events」(2014) - Gould、Bonart「Queue Imbalance as a One-Tick-Ahead Price Predictor in a Limit Order Book」(2016) - Stoikov「The Micro-Price: A High-Frequency Estimator of Future Prices」(2018) - Nasdaq TotalView-ITCH 5.0仕様書
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
価格が変わらず、最良買い気配の数量が10から14に増えました。買い側のOFI寄与はいくつですか?
答えを選ぶと解説を確認できます
オプション用語集
コール、プット、オプションチェーンから IV、グリークス、建玉、マックスペインまで、主要用語を正確に解説します
オプション用語集を見る