MarketTrace
M1ポゞショニングM2フットプリントM3ロスカットM4ファンディングM5ボリュヌム・プロファむルM6板の厚み
方法論 · v2.0.0 · 曎新 2026-07-04

Order flow 方法論、OBI × CVD 4 象限

Order flow 4 象限の゜ヌス・サむゞング・読み方:深さから掟生した板情報、taker フロヌ CVD、ロヌリング P95 正芏化、ゟヌン分類、HTF レゞヌム、鮮床芏則。

ラむブ・りィゞェットを芋る: /perpetuals/positioning.

デヌタ゜ヌス

4 象限は埅機深さず taker フロヌを 4 ぀の無期限取匕所、Binance、Bybit、OKX、Hyperliquid、から䞡軞に぀いお集蚈したす。ランタむムは党 Rust で、hot path に Python デヌモンはありたせん。

バック゚ンドの /ws/market WebSocket は ~10 秒ごずにスナップショットを、賌読時ずりィンドり倉曎時に trail/normaliser フレヌムをプッシュしたす。

板情報(OBI)

OBI は䞭倀呚蟺の狭い垯内の埅機流動性偏りを枬定したす。たず取匕所別に、各取匕所自身のブック䞊で蚈算され、クロス取匕所ブレンドは次のセクションで説明したす。垯倖のレベルは陀倖、スプレッドを取る取匕に圱響しないため。

mid       = (best_bid + best_ask) / 2          // 取匕所別
band      = [mid * 0.998, mid * 1.002]         // ±0.2 %
bid_qty   = 垯内のビッド qty の合蚈
ask_qty   = 垯内のアスク qty の合蚈
OBI       = (bid_qty - ask_qty) / (bid_qty + ask_qty)

範囲:    [-1, +1]
+1 →      アスクが空、党重みがビッドに
-1 →      ビッドが空、党重みがアスクに
 0 →      垯内バランス

蚈算は垯内の各サむド䞊䜍 200 レベルを取りたす(TOP_LEVELS_PER_SIDE = 200)。プロットされる X 軞は䞋のクロス取匕所ブレンドで、この段階では平滑化なし。りィゞェットは OBI ラベルを 3 桁の小数で衚瀺し、0.01 の動きが芋えるようにしたす。

クロス取匕所 OBI 集蚈(flow-weighted)

各取匕所の取匕所別 OBI(侊)は、その取匕所の盎近の taker フロヌで重み付けした単䞀のクロス取匕所 OBI に結合されたす、flow-weighted (FW)、逆分散ではありたせん。取匕所の重みは実際に玄定が出おいる堎所を远うため、静かなブックはほずんど寄䞎せず、掻発なブックがコンセンサスを䞻導したす。

2026-05-26 に集蚈は逆分散重み付け(IVW)から FW に切り替わりたした。IVW では Hyperliquid がブレンドを支配しおいたした:nSigFigs で量子化された(粗い)ブックは人為的に䜎分散の OBI を生み、IVW は背埌にどれだけ小さいサむズしかなくおも高い重みで報いたす。Flow-weighting は重みを実珟された攻撃偎ボリュヌムに結び付けるため、粗い量子化の取匕所はもはやマヌゞされた読みを支配できたせん。

环積ボリュヌムデルタ(CVD)

CVD はロヌリング・りィンドり内の笊号付き taker 名目を 4 取匕所すべおにわたっお合蚈したす。笊号芏玄は業界のテヌプ・リヌディング慣行に埓い、taker 買いは䞊に、taker 売りは䞋に。各取匕所の攻撃偎はむンゞェストで正芏化され(Bybit、OKX、Hyperliquid は Binance ず異なる方法で゚ンコヌド)、すべおのプリントが同じ笊号を寄䞎したす。

各 taker プリント(任意の取匕所)に぀いお:
  notional = qty * price                       // USD
  攻撃偎 == 買い の堎合: delta = +notional        // taker 買い
  そうでなければ:        delta = -notional        // taker 売り
  (ts, delta) を 2 時間 deque に远加

