Bot DeFi bot DEX 開発ログ

🛠️開発記録#568(2026/9/12)Perp Load Imbalance研究を始めた|「OIに対して板が薄い市場」はどのくらい壊れやすいのか?

こんにちは、よだかです。

ここ数日、新しく Perp Load Imbalance(PLI) というテーマを調べています。

日本語にすると、

無期限先物市場のポジション負荷と、市場の処理能力の不均衡

くらいの意味です。

出発点にある疑問はかなり単純です。

perp市場に大量のポジションが残っている一方で、そのポジションが急に解消されようとしたときに受け止める板が薄かったら、価格ショックをきっかけに通常以上の値動きが起こるのではないか。

さらに、

その構造を事前に観測しておき、shockが起きた後にも追加の値動きが残るなら、botで利用できる可能性はないか。

というところまで見ています。

以前にも「清算が起きた後ではなく、清算連鎖に対してどこが脆くなっているかを事前に観測できないか」という研究をしていました。

関連記事:🛠️開発記録#549 清算カスケードの前兆は観測できるのか|「清算脆弱性探知機」を作り始めた話

今回のPLIは、その問いをHyperliquidのperp市場でもう少し具体的に掘る研究です。


大量のperpポジション

Position Loadが大きい

価格shock

close / liquidation

強制的な売買フロー

板で吸収できない

追加の価格変動


最初は「OIが多い市場ほど危ないのでは?」と考えた

最初に見たのは、かなり素朴な指標でした。

たとえば、

  • OIが大きい
  • OIが平常時より増えている
  • Funding Rateが極端
  • turnoverが低い
  • spreadが広い
  • 板が薄い

といった状態です。

しかし、実際にHyperliquidのBTC・ETH・SOLなどでscreenしてみると、これだけではうまくいきませんでした。

OIが高い状態でも、その後それほど大きく動かないケースがある。

Funding Rateが偏っていても何も起きない。

OIが高く、turnoverが低い状態だけを見ても、大きな値動きを安定して順位付けできない。

つまり、

「ポジションがたくさんある」だけでは、市場の壊れやすさは分からない。

というところまで一度戻りました。

ここで、そもそもOIと板をどう捉えるべきなのかを整理し直しました。


OI・板・Funding Rateを一度整理する

perpの仕組みをかなり単純化すると、まず注文があります。

注文はまだ約定していない間、order book、つまり板に並びます。

買いたい人の注文と売りたい人の注文が一致すると約定します。

ここで注文そのものは板から消えます。

しかしperpの場合、約定した結果として、

LongなのかShortなのか
どれくらいの数量なのか
どのあたりの価格で建てたのか

という未解消のポジションが残ります。

たとえばBTC-PERPを1 BTC分Longした場合、BTC現物そのものを1枚所有するわけではありません。

代わりに、

BTC価格が上がれば利益、下がれば損失になる1 BTC分の価格エクスポージャー

を持つことになります。

このポジションは、反対売買で閉じるか、清算されるまで残ります。

そして市場全体で、まだ解消されていないポジション量を集計したものが OI(Open Interest) です。

CFTCでもOpen Interestは、成立済みで、まだ反対取引などによって解消されていない契約数として定義されています。

板とOIは別のもの

かなり雑に分けると、


= まだ約定していない注文

OI
= すでに約定したが、まだ閉じられていないポジション

です。

ここが今回のPLIでは重要です。

大量のOIが存在していても、そのポジションがそのまま維持されるなら何も起きません。

しかし価格shockによって、

  • 裁量で損切りする
  • ポジションを縮小する
  • 証拠金不足で清算される

といったことが起きると、それまで市場内に残っていたポジションの一部が、再び実際の売買注文へ変わります。

Longを閉じるなら売り。

Shortを閉じるなら買いです。

その注文が、現在の板にぶつかります。


【注文・板・ポジション・OIの時間関係】


Funding Rateは何を調整しているのか

もう一つ、perpではFunding Rateがあります。

これは「儲かっている側から損している側へ補填する仕組み」ではありません。

参加者はそれぞれポジションを建てた時間も価格も違うため、同じLongでも利益が出ている人と損失が出ている人がいます。

Funding Rateが直接調整しているのは個人の損益ではなく、

