リバモアのトレード思想における「最小抵抗線」は、今も生き続ける市場の捉え方だ。今日の視点から見ると、それは数学的に定式化される前の力学的な直観に近い。価格がある方向へ動くのは、その方向に継続的な取引圧力があり、同時に市場がその方向へ動かされやすい状態にあるからだ。

現代のクオンツ金融は、別の言葉を使う。注文フロー、流動性、条件付き分散、確率過程を論じても、それらを100年前の投機家がいう「抵抗」と結びつけることは少ない。しかし、この言葉を丁寧に読み替えると、きわめて現代的な問いにたどり着く。なぜリターンの方向は予測しにくいのに、ボラティリティには明らかな予測可能性があるのか?

力学は、この問いを整理する一つの方法を与えてくれる。まず運動を表す変数を定め、それを動かす圧力と、その圧力に対するシステムの応答を考える。

1. 価格は座標、注文は圧力

ラグランジュ力学の一般化座標は、システムの独立した自由度を表す。一つの資産の価格変動だけを研究するなら、最も単純な出発点は一つの座標でよい。利益、バリュエーション、出来高、心理はすべて変化するが、それらは市場における資産の「位置」ではない。市場が絶えず決め直している中心的な変数は、やはり価格だ。

価格を SS とし、対数価格を取る。

q=log⁡Sq = \log S

変化が小さいときは、

dq≈dSS\mathrm{d}q \approx \frac{\mathrm{d}S}{S}

となり、これはリターンに相当する。したがって、qq は価格運動の一次元の座標と考えられ、注文板、資金調達条件、参加者の制約が、その座標の動き方を決める。

古典力学をそのまま使うなら、md2qdt2=Fm\frac{\mathrm{d}^{2}q}{\mathrm{d}t^{2}}=F と書くかもしれない。しかし、価格には明確な機械的慣性がない。方向性のある取引需要がすべて突然消えたとしても、直前まで上昇していた株が上昇を続けなければならない物理的な理由はない。

現実のモメンタムは、むしろ注文が生まれる仕組みの持続性に由来すると考えられる。機関投資家はポジションの構築に数日を要し、トレンド追随アルゴリズムは過去の価格変化を新たな注文に変換し、リスク制約も一度のショックを後続の取引へとつなげる。そのため、多くの取引時間スケールでは、価格を過減衰系になぞらえ、より単純な関係から考え始めることができる。

dqdt≈MJ\frac{\mathrm{d}q}{\mathrm{d}t} \approx M J

ここで JJ は、方向性を持つ注文圧力を表す。市場全体の「買いから売りを引いたもの」ではない。もちろん、一つ一つの約定には買い手と売り手がいる。問うべきなのは、どちら側が流動性を積極的に取りにいっているかだ。買い注文が売り板を次々に消費するときは J>0J>0、売り注文が買い板を次々に消費するときは J<0J<0 となる。注文板の変化全体を記述したいなら、指値注文の追加と取消しも圧力の定義に含める必要がある。

MM は、市場の動きやすさ(market mobility)を表す。つまり、単位当たりの注文圧力がどれほどの価格応答を生むかということだ。「抵抗」という言葉を借りるなら、1/M1/M はその直観的な対応物になる。同じ大きさの注文でも、注文板が違えば、価格の移動距離はまったく異なる。

この短期の線形応答には実証的な根拠がある。Cont、Kukanov、Stoikovによる注文板イベントの研究は、注文の追加、取消し、約定を注文フローの不均衡として統合し、それが短期の価格変化とおおむね線形の関係を持つこと、また応答の傾きが市場の厚みの増加とともに低下することを示している。

2. 500株の注文は、何を動かすのか

LOBSTERの公式公開サンプルを使うと、この抽象的な関係を具体的に見ることができる。以下は、2012年6月21日のNASDAQ AAPLサンプルにおける最初の注文板スナップショットの上位5気配だ。元の価格は1万分の1ドル単位で保存されており、表では公式の形式説明に従ってドルに戻している。

買数量(株)買値(ドル)板売値(ドル)売数量(株)
売り第5気配586.9550
売り第4気配586.89300
売り第3気配586.10200
売り第2気配585.98200
最良売り気配585.94200
585.33仲値 585.635585.94
18585.33最良買い気配
150585.30買い第2気配
5585.10買い第3気配
89585.01買い第4気配
5584.97買い第5気配

価格は上から下へ低くなる。買い板は左下、売り板は右上にあり、その間の基準位置を中央に独立して置いている。