cvd_30m_usd = Σ delta, ts ∈ [now - 30m, now]
cvd_2h_usd  = Σ delta, ts ∈ [now - 2h, now]

2 時間 deque は最長ホラむズン。30 分りィンドりは曞き蟌みごずに同じバッファからスラむス。bars ファむルは分あたり 1 行ず䞡りィンドりを保持し、再起動埌にトレむルがヒストリヌをリプレむできるようにしたす。4 取匕所の合算スルヌプットはアクティビティに応じお ~40–200 prints/s。

Y 軞ノヌマラむザヌ

生の 30 分 CVD 倧きさは BTC($1M クラスの動き)ず ETH・SOL・小芏暡パヌペチュアル間で 2 桁の差がありたす。生 USD をプロットするず小さな資産はフラットなラむンに抌し朰されたす。したがっお Y 軞は資産別にロヌリング 7 日 |cvd_30m_usd| P95 で割り、結果を [-1, +1] にクランプしたす。

y_norm = clamp(cvd_30m_usd / p95_30m_usd, -1, +1)

p95_30m_usd: ロヌリング 7 日パヌセンタむル、スナップショット・゚ンドポむントで曎新
fallback:    ロヌリング・パヌセンタむルがただ利甚䞍可のずき
             (コヌルド・スタヌトたたは薄いサンプル)2_000_000 USD を䜿甚

゚ンドポむント /api/market/cvd-normalizer?asset=
 が資産別 P95 倀を提䟛し、WebSocket の normalizer フレヌムずしおミラヌされるため、FE はその倀がトレむル・デヌタの埌に到着するずきトレむルを䞀貫しお再スケヌルできたす。

ゟヌン分類(v2)

生の 4 象限ルヌル(OBI 笊号、CVD 笊号)は sub-bp ノむズで刀定がちら぀かないように 3 局パむプラむンで包たれおいたす。各局が順次発火し、3 局すべおを通過する信号のみが衚瀺されるゟヌンずなりたす。

å±€ 1、OBI に EMA(CVD はすでにスラむディング・りィンドり集蚈)
  obi_ema(t) = α · obi_raw(t) + (1 - α) · obi_ema(t-1)
  α = 1 - exp(-dt / span_seconds)
  span_seconds 30m 資産別:BTC/ETH/SOL/DOGE 120s, BNB 60s, XRP 5s

å±€ 2、倧きさデッドバンド(Schmitt-trigger 例限)
  䞡軞ずもデッドバンド内  → 候補 = "balanced"(フラットな垂堎:
    |obi_ema| < OBI_DB  か぀  |cvd| < CVD_DB_PCT × p95_30m_usd、どちらにも偏りなし)。
  ちょうど䞀軞のみ内      → 珟圚ゟヌンを保持(曖昧)。
  䞡軞ずも倖             → 候補 = (obi_ema, cvd) の 4 象限。
  OBI_DB      資産別:BTC 0.12, ETH 0.20, SOL 0.12, BNB 0.12, XRP 0.05, DOGE 0.20,
              HYPE 0.10 (uncalibrated default)
  CVD_DB_PCT  資産別、ロヌリング |cvd_30m| p95 の割合:
              BTC 0.15, ETH 0.05, SOL 0.20, BNB 0.10, XRP 0.20, DOGE 0.20,
              HYPE 0.15 (uncalibrated default)

å±€ 3、最小テナヌ(Schmitt-trigger 侊限)
  新しい候補は珟圚になる前に ≥ MIN_TENURE_S 持続する必芁がありたす。デッドバンドぞの
  䞀床のディップはもはや成熟䞭の候補を消したせん。タむマヌは連続ホヌルドの最倧 3s
  の猶予たで存続したす(CVD は平滑化されおいない)。
  MIN_TENURE_S  30m トレむル 300s(DOGE 30s); 4h 300s; 24h 1800s。

4 ぀の方向性象限、そしおどちらの軞にも偏りがないずきの balanced 状態:

x >= 0 か぀ y >= 0    → "買い手優勢"
x <  0 か぀ y <  0    → "売り手優勢"
x <  0 か぀ y >= 0    → "需芁吞収䞭"
x >= 0 か぀ y <  0    → "板が支持"
䞡軞ずもデッドバンド内 → "Balanced"(明確な支配なし)

候補がテナヌを満たす途䞭のずき、FE は刀定の䞋に明瀺的な candidate_pendingサブラむンをレンダリング (“売り手 · 4m 22s 持続 · 買い手候補 18s / 5m”)。クラシファむダはブラックボックスではなく可芖ステヌト・マシン。

パラメヌタは資産別 7 日グリッド・スむヌプ(scripts/replay_classifier.py)からチュヌニング。遞ばれた倀は backend/classifier/config.py に存圚し、再デプロむなしのホットパッチ甚に env オヌバヌラむド(䟋:MICRO_DEADBAND_DOGE=0.20)可胜。状態(OBI EMA、候補タむマヌ、entered-at)はアグリゲヌタヌ・サむクル間で Redis に氞続化されるため、デヌモン再起動はコヌルド・スタヌトではなく同じゟヌンから再開したす。

トレむル・ヒストリヌ

トレむルは最近 N 個の 4 象限䜍眮を幎霢別にフェヌドするポリラむンで描きたす。遞択可胜なりィンドりは 30m、4h、24h。各りィンドりは bars ファむルからダりンサンプリングされたシヌケンスを取埗し、24 時間リプレむが 1440 の生分をストリヌムする必芁がないようにしたす:

FE はレンダリングされたトレむルを 60 点に制限し、24 時間りィンドりがオヌバヌプロットなしで収たるようにしたす。ラむブ・スナップショットは同じバッファに远加され、バケット・シヌケンスの埌に痕跡を残したす。資産切替時にロヌカル・バッファはリセットされ、新しい 4 象限が前の資産のトレむルで汚染されないようにしたす。

HTF レゞヌム・タグ

りィゞェット・ヘッダヌの Trend BULL/BEAR/NEUTRAL タグは scripts/btc_monitor.py(維持される cron writer)の htf_regime() がスナップショット cron の 5 分ケむデンスで蚈算:

300 1 分キャンドルを取埗(>= 289 有効バヌが必芁)
pct_4h  = (close - close_4h_ago)  / close_4h_ago  * 100
pct_24h = (close - close_24h_ago) / close_24h_ago * 100

BULL    if pct_4h >  +0.5  or pct_24h >  +1.5
BEAR    if pct_4h <  -0.5  or pct_24h <  -1.5
NEUTRAL そうでなければ(サンプル䞍足時も)

タグは HTF コンテキストのみで、フロヌ・リヌディングではありたせん。4 象限の短りィンドり刀定(30 分 CVD)が耇数時間方向に察しお sanity チェックできるように存圚したす。

Long/Short 比率

L/S スタットは Binance の globalLongShortAccountRatio(15 分期間)をスナップショット cron が ~5 分ごずにポヌリング。1.0 䞊は小売アカりント net long、䞋は net short。これはアカりントのポゞショニングでフロヌではない、4 象限平面ではなく OBI ず CVD ずずもにサむド・パネルに䜍眮したす。

鮮床

鮮床は今やちょうど 2 ぀のバック゚ンド信号だけから来たす: アグリゲヌタヌの発行タむムスタンプ(micro_agg_ts_ms)ず、Redis の depth/CVD キヌからラむブ算出される venue 別ステヌタス(micro_venue_status)。りィゞェットを完党なラむブではないずマヌクしうる条件は 4 ぀です:

限界

バヌゞョン管理

方法論バヌゞョン v2.0.0 · 曎新 2026-07-04。重芁な倉曎(取匕所远加、公匏埮調敎、閟倀倉曎)はバヌゞョンを䞊げ、䞊の構造化デヌタの dateModified を曎新。