perp価格が現物・oracle価格から大きく離れ続けないように、LongとShortの保有コストを調整すること

です。

Hyperliquidでは、perpがspot oracleより高くなればFunding Rateはプラス方向になり、Long側がShort側へ支払います。

逆にperpがspotより低くなれば、Short側からLong側への支払いになります。

そのためFunding Rateは、

今どちら側への需要が強そうか

を見るヒントにはなります。

ただし今回の初期screenでは、Funding Rate単独ではあまり強い情報にはなりませんでした。


【画像③:perp市場の基本要素整理】

【補足】

  • Order Book = 未約定注文
  • Position = 約定後に残る持ち高
  • OI = 未解消Positionの市場全体量
  • Funding Rate = perpと基準価格の乖離を抑えるためのLong/Short間の資金移転

重要なのは「OIそのもの」ではなく、OIに対して板がどれだけあるかもしれない

ここでPLIの中心に戻ります。

仮に2つの市場でOIが同じ1億ドルだったとしても、

A市場では現在価格の近くに1000万ドル分の買い板がある。

B市場では100万ドル分しかない。

同じOIでも、価格下落によって500万ドル分のLongが一斉にcloseへ向かった場合、状況はかなり違います。

A市場なら近い価格帯でかなり吸収できるかもしれない。

B市場では、近くのbidを食い切って、さらに下の価格まで売らなければならない可能性があります。

そこで今回見始めたのが、

OI ÷ shock方向の板の厚さ

です。

下方向のshockなら、

OI
÷
現在価格から5bps以内のbid

上方向なら、

OI
÷
現在価格から5bps以内のas
k

を見ます。

要するに、

市場がすでに抱えているポジション量に対して、その方向の注文を近い価格でどれだけ受け止められるか

を見るわけです。

最近進めているCCM研究でも、少し似た発想を使っています。

レンディング側に積み上がった借入・清算リスクに対して、市場がその担保をどれくらい処理できるのかを見る研究です。

対象市場も仕組みも違いますが、

市場が抱えているリスク量 / 市場の処理能力

という上位構造はかなり近いものがあります。

関連記事:🛠️開発記録#566 市場で売れる量より借入が大きいと何が起きるのか?|CCM仮説を4ケースで調べた話

ただし、ここには大きな注意があります。

OI全部がshock時に売りや買いへ変わるわけではありません。

大量のOIが存在していても、参加者がそのままポジションを維持できるなら何も起きません。

本当に知りたいのは、

shockによって実際にclose・清算へ変わりそうなポジション量

÷

そのフローを吸収できる実効的な流動性

です。

現在使っている OI / depth は、その構造を安く観測するためのかなり粗いproxy(代用品)です。


12銘柄を6時間だけ見たら、少し分布に形が出た

この仮説を使って、Hyperliquidのperpを12銘柄だけ観測しました。

流動性によって大きく3群に分けています。

HIGH
BTC / ETH / SOL / HYPE

MID
ZEC / XRP / PUMP / NEAR

LOWER
SEI / HEMI / SOPH / WIF

ここで大きめの1分価格変化が発生したケースを拾い、

shock後5分でOIがどれだけ減ったか

と、

shock終了後から、さらに同方向へ価格がどれだけ伸びたか

を見ました。

なお、今回のshockは各銘柄の6時間データ内で「絶対1分リターン上位5%」を後から選んだものです。

つまり、これはまだリアルタイムsignalではありません。

分布を見るための記述的な区切りです。

OI / 5bps depthが大きい側でtailが厚くなった

OI / direction-side 5bps depth を小さい順に4グループへ分けました。

最も小さいQ1と、最も大きいQ4を比べると、

5分後のOI flush p90

Q1 0.253%

Q4 0.490%

となりました。

さらにshock後のprice extensionでは、

5分後price extension p90

Q1 17.7bps

Q4 28.2bps

です。

つまり今回の6時間だけを見ると、

OIに対してshock方向の板が薄い市場ほど、大きなOI減少や追加価格変動が発生するtailが厚かった

ことになります。


【画像④:6H pilotの分布比較】


BTCよりアルトの方が、この構造は強く出るのかもしれない

もう一つ少し気になったのが、流動性tierごとの差です。

shock後5分のprice extension p90は、