ここには、約定を待つ「585.635ドルの注文」があるわけではない。仲値は最良買い気配と最良売り気配の間にある基準位置にすぎず、実際の取引は板のどちらか一方に当たらなければならない。

まず、このスナップショットの状態で板を固定する。500株の成行買い注文は、最良売り気配から順に、上の価格帯の注文を消費する。

200@585.94  ⟶  200@585.98  ⟶  100@586.10200@585.94 \;\longrightarrow\; 200@585.98 \;\longrightarrow\; 100@586.10

平均約定価格は、

PVWAP=∑i=13vipi∑i=13vi=585.988P_{\mathrm{VWAP}} = \frac{\sum_{i=1}^{3} v_i p_i}{\sum_{i=1}^{3} v_i} = 585.988

となる。viv_i は各気配で実際に約定した数量、pip_i は対応する約定価格で、価格の単位はドル、数量の単位は株だ。ここでは、3つの気配での約定数量はそれぞれ200株、200株、100株となる。

約定後、最良売り気配は586.10ドルとなり、100株が残る。最良買い気配が585.33ドルのままなら、仲値は585.635ドルから585.715ドルへ変わる。平均約定価格、最終約定価格、仲値の変化は、それぞれ異なる量だ。

注文は抽象的に「現在の価格」を少し変えるのではなく、実際の注文板で流動性を一層ずつ消費する。最良売り気配に数千株あれば、最初の気配だけで全量が約定するかもしれない。近くに数十株しかなければ、複数の価格帯をすぐに通過する。

これが MM の最も直観的な意味だ。注文圧力が同じなら、板が薄いほど価格は遠くまで動かされやすい。 実際の市場では、MM は隠れた流動性、注文の取消し、マーケットメーカーのリスク予算、潜在的な売買意欲からも影響を受ける。

3. ボラティリティはどこから生まれるのか

従来の確率的な価格モデルは、しばしば次のように書かれる。

dqt=μt dt+σt dWt\mathrm{d}q_t = \mu_t\,\mathrm{d}t + \sigma_t\,\mathrm{d}W_t

ここで σt\sigma_t はボラティリティだ。この表現は有用だが、ボラティリティを直接モデルに置いている。逆に市場の応答から出発すれば、価格の不確実性は注文と流動性によってどのように生み出されるのか、と問うことができる。

市場の応答を計算可能な関係にするため、時点 tt から始まる長さ Δ\Delta の時間窓について、対数リターンを定義する。

r(t,Δ)=qt+Δ−qtr(t,\Delta)=q_{t+\Delta}-q_t

同じ窓で累積した方向性注文圧力を J(t,Δ)J(t,\Delta)、それに対する市場の応答係数を M(t,Δ)M(t,\Delta) とする。局所的な線形関係は次のようになる。

r(t,Δ)≈M(t,Δ)J(t,Δ)r(t,\Delta)\approx M(t,\Delta)J(t,\Delta)

以下ではこの窓を固定し、応答係数 MM を現在の情報のもとですでに与えられた量として扱う。導出を明確にするため、しばらく (t,Δ)(t,\Delta) を省略し、r≈MJr\approx MJ と書く。

1. 注文圧力を期待とイノベーションに分ける

時点 tt の情報集合を Ft\mathcal F_t とする。条件付き期待値

Et[J]≡E[J∣Ft]\mathbb E_t[J]\equiv\mathbb E[J\mid\mathcal F_t]

は、現在の情報に基づく将来の注文圧力についての、確率で重みづけした平均的な見通しを表す。実際の注文圧力とこの見通しとの差を、注文フローのイノベーションと定義する。

εJ=J−Et[J]\varepsilon_J=J-\mathbb E_t[J]

したがって、注文圧力は次のように書ける。

J=Et[J]+εJJ=\mathbb E_t[J]+\varepsilon_J

ここでいう「イノベーション」は、注文が必ず特殊だという意味ではなく、現在の期待にまだ含まれていないという意味だ。この定義から、その条件付き平均はゼロになる。

Et[εJ]=Et ⁣[J−Et[J]]=Et[J]−Et[J]=0.\begin{aligned} \mathbb E_t[\varepsilon_J] &=\mathbb E_t\!\left[J-\mathbb E_t[J]\right]\\ &=\mathbb E_t[J]-\mathbb E_t[J]\\ &=0. \end{aligned}

