7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ティックデータから推定するOrder Imbalanceの性質

7
Posted at

はじめに

ザラバの約定は、板に指値を提示していた側の注文(パッシブサイド)と、その板を食いに行った側の注文(アグレッシブサイド)がぶつかることで成立します。

能動的な注文であるアグレッシブサイドは、なんらかの情報を持っていると考えられることから、アグレッシブサイドが買い注文か売り注文かは重要です(以下、約定方向と呼びます)。特に、ある日における約定のうち、アグレッシブサイドが買いである約定の比率を表すOrder Imbalance(OI)は注文の不均衡性を示します。

約定方向は、市販の注文レベルのデータ1には含まれていることが多いため、それを用いれば正確なOIが計算できます。一方で、約定歩み値(ティックデータ)しかない状況でも、なんらかのアルゴリズムで約定方向を推定することができます。

それでは、ティックデータから求めた約定方向の推定値で計算した推定OIは真のOIと比較してどの程度正確なのでしょうか。また、推定OIは真のOIと比べて、どのような性質を持つ値なのでしょうか。これは、J-Quants APIのようなティックデータを用いて推定OIを計算する場合に大切なポイントになります。

この記事では、JPX総研が提供する、東証の全注文・約定レコードのヒストリカルデータであるFLEX MBO Historicalを用いて、2024/11/5〜2026/6/19(395営業日)の約528億件の注文と約15億4,000万件の約定から真の約定方向を取り出し、ティックルールの推定値と比較しました。

まとめると、以下の通りです。

  1. ティックルールの誤りはゼロティック(同値約定)に集中する。正解率は約80%で、約定回数が増えるほど小幅に上昇する。
  2. 推定OIの誤差は約定回数が増えるほどに縮む。
  3. 推定OIは真のOIと比較して50%に近づく。理由は二つある。一つは、ティックルールの誤りが対称な誤分類であっても推定値を50%方向へ縮める系統的なバイアスが働くことである。もう一つは、OIの方向と日中リターンの方向が一致しないときに、約定の方向の多数派クラスの正解率が少数派より低くなり、推定値を50%方向にさらに縮めることである。
  4. 減衰量に対する非対称な誤分類成分の寄与率は、約定回数が増えるほど、またOIの方向と日中リターンの方向が一致しないときに大きくなる。このため、正解率が向上しても減衰が消失せず、約定回数が増えても推定OIは真のOIに一致しない。

ティックルール

ティックルールとは

FLEX MBO Historicalのような注文レベルデータには、約定方向は付与されているか、そうではなくとも注文データから判別できることから(約定の直前に到着した注文がアグレッシブサイドなので)、真の約定方向を知ることができます。一方、約定歩み値しか得られない場合では、真の約定方向を知ることができません。

かつて真の約定方向を容易に得られなかったころ、真の約定方向を推定するアルゴリズムが盛んに研究されました2。その中で最も簡単で代表的なルールとして、約定値段の変化を用いるティックルールを用いてみます3

いま、約定$i$における約定値段を$S_{i}$とします。このとき、約定方向の推定値を以下とします。

  • アップティック($S_{i} > S_{i-1}$)→ buy
  • ダウンティック($S_{i} < S_{i-1}$)→ sell
  • ゼロティック($S_{i} = S_{i-1}$)→ 直前のアップティック・ダウンティックのbuy/sellを引き継ぐ
  • ただし、その日の取引で最初にアップティック・ダウンティックが現れるまでは、nullとして、判定から除外

実装

銘柄・日付ごとのshiftforward_fillだけで済むので簡単です。

個人投資家向けにJPX総研が提供しているJ-Quants APIでは、2025年12月より有料アドオンを契約いただくと、ティックデータを取得できるようになりました。

J-Quantsでティックルールを実装したい場合、例えば、Pythonのpolarsを用いれば以下のように書けます4

# Code, Dateをover句に入れないと、銘柄・日の先頭で前の銘柄・日を引き継いでしまう
prev = pl.col("Price").shift(1).over("Code", "Date")
tick = (
    tick
    .sort("Code", "Date", "Time", "TransactionId")
    .with_columns(
        tick_side = pl.when(pl.col("Price") > prev).then(pl.lit("buy"))
        .when(pl.col("Price") < prev).then(pl.lit("sell"))
        .otherwise(None)
    )
    .with_columns(
        pl.col("tick_side").forward_fill().over("Code", "Date")
    )
)