HIGH 18.6bps
MID 20.0bps
LOWER 25.6bps

となりました。

OI flushのp90も、

HIGH 0.209%
MID 0.408%
LOWER 0.822%

とLOWER側の方が大きくなっています。

感覚としては分かりやすい結果です。

BTCはOI自体が巨大ですが、同時に板も厚く、流動性供給者も多い。

一方でアルトはOIの絶対量が小さくても、それ以上に板が小さければ、

ポジションのほんの一部がflowへ変わっただけで、近傍流動性に対して大きな注文になる

可能性があります。

ただし、

「アルトは板が薄いから値動きが大きい」

だけではPLIとしては面白くありません。

今後見たいのは、

同じように薄いアルト同士でも、OI/depthが高い状態ほどtailが厚くなるのか

です。

ここが残れば、単なる「低流動性市場は荒れやすい」より一段具体的な構造になります。


この発想自体は新しいものではない

ここは誤解のないようにしておきます。

レバレッジされたポジションが積み上がった市場で、流動性が不足すると、価格shockによって清算・deleveragingが増幅され得る。

この大枠自体は既知のmarket microstructureです。

既存研究でも、

  • liquidation cascade時に板やspreadの状態が大きく変化すること
  • 小型perpと大型perpではcascade dynamicsが異なること
  • stress時には表示されているorder-book depthだけでは実際の執行可能流動性を十分に表せない場合があること

などが報告されています。

なので今回の研究で狙っているのは、

新しい市場理論を作ること

ではありません。

むしろ、

既知のleverage × liquidity fragilityが、Hyperliquid上でどんな分布として現れ、個人botterが観測・利用できる形まで残っているのか

を確認することです。


ただし、まだ「清算edgeが見えた」わけではない

ここはかなり重要です。

現時点ではまだ分からないことが多くあります。

まず、

OI flush = liquidationではありません。

OIが減ったとしても、普通に参加者がポジションを閉じただけかもしれません。

また、今回「shock」と呼んでいる最初の1分変動も、

外部shock

清算

追加価格変動

なのか、

すでに清算が始まっている

その結果として1分足が大きく動く

さらに清算

なのかを分離できていません。

さらに、

  • 6時間しか見ていない
  • shock定義は事後的
  • 実際のリアルタイムtriggerは未設計
  • shockを確認したあとに何秒・何bps残っているか不明
  • fee / slippage / fill probabilityは未確認
  • 表示されているdepthと実際の執行可能流動性が一致するとは限らない

という問題も残っています。

以前のCEX–DEX横断研究でも、

「市場構造が見える」ことと「取れる」ことは別

というところまで進みました。

今回も同じです。

関連記事:🛠️開発記録#563 CEX-DEX横断研究の更新|「見える」のに「取れない」仮説をどこで切るか

今見えているのは、

PLIらしい分布候補が少し出た

ところまでです。

edgeとはまだ呼びません。


次は条件を変えず24時間見る

現在は、6時間pilotと同じ条件のまま24時間の観測を始めています。

銘柄は同じ12市場。

観測するデータも、

  • OI
  • Funding Rate
  • mid
  • trades
  • 5bps / 10bps depth
  • spread

などをそのまま維持しています。

新しいfeatureも追加していません。

今回24時間で確認したいのは一つだけです。

6時間だけの偶然ではなく、時間帯が変わってもOI/depthとtailの関係が残るのか。

ここでも残るなら、その次に初めて、

どのOIがshock時に実際のflowへ変わるのか

を調べる価値が出ます。

さらにその先で、

shockをリアルタイムに観測した時点から、まだどれだけ値動きが残っているのか

を見る。

そこで初めて、botで取れる可能性を考えます。

現時点では、

構造候補
→ 少し見えた

清算との因果
→ 未確認

リアルタイムtrigger
→ 未設計

tradeable edge
→ 未確認

です。

まだかなり手前ですが、

OIが多い市場を見る

から、

OIに対して市場の処理能力がどれくらいあるのかを見る

ところへ研究の焦点が少し移ってきました。

24時間後にこの形が残るのか、まずはそこを確認します。

それでは、また。


参考資料・関連研究

基礎資料

関連研究

-Bot, DeFi bot, DEX, 開発ログ