2行目が成り立つのは、現在の情報を所与とすると、Et[J]\mathbb E_t[J] はすでに確定した数だからだ。もう一度条件付き期待値を取っても、その数自身が得られる。

2. リターンの条件付き平均を求める

注文圧力の分解を価格応答の関係に代入する。

r≈MEt[J]+MεJr\approx M\mathbb E_t[J]+M\varepsilon_J

両辺の条件付き期待値を取る。ここでは MM を所与の応答係数として扱っているため、条件付き期待値の外に出せる。

Et[r]≈MEt[J]+MEt[εJ]=MEt[J].\begin{aligned} \mathbb E_t[r] &\approx M\mathbb E_t[J]+M\mathbb E_t[\varepsilon_J]\\ &=M\mathbb E_t[J]. \end{aligned}

つまり、期待される注文圧力を市場の応答係数で増幅したものが、期待リターンを与える。実際のリターンからこの条件付き平均を引くと、残るのは次の量だ。

r−Et[r]≈MEt[J]+MεJ−MEt[J]=MεJ.\begin{aligned} r-\mathbb E_t[r] &\approx M\mathbb E_t[J]+M\varepsilon_J-M\mathbb E_t[J]\\ &=M\varepsilon_J. \end{aligned}

リターンの期待からのずれは、注文圧力の期待からのずれに由来し、MM によって増幅される。

3. リターンのずれから条件付き分散を求める

条件付き分散が測るのは、「条件付き平均からのずれの二乗がどれほど大きいか」だ。定義に従えば、

Var⁡(r∣Ft)=Et ⁣[(r−Et[r])2]\operatorname{Var}(r\mid\mathcal F_t) =\mathbb E_t\!\left[(r-\mathbb E_t[r])^2\right]

となる。先ほど求めた r−Et[r]≈MεJr-\mathbb E_t[r]\approx M\varepsilon_J を代入する。

Var⁡(r∣Ft)≈Et ⁣[(MεJ)2]=Et ⁣[M2εJ2]=M2Et[εJ2].\begin{aligned} \operatorname{Var}(r\mid\mathcal F_t) &\approx\mathbb E_t\!\left[(M\varepsilon_J)^2\right]\\ &=\mathbb E_t\!\left[M^2\varepsilon_J^2\right]\\ &=M^2\mathbb E_t[\varepsilon_J^2]. \end{aligned}

M2M^2 が現れるのは、分散がずれの二乗を計算するからだ。同じ注文イノベーションによるリターンのずれが2倍になれば、その二乗は4倍になる。

注文フローのイノベーションの条件付き平均はゼロなので、その条件付き二次モーメントは条件付き分散に等しい。また、元の注文圧力の条件付き分散にも等しい。

Et[εJ2]=Et ⁣[(J−Et[J])2]=Var⁡(J∣Ft).\begin{aligned} \mathbb E_t[\varepsilon_J^2] &=\mathbb E_t\!\left[(J-\mathbb E_t[J])^2\right]\\ &=\operatorname{Var}(J\mid\mathcal F_t). \end{aligned}

注文圧力の条件付き分散を次のように定義する。

νJ(t,Δ)≡Var⁡ ⁣(J(t,Δ)∣Ft)\nu_J(t,\Delta) \equiv\operatorname{Var}\!\left(J(t,\Delta)\mid\mathcal F_t\right)

時間窓の完全な表記に戻すと、次の関係が得られる。

Var⁡ ⁣(r(t,Δ)∣Ft)≈M(t,Δ)2νJ(t,Δ)\operatorname{Var}\!\left(r(t,\Delta)\mid\mathcal F_t\right) \approx M(t,\Delta)^2\nu_J(t,\Delta)

将来の注文圧力が不確実なほど、リターンも不確実になる。市場が注文によって動かされやすいほど、同じ注文の不確実性から生じるリターンの分散は大きくなる。 この二つの作用は、式の中で掛け合わされている。

4. 窓の分散からボラティリティへ

上の式が与えるのは、Δ\Delta の窓全体にわたるリターンの分散だ。σt2\sigma_t^2 を、その窓内の平均的な単位時間当たりの分散率とすると、

σt2≡Var⁡(r(t,Δ)∣Ft)Δ≈M(t,Δ)2νJ(t,Δ)Δ\sigma_t^2\equiv\frac{\operatorname{Var}(r(t,\Delta)\mid\mathcal F_t)}{\Delta} \approx\frac{M(t,\Delta)^2\nu_J(t,\Delta)}{\Delta}

となる。ボラティリティは分散率の平方根なので、対応する関係は次のようになる。