精度

FLEX MBO Historicalを用い、ティックルールで求めた推定値と真の約定方向を比較してみます。

FLEX MBO Historicalは、リアルタイムデータであるFLEX MBOを、ヒストリカル情報として日次で配信するものです。FLEXデータは、従来より板の気配・数量を配信していましたが、2024/11/5よりFLEX MBOとして全注文・約定に関するレコードの配信も行っています。

以下の集計ではザラバ約定のみを対象とし、判定不能な系列先頭と日次約定回数100未満の銘柄・日を除外しています。

全約定を通した正解率は81.9%でした。アップティック、ダウンティック、ゼロティックの順に、正解率は92.2%, 93.0%, 70.2%でした。

約定回数帯ごとのティックルール正解率の分布を見てみます。各点は1銘柄・日の正解率(正解数/約定数)です。

cell-3-output-1.png

※本記事の箱ひげ図は、箱がQ1–Q3(25–75パーセンタイル)、ひげが5–95パーセンタイルで、ひげの外側のデータ点は省略しています。

アップティックは、買い注文が売り板を食って約定価格が上がったケースが大半なので、「buy」と判定すればほぼ当たります。ダウンティックも同様に、売り注文が買い板を食ったケースが大半で、「sell」と判定すればほぼ当たります。

残り10%弱の誤りは、前の約定から気配が動いたケースです。これはどういうケースでしょうか?具体的に見てみます。

単純に約定の頻度が高くなく、前の約定から次の約定までの間に時間が空きすぎて気配が動いてしまったというケースもありますが、一つ典型的な例として、下記のような事例があります。

①10:00:00 104円に3単位の買い注文が到来し、104円で約定

| 売り | 値段 | 買い |
|------|------|------|
|   15 |  106 |      |
|    3 |  105 |      |
|    2 |  104 |      | ← ここに3単位の買いが到来した(到来前は5単位あった)
|      |  103 |   12 |
|      |  102 |    5 |

②10:00:01 約定を伴わず板が変化
103円の買い12単位がキャンセル、103円に売り5単位が到来

| 売り | 値段 | 買い |
|------|------|------|
|   15 |  106 |      |
|    3 |  105 |      |
|    2 |  104 |      |
|    5 |  103 |      |
|      |  102 |    5 |

③10:00:02 103円に3単位の買い注文が到来し、103円で約定

| 売り | 値段 | 買い |
|------|------|------|
|   15 |  106 |      |
|    3 |  105 |      |
|    2 |  104 |      |
|    2 |  103 |      | ← 3単位の買いが約定したので2単位に減る
|      |  102 |    5 |

売り圧力が高まるとき、売り板が厚くなると同時に買い板が引いていって、約定せずに最良気配が下落していく動きがしばしば観測されます。このケースの③の約定は、真の約定方向としては買いですが、前の約定である①からは約定価格が下落しているため、ティックルールでは売りとして判定されます。

一方、ゼロティックは、買いが最良売り気配で約定しても売りが最良買い気配で約定しても、前回と同じ値段になることがあります。値段の変化という手がかりがないため、ティックルールは直前の判定を引き継ぐしかないことから、正解率が落ちるのは必然ですね。

Order Imbalance(OI)

OIとは

約定方向が分かっているとき、ある日のOIは、その日の約定回数のうちアグレッシブサイドが買いの比率、すなわちbuy回数/(buy回数+sell回数)で求められます5

OIや、これを発展させた市場の売買不均衡指標は、短期的な市場予測に寄与するとされます。古い論文ですがChordia et al. (2002), Chordia & Subrahmanyam (2004) では、OIがリターンを予測しうるとされました。

ただし、これらの論文が発表されてから20年以上経過し、市場の注文・約定件数は飛躍的に増え、取引速度が高頻度となり、トレーダー側のインフラも向上しているなか、OIのリターン予測はさらに短い時間軸でしか成立しないか、既に予測力がない可能性がありますので、参考にする際は十分に注意していただければと思います

参考: 関連する指標の整理

OIは注文フローの不均衡の一つの指標ですが、有名なPIN(Easley et al. (1996))やVPIN(Easley et al. (2011))とは近い関係にあり、約定方向をどう集計するかが異なります。

約定方向
 ├─ OI: 一定の時間で集計。(buy−sell)/(buy+sell)(本記事のbuy比率と線形変換なので等価)
 ├─ VPIN: 一定の出来高でバケットに分け、|V_buy−V_sell|/(V_buy+V_sell)の直近nバケット移動平均(V=出来高)
 └─ PIN: 日次のbuyとsellの件数の時系列をインプットに、モデルから推定されたパラメータから計算

VPINについては、JPXからもワーキングペーパーが公開されています(脇屋 & 大屋 (2016))。GMOインターネットグループさんのテックブログもわかりやすいですね。→マーケット情報不均衡性指標VPINの紹介とFXへの簡単実戦

また、関連する指標として、Cont et al. (2014) が提案したOrder Flow Imbalance(OFI)があります。OFIは約定方向ではなく、板の最良気配における注文量の変化から計算するもので、上記の分類とは異なります。この論文によれば、OFIと数秒〜数分の価格変動が線形の関係にあることが報告されています。

実装

日次の推定OIは、ティックルールで推定した約定方向からそのまま集計するだけで求められます。J-Quantsのティックデータでのサンプルコードを示します。

oi = (
    tick
    .filter(pl.col("tick_side").is_not_null())
    .group_by("Code", "Date")
    .agg(
        pl.len().alias("n"),
        (pl.col("tick_side") == "buy").sum().alias("buy_n"),
    )
    .with_columns(
        estimated_oi=(pl.col("buy_n") / pl.col("n"))
    )
)

精度

FLEX MBO Historicalを用いて、真の約定方向に基づく真のOIも計算しました。

銘柄ごとの日次OI誤差(= 推定OI − 真のOI)の分布を約定回数nのビンで並べると、nとともにばらつきが縮んでいきます。

cell-4-output-1.png

中央値はどのビンでもほぼゼロで、推定OIに全体的な方向バイアスはありません。しかしばらつきはn>=10000でも完全には消えず、誤差の絶対値の中央値で約1.5ppが残ります。

OI誤差のばらつきが約定回数とともに縮むのは、ランダム誤差(どの約定が誤分類されるかの確率的なばらつき)が減少するためです。しかし、系統誤差のバイアスであれば約定回数が増えても消えません。このバイアスがどのような構造を持つのかを、以降確認します。

推定OIの減衰性

各銘柄・日の真のOI(横軸)と推定OI(縦軸)を、約定回数ごとに分けて散布図に描いて回帰直線を引いてみます。

回帰直線の傾きは1よりも小さい正の値です。推定OIは真のOIと比べ、50%よりも小さい場合は50%に向けて大きく、50%よりも大きい場合は50%に向けて小さい値を取ることがわかります。これが「減衰」です。箱ひげ図でも確認したように、回帰直線はほぼ50%を通っており、推定OIに全体的な方向バイアスはありません。純粋に50%方向へ縮んでいますね。

cell-5-output-1.png

減衰のメカニズム①: 対称な誤分類によるバイアス

一見、「ティックルールによって誤分類が発生したとしても、誤りが対称なら推定OIは真値を指す」と考えそうになりますが、対称な誤りであっても、推定OIは50%方向に縮む系統的な誤差が生じます

真の約定方向がbuyをsellと誤判定する率と、sellをbuyと誤判定する率が等しい場合を考えます。誤りが対称ということですね。

正解率を$a$とすると、真buyは、$a$だけ正しくbuyと推定され、一方で$1-a$だけsellと誤判定されます。真sellについても同様です。

このとき、真のbuy比率(OIです)が$p$である銘柄・日の推定buy比率は以下となります。

$$\hat{p} = ap + (1 - a)(1 - p) = (2a - 1) p + (1 - a)$$

推定buy比率は真のbuy比率の1次関数で、その傾きは$2a - 1$です。

推定OIの50%からの差は以下の通り導けます。

$$\begin{aligned}
|\hat{p} - 0.5| &= |(2a - 1)p + (1 - a) - 0.5| \\
&= |(2a - 1)(p - 0.5)| \\
&= |2a - 1| \, |p - 0.5|
\end{aligned}
$$

$a = 1$(完全な正解)のときのみ$|2a - 1| = 1$となり$|\hat{p} - 0.5| = |p - 0.5|$、つまり推定OIは真のOIと一致します。一方、通常は$0.5 < a < 1$(先ほど見た通り正解率は約80%です)であり、$0 < |2a - 1| < 1$ですから$|\hat{p} - 0.5| < |p - 0.5|$となります。すなわち、推定OIは真のOIよりも50%に近づくことが示されます6