σt≈∣M(t,Δ)∣νJ(t,Δ)Δ\sigma_t\approx |M(t,\Delta)|\sqrt{\frac{\nu_J(t,\Delta)}{\Delta}}

時間の単位は統一する必要がある。Δ\Delta を年で測れば年率換算の値となり、取引日で測れば1取引日当たりの値となる。ここで窓の分散から換算して得られるのは、その窓の平均分散率だ。

導出全体の要点は、現在の情報のもとで MM を所与の応答係数として扱うことにある。それによって初めて、条件付き期待値の外に出せる。窓内の MM の確率的な変化も記述するなら、MJMJ の条件付き分散をさらに計算する必要がある。

この式は、仕組みの説明を与えてくれる。価格の不確実性は、「将来の注文がどれほど不確実か」と「市場がその注文をどれほど増幅するか」の組み合わせから生まれうる。

板の厚みの低下、マーケットメーカーの注文取消し、リスク許容量の縮小は、MM を大きくする。決算発表、指数の銘柄入替え、機関投資家のポジション入替え、デレバレッジは、注文フローのイノベーションの条件付き分散を高める可能性がある。極端な相場では、両方が同時に起きることもある。注文圧力が増す一方で、注文を吸収する能力が低下するのだ。

4. なぜ市場の状態には記憶が残るのか

将来の時間窓の MM と νJ\nu_J に持続性があれば、将来の分散水準は、今日すでに観測されている状態に依存する。上の近似を使うと、

Et ⁣[σt+h2]≈Et ⁣[M(t+h,Δ)2 νJ(t+h,Δ)Δ]\mathbb{E}_t\!\left[\sigma_{t+h}^2\right] \approx \mathbb{E}_t\!\left[\frac{M(t+h,\Delta)^2\,\nu_J(t+h,\Delta)}{\Delta}\right]

となる。注文板の厚み、資金調達環境、マーケットメーカーのリスク許容量は、毎瞬ランダムに作り直されるわけではない。機関投資家の大口注文も、真夜中に突然消えるわけではない。トレンド取引、決算発表後の再配分、デレバレッジにも、それぞれ持続する時間がある。

したがって、今日の市場が「動かされやすい」状態にあること自体が、明日のボラティリティに関する情報を含んでいる可能性がある。予測すべきなのは孤立した σ\sigma ではなく、価格応答と注文の不確実性を生み出す状態だ。

市場の状態は、徐々に回復することもある。機関投資家がポジションの入替えを終え、イベントによる見方の違いが消化されていくと、注文フローのイノベーションの強さは低下する。マーケットメーカーが気配を補充し、リスク許容量が回復すると、市場の注文吸収能力は改善する。前者は νJ\nu_J を小さくし、後者は MM を小さくする。どちらも条件付きボラティリティの収束を促す。デレバレッジが続き、流動性がなお逼迫していれば、高いボラティリティは持続し、さらに強まることもある。

したがって、持続性と収束は矛盾しない。状態の調整には時間がかかるため、高ボラティリティの後も高い水準が続きやすい。一方、ショックが徐々に薄れるにつれて、変動の大きさは極端な水準から低下していく。

5. SPYの価格データで見るボラティリティの状態

QSTraderの公開リポジトリにあるSPYの過去価格ファイルを使えば、簡単な記述的実験ができる。サンプルは2000年1月3日から2016年1月4日までの4,026件の日次記録を含み、計算には調整後終値(Adj Close)を使う。

まず日付の昇順に並べ、日次の対数リターンを計算する。

rt=log⁡ ⁣(PtadjPt−1adj)r_t = \log\!\left(\frac{P_t^{\mathrm{adj}}}{P_{t-1}^{\mathrm{adj}}}\right)

過去と将来の記録が十分にある各日について、その日までの20日分のリターンの標本標準偏差を計算し、252\sqrt{252} を掛けて年率換算した実現ボラティリティを求める。さらに、その後の20日分のリターンについても同じ方法でボラティリティを計算する。一つの観測の中では、この二つの窓は重ならない。

次に、現在の20日ボラティリティに従って、3,986件の有効な観測を低い順にほぼ同じ大きさの10群に分け、各群の将来20日ボラティリティの平均値を見る。

100%元の図を開く
現在と将来の20日平均年率換算ボラティリティの関係:高ボラティリティは高いまま、極端な状態は平均的に内側へ収束する