減衰のメカニズム②: 非対称な誤分類とその原因

しかし、観測された推定OIの減衰は、この対称な誤分類による予測よりも大きくなっています。

約定回数nが大きいビンほど正解率は高くなるので、誤分類が対称なモデルでは傾きもnとともに上がるはずです。しかし、実際には、全体的な傾向としてnが大きいほど傾きが下がっています。これは、正解率が高くなれば推定精度も上がるはず、という直感に反します。

約定回数 正解率 a 実際の傾き 2a−1(対称な誤分類の場合)
100-499 79.4% 0.60 0.59 -0.01
500-999 79.7% 0.51 0.59 0.08
1000-4999 81.6% 0.45 0.63 0.18
5000-9999 81.7% 0.41 0.63 0.22
10000+ 83.2% 0.44 0.66 0.22

100-499ビンでは対称モデルとほぼ一致しますが(差-0.01)、n >= 500では実際の傾きが対称モデルのものより一貫して小さく、その差は高nの0.22まで拡大しています。正解率から説明できる以上の「余分な圧縮」があるということです。これは、対称誤分類の前提(buyをsellに誤る率とsellをbuyに誤る率が等しい)が実際には成り立っていないことを示唆します。以下でこの非対称性を確認します。

多数派クラスの正解率の低さ

「多数派を余分に削る」方向に偏っているなら、50%方向への圧縮が説明できます。先ほどと同じ条件(ザラバ約定、日次約定回数100以上)のデータについて、全395営業日(1,524,224,108約定)の混同行列を以下に示します。

推定buy 推定sell 正解率
真buy 616,820,737 134,215,887 82.1%
真sell 141,992,778 631,194,706 81.6%

全体を見ると、ほぼ対称です。真buyが82.1%、真sellが81.6%で近く、偏りは見えません。

しかし、買いの約定が売りより多かった銘柄・日(buy-heavyと以下呼びます。定義は真のOI>50%)とその逆(sell-heavy)に分けて見ると、対称性が崩れます。

真buyの正解率 真sellの正解率
buy-heavy 81.2% 82.3%
sell-heavy 82.9% 81.2%

どちらの場合でも、多数派サイドの正解率が少数派より低くなっています。

多数派の正解率の低さの理由

ティックルールは値段の変化方向で約定方向を判定します。したがって、日中の価格の動く方向と約定方向が食い違う場面では、誤分類が増えるはずです。Aitken & Frino (1996) も、上昇トレンドではbuy方向に、下降トレンドではsell方向に誤分類が偏ることを報告しています。

この仮説を検証するため、銘柄・日ごとにOIの方向と日中リターンの方向7で分け、多数派と少数派の正解率の差の分布を見てみます。

cell-8-output-1.png

OIの方向と価格トレンドの方向が不一致のとき(buy-heavy×下落、sell-heavy×上昇)にgapが大きく、同方向のとき(buy-heavy×上昇、sell-heavy×下落)はgapが小さくなっています。日中リターンが0の場合(flat)は両者の中間的な値を示しています。仮説と整合する結果です。

多数派の正解率が低いと、buyが多い日にはbuyの一部がsellに誤判定され、推定OIが50%側に引き寄せられます。これが、対称誤分類モデルでは説明できない「余分な圧縮」の原因です。

さて、ここで上の方で示した板の例を思い出してください。例の③の約定は真の約定方向としては買いですが、ティックルールでは売りと判定されます。buy-heavy×下落の日というのは、このように真の約定方向がbuyであるにもかかわらずティックルールがsellと判定する事例が多く発生する日です。その結果、推定OIは真のOIよりも50%方向に圧縮されます8

なお、Aitken & Frino (1996) の価格方向バイアスと整合的ではあるものの、本分析は2024/11/5〜2026/6/19の期間に基づくものであり、マーケット全体のセンチメントやボラティリティのようなレジームによって異なる結果が得られることは否定できません。

二つの減衰メカニズムの定量的な分解

ここまで、推定OIの減衰には二つのメカニズムがあることを見てきました。

では、この二つのメカニズムはそれぞれどの程度寄与しているのかが気になりますね。

以下では、推定OIの誤差を対称成分と非対称成分に数式で分解してから、定量的にその減衰量を求めてみます。

恒等式の導出

ティックルールによる誤分類が対称ではなく、真buyの正解率$a_b$と真sellの正解率$a_s$が異なる場合を考えます。このとき、推定OIは以下で表されます。

$$\hat{p} = a_b p + (1-a_s)(1-p)$$

このとき、全体正解率$a$(= 正解数/約定数)は$a = a_b p + a_s(1-p)$と書けます。これはメカニズム①で使用した$a$と同一です。

正解率の非対称性を表すパラメータとして、$\delta = (a_b - a_s)/2$を導入します。

メカニズム①で示した、誤分類が対称な場合の予測は

\hat{p}_{\text{sym}} = (2a-1)p + (1-a)

でした。

$\hat{p}$と$\hat{p}_{\text{sym}}$に$a = a_b p + a_s(1-p)$を代入して差をとると、

$$\hat{p} - \hat{p}_{\text{sym}} = 2p(1-p)(a_b - a_s) = 4\delta p(1-p)$$

この結果を使って、推定OIの誤差$\hat{p} - p$を分解します。

\hat{p} - p = (\hat{p}_{\text{sym}} - p) + (\hat{p} - \hat{p}_{\text{sym}})

と書けます。右辺の一つ目のかっこは、

$$\hat{p}_{\text{sym}} - p = (1-a)(1-2p)$$

また、$\hat{p} - \hat{p}_{\text{sym}} = 4\delta p(1-p)$です。

以上を合わせると、次の式が得られます。

$$\hat{p} - p = (1-a)(1-2p) + 4\delta p(1-p)$$

右辺第1項はメカニズム①の式そのものであり、$\delta = 0$(対称な誤分類)とすれば$\hat{p} - p = (1-a)(1-2p)$に帰着します。第2項は対称モデルでは説明できない残りの全てであり、buyとsellの正解率の差$\delta$と、OIが50%に近いほど大きくなる$p(1-p)$の積で決まります。

減衰量の定義と寄与度

$\hat{p} - p$はbuy-heavyで負、sell-heavyで正をとる値であり、符号がバラバラなので、それらを統合し、「50%方向にどれだけ近づいたか」という減衰量$C$を以下で定義します。

$$C = -\text{sign}(p - 0.5) \cdot (\hat{p} - p)$$

$\text{sign}(x) = 1 (x > 0), -1 (x < 0), 0 (x = 0)$です。

$p > 0.5$(buy-heavy)なら$C = p - \hat{p}$(推定OIが真のOIより50%側にどれだけ下がったか)、$p < 0.5$(sell-heavy)なら$C = \hat{p} - p$(どれだけ上がったか)です。

$C$の定義に、先ほど導出した恒等式$\hat{p} - p = (1-a)(1-2p) + 4\delta p(1-p)$を代入します。

$$C = -\text{sign}(p - 0.5) \cdot \bigl[(1-a)(1-2p) + 4\delta p(1-p)\bigr]$$

右辺を項ごとに整理します。

第1項について、$p > 0.5$のとき$\text{sign}(p - 0.5) = 1$かつ$1 - 2p < 0$, $p < 0.5$のとき$\text{sign}(p - 0.5) = -1$かつ$1 - 2p > 0$なので、$p > 0.5$, $p < 0.5$いずれでも第1項は$(1-a)|1-2p|$となります。$p = 0.5$の場合も成立します。

第2項はそのまま$(-\text{sign}(p - 0.5)) \cdot 4\delta p(1-p)$です。

以上より、以下のように分解されます。

$$C = (1-a)|1-2p| + (-\text{sign}(p - 0.5)) \cdot 4\delta p(1-p)$$

右辺第1項と第2項がそれぞれ対称な誤分類による減衰、非対称な誤分類による減衰ですね。第1項は常に非負です。第2項は、多数派の正解率が少数派より低いとき正(減衰を強化)、高いとき負(減衰を軽減)です。

約定回数ビンごとの対称成分と非対称成分の寄与率を以下に示します。

約定回数 銘柄・日数 減衰量平均 対称成分 (%) 非対称成分 (%)
100-499 506,023 0.032 0.029 93% 0.002 7%
500-999 159,571 0.031 0.024 77% 0.007 23%
1000-4999 196,802 0.027 0.018 66% 0.009 34%
5000-9999 39,615 0.023 0.014 61% 0.009 39%
10000+ 25,170 0.016 0.010 62% 0.006 38%