図1:各点は一つのボラティリティ群を表す。横軸はその群の現在20日の平均年率換算ボラティリティ、縦軸はその後20日の平均年率換算ボラティリティだ。灰色の等値線は「将来と現在が同じ高さ」を示す。線の上は平均的な上昇、線の下は平均的な低下を表す。各群は398件または399件の観測からなり、群を分ける閾値は全サンプルを使っている。

この図は、二つのことを同時に示している。第一に、高ボラティリティ群の将来ボラティリティは、低ボラティリティ群よりもなお明らかに高い。両端の群はそれぞれ約34.6%と10.6%で、状態に持続性があることを示す。第二に、極端な状態は群平均で見るとやや収束している。最高群は現在の41.3%から将来の34.6%へ低下し、最低群は7.1%から10.6%へ上昇する。全体として持続するのは高低の差であり、元の極端な変動幅そのものとは限らない。

現在のボラティリティ群現在20日の平均将来20日の平均
1(最低)7.1%10.6%
28.9%11.3%
310.2%12.8%
411.8%12.4%
513.6%13.9%
615.4%14.8%
717.4%16.9%
820.7%20.4%
925.5%23.9%
10(最高)41.3%34.6%

現在とその後20日のボラティリティの相関係数は、約0.727だ。このように単純なグループ分けだけでも、将来のボラティリティ水準には明確な差が現れる。今日のボラティリティの状態には、将来のボラティリティに関する情報が含まれている。

6. 方向と強さは、異なる問題

この現象は通常、ボラティリティ・クラスタリングと呼ばれ、GARCH、HARなどの時系列モデルで捉えられる。これらのモデルは過去のボラティリティと将来のボラティリティを結びつける。注文フローの視点は、その記憶がどこから来るのかを説明する。ボラティリティを生み出す市場の状態自体に、記憶があるのだ。

方向性を持つ注文圧力は、符号付きの条件付き平均 Et[J]\mathbb{E}_t[J] に依存する。異なる参加者の需要は互いに相殺されることがあり、方向性に関する情報が予想されて価格に織り込まれると、その先のリターンを予測することはさらに難しくなる。

一方、注文フローの強さは二次モーメント Et[J2]\mathbb{E}_t[J^2] に近い。符号が反対でも、平均の場合のようには相殺されない。ただし、二次モーメントも条件付き分散と同じではなく、両者には次の関係がある。

Var⁡t(J)=Et[J2]−(Et[J])2\operatorname{Var}_t(J) = \mathbb{E}_t[J^2] - \bigl(\mathbb{E}_t[J]\bigr)^2

反対方向の注文が大量にあれば、窓の終わりにおける正味の圧力は小さくても、窓の中では激しい価格変動が起こりうる。方向は相殺されても、取引活動の強さは残る。

明日上がるのか下がるのかは分からなくても、明日の市場が大きく動きやすいかどうかを判断する余地はある。これが条件付き平均と条件付き分散の違いだ。

こうして、「価格は最小抵抗線に沿って動く」という投機的な直観は、価格座標、注文圧力、市場応答という言葉に読み替えることで、現代のクオンツ金融の命題につながる。

価格の方向は一般に予測が難しいが、持続性を持つ市場の状態は、条件付きボラティリティに予測可能性をもたらしうる。

両者を結ぶのは、やはりあの単純な問いだ。同じ注文は、今日の市場で価格をどこまで動かせるのか?

データと方法

  • 板の出典:LOBSTERの公式5気配サンプル。注文板ファイルの最初の行を使用。500株の注文による板の消費は静的な例。
  • 価格の出典:QSTrader SPY.csv。調整後終値、20日対数リターンの標本標準偏差、年率換算係数 252\sqrt{252} を使用。
  • 仕組みの参考文献:The Price Impact of Order Book Events。短期の注文フロー不均衡と市場の厚みによる応答関係を裏づける。

数式では、固定時間窓内で MM を所与とする局所線形応答モデルを用いている。将来の MM の確率的な変化と、注文フローとの相関は、さらにモデル化すべき内容だ。微分表記は平滑化した価格応答を表すためのもので、計算には離散的な窓を使う。

SPYの図は全サンプルによるグループ分けを用い、隣接する窓には重なりがある。示しているのは過去の統計的関係だ。極端な群の平均的な収束には、推定ノイズや選別効果も含まれる。これらの効果と市場の回復メカニズムを区別するには、注文フローと流動性のデータを組み合わせる必要がある。正式な予測評価では、訓練サンプルとテストサンプルを時系列に沿って分けるべきだ。