約定回数が少ないビン(100-499)では、対称成分が減衰量の大半を占め、非対称成分の寄与は小さくなっています。これは正解率自体が低い(約79%)ため、正解率の不完全さによる圧縮が支配的であることを反映しています。

約定回数が増えると正解率が上がり対称成分$(1-a)|1-2p|$は縮む一方で、非対称成分の寄与は相対的に増え、5000件以上では約4割に達します。これは、先ほどの表で「slopeと2a−1の差が高nで拡大する」と指摘した現象と整合します。高nでは正解率が上がるにもかかわらず減衰が縮まない理由は、非対称成分の相対的な増加にあります。

OI方向と価格方向ごとの内訳

メカニズム②のセクションで見た通り、OI方向と日中価格の方向が一致(matched)するか不一致(mismatched)かによって多数派の正解率の偏りが異なります。同じ枠組みでmatch_typeごとに減衰量を分解すると、その構造がより明確になります。

cell-10-output-1.png

matchedでは、非対称成分の値は比較的小さい正の値か、とくに高約定回数ではない場合で負の値を取ります(対称成分による圧縮を部分的に相殺する)。一方、mismatchedでは非対称成分が全nビンで一貫して減衰量の過半を占め、誤分類が対称なモデルの予測を大幅に上回る圧縮が生じています。

matchedとmismatchedでは対称成分の減衰量は近い値を取っていますが、非対称成分の減衰量がmismatchedの方が大きく、結果として減衰量合計でmismatchedの方が大きくなっています。これは上で見た箱ひげ図の結果と整合的ですね。

おわりに

FLEX MBO Historicalを用いて、ティックルールの精度と推定OIの減衰性を示してきました。

推定OIの減衰には二つのメカニズムが観測されました。一つは、ティックルールの誤分類が対称であっても推定OIが50%方向に縮むこと、もう一つは、OIの方向と日中価格の方向が一致しないときに多数派クラスの正解率が少数派より低くなり、対称な誤分類での予測以上に圧縮が強まることです。その後、対称な誤分類成分による減衰量と非対称な誤分類成分による減衰量にそれぞれ分解して定量的に示すことができました。

この二つのメカニズムを合わせて考えると、減衰の大きさは銘柄・日ごとの正解率やOI方向と価格方向の一致・不一致に依存するため、異なる銘柄間・日付間で推定OIの大小を比較しても、真のOIの大小関係と一致するとは限りません

これはティックルールに限らず、もっといえば約定の方向を推定することによるものです(正確には、減衰のメカニズム①はティックルールに限らず約定方向を推定するものなら必ず生じます。一方、メカニズム②は約定方向の推定手法によります)。

そこで、約定ごとの二値判定を避け、一定の出来高で区間に区切り、その区間での価格変化から確率的に約定方向を按分するBulk Volume Classificationが提案されています(Easley et al. (2012))。ただし、個別株ではティックルールやLee-Ready法のほうが正確とする実証結果もあります(Chakrabarty et al. (2015))。利用する際は、ここで見てきた減衰の性質を念頭に置いておくとよいかもしれません。

参考文献

  • Aitken, M., & Frino, A. (1996). The accuracy of the tick test: Evidence from the Australian Stock Exchange. Journal of Banking & Finance, 20(10), 1715-1729.

  • Chakrabarty, B., Pascual, R., & Shkilko, A. (2015). Evaluating trade classification algorithms: Bulk volume classification versus the tick rule and the Lee-Ready algorithm. Journal of Financial Markets, 25, 52-79.

  • Chordia, T., Roll, R., & Subrahmanyam, A. (2002). Order imbalance, liquidity, and market returns. Journal of Financial Economics, 65(1), 111-130.

  • Chordia, T., & Subrahmanyam, A. (2004). Order imbalance and individual stock returns: Theory and evidence. Journal of Financial Economics, 72(3), 485-518.

  • Cont, R., Kukanov, A., & Stoikov, S. (2014). The price impact of order book events. Journal of Financial Econometrics, 12(1), 47-88.

  • Easley, D., Kiefer, N. M., O’Hara, M., & Paperman, J. B. (1996). Liquidity, information, and infrequently traded stocks. The Journal of Finance, 51(4), 1405-1436.

  • Easley, D., López de Prado, M. M., & O’Hara, M. (2011). The microstructure of the “Flash Crash”: Flow toxicity, liquidity crashes, and the probability of informed trading. Journal of Portfolio Management, 37(2), 118-128.

  • Easley, D., López de Prado, M. M., & O’Hara, M. (2012). Flow toxicity and liquidity in a high-frequency world. Review of Financial Studies, 25(5), 1457-1493.

  • Holden, C. W., & Jacobsen, S. (2014). Liquidity measurement problems in fast, competitive markets: Expensive and cheap solutions. The Journal of Finance, 69(4), 1747-1785.

  • Lee, C. M. C., & Ready, M. J. (1991). Inferring trade direction from intraday data. The Journal of Finance, 46(2), 733-746.

  • GMOインターネットグループ 次世代システム研究室. (2022, January 12). マーケット情報不均衡性指標VPINの紹介とFXへの簡単実戦. GMOインターネットグループ グループ研究開発本部.

  • 脇屋勝 & 大屋幸輔. (2016). VPINを用いた短期的な市場変動予測—日経225先物及び日経225miniを用いた実証分析—. (JPXワーキング・ペーパー No. 11).

ディスクレーマー

当記事は、金融データ分析に関する技術的事項の共有を目的としたものであり、株式などの投資商品への投資の推奨を目的とするものではありません。

また、当記事の内容をもとに投資等を行った結果損害等が生じた場合においても、一切の責任を負わないものとします。

About Us

J-Quantsとは

J-Quantsとは、ヒストリカル株価データ・財務データなどの金融データを取得できる、個人投資家向けのAPIデータ配信サービスです。投資にまつわるデータを分析しやすい形式で提供し、個人投資家の皆様がデータを活用しやすくなることを目的としております。

個人投資家が投資などのために金融データを分析する際の大きな障壁は、整形された金融データの取得が難しいことであるという理由から、2022年7月にベータ版をリリースいたしました。ご好評の声を頂いたこともあり、2023年4月より正式にリリースしております。

JPX総研について

JPX総研ではJ-Quantsなどの新しいプロダクトを内製開発しています。キャリア採用を通年で行っておりますので、ご興味がある方は以下のリンクをご覧ください!

JPX総研キャリア採用ページ

  1. 注文1件が1レコードのデータ。Market by Orderデータと呼ばれます。

  2. 市場の高頻度データのマーケットマイクロストラクチャーに関する研究分野の中の、Trade Classificationという領域にあたります。

  3. 他には、約定値段と最良気配の仲値の大小関係をまず比較し、同値のときにティックルールを補助的に用いるLee-Ready法(Lee & Ready (1991))が有名です。なお、現代の高速取引化した市場におけるTrade Classificationの適用に関する注意は、Holden & Jacobsen (2014) が参考になります。

  4. 本記事では真の約定方向と真のOIを推定値と比較する必要があるため、データはすべてFLEX MBO Historicalから計算していますが、約定方向の推定値と推定OIはJ-Quantsのティックデータで求めることができます。

  5. 本記事では、$p = \text{buy} / (\text{buy} + \text{sell})$ でOIを定義します。文献上は正規化した超過buy回数$(\text{buy} - \text{sell}) / (\text{buy} + \text{sell})$として定義されることも多いですが、$(\text{buy} - \text{sell}) / (\text{buy} + \text{sell}) = 2p - 1$ と変換できますので、本記事の分析結果はどちらを用いても変わりません。

  6. この「対称な誤分類でも推定値が真値より50%に近づく」という性質は、疫学ではnon-differential misclassification biasとして知られているメカニズムと類似しています。

  7. リターンの方向は、各銘柄・日のザラバ最初の約定値段と最後の約定値段の比較(日中リターン)で定義しています。リターンが0(始値 = 終値)の場合はflat(横ばい)として区別しています。ティックルールは日中の値段変化で判定するため、オーバーナイトのギャップを含む前日の終値と当日の終値の間のリターンではなく日中リターンを用いています。

  8. このようなケースは、感覚的には売り主導で形成される相場ですが、真のOIではbuy-heavyとなってしまいます。これは約定方向だけを用いるOIという単純化した指標の限界ともいえます。これを精緻に考慮するのが、まさにCont et al. (2014) のOFIのような、板の形状を考慮した指標といえます。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?