← 記事一覧に戻る
March 19, 2026
読了時間: 5分

トレーダーのデジタルフィンガープリント:注文板の行動からマーケットメーカーを特定する方法

トレーダーのデジタルフィンガープリント:注文板の行動からマーケットメーカーを特定する方法
#fingerprint
#market maker
#order book
#Hawkes process
#clustering
#spoofing
#Hyperliquid
#market microstructure

トレーダーのデジタルフィンガープリント 取引アルゴリズムの行動フィンガープリント:タイミング、サイズ、配置のユニークなパターン

すべてのアルゴリズムはユニークなフィンガープリントを残します。それを読み解く方法を学べば、取引の反対側にいる相手が誰かがわかります。


はじめに:犯罪現場としての注文板

法医学調査官が犯罪現場に到着すると、指紋、足跡、DNA — イベントと特定の個人を結びつけるあらゆるものを探します。注文板は、毎秒何百もの参加者が「指紋」を残す場所です:特定のサイズ、特定の頻度、価格からの特定の距離、特定の有効期間の注文。

中央集権型取引所(CEX)では、これらの指紋は匿名です — 各価格レベルでの集計された出来高しか見えません。しかし、集計データからでも多くのことがわかります。そして、オンチェーン注文板を持つDEX取引所 — Hyperliquidのような — では、各注文が特定のウォレットアドレスに紐づいており、「指紋」は個人的なものになります。

この記事では、参加者タイプおよび特定のマーケットメーカーアルゴリズムを識別するための「行動フィンガープリント」システムの構築方法を探ります。


パート1:行動フィンガープリントとは何か

デジタルフィンガープリントの5つの次元 レーダーチャート:トレーダーの行動フィンガープリントの5つの主要次元

すべてのアルゴリズムはルールの集合体

マーケットメイキングボットは、厳格な(または学習された)ルールに基づいて決定を下すプログラムです:

  • 中間価格からどの程度離れた位置に注文を出すか? すべてのMMには独自の「スプレッドプロファイル」があります。
  • どのようなサイズか? ラウンドロット(100、500、1000)?ランダムな数値?±5%のノイズ付き固定サイズ?
  • どの程度の頻度でクォートを更新するか? 50msごと?中間価格が変わった時のみ?タイマーで?
  • 約定にどう反応するか? 即座に再クォート?一時停止?残りの片側をシフト?
  • ボラティリティにどう反応するか? スプレッド拡大?クォート撤回?サイズ縮小?
  • 在庫をどう管理するか? ポジション蓄積時のクォートスキューイング?

これらの質問に対する各回答のセットが、アルゴリズムのユニークな「シグネチャー」です。

フィンガープリントの5つの次元

┌─────────────────────────────────────────────────────────────────┐
│              トレーダーのデジタルフィンガープリント                │
│                                                                 │
│  1. タイミング    │  注文間の間隔、イベントへの反応、             │
│                  │  日内パターン                                 │
│──────────────────┼─────────────────────────────────────────────  │
│  2. サイジング    │  注文サイズの分布、                           │
│                  │  ラウンドロット比率、分散                      │
│──────────────────┼─────────────────────────────────────────────  │
│  3. 配置         │  中間価格からの距離、                         │
│                  │  bid/askの対称性、レベルアンカリング            │
│──────────────────┼─────────────────────────────────────────────  │
│  4. 反応         │  約定、キャンセル、価格ジャンプ、              │
│                  │  ボラティリティ変化への応答                    │
│──────────────────┼─────────────────────────────────────────────  │
│  5. ライフサイクル │  平均注文有効期間、                          │
│                  │  キャンセル条件、modify vs cancel+new          │
│──────────────────┴─────────────────────────────────────────────  │
└─────────────────────────────────────────────────────────────────┘

パート2:特徴量抽出

Hawkesプロセスとタイミングパターン 自己励起Hawkesプロセス:指数減衰を伴うイベントクラスター

タイミング:いつ、どのくらいの頻度で

タイミングパターンは、フィンガープリントの中で偽造が最も困難な要素です。アルゴリズムのアーキテクチャ、ネットワークレイテンシー、ハードウェア、さらには開発者のタイムゾーンによって決定されます。

主要な指標:

  • 注文間間隔(IOI) — 同一参加者からの連続注文間の時間。HFTボットの場合、IOI = 50〜500マイクロ秒。手動トレーダーの場合は数秒〜数分。

  • 取引への反応時間 — 注文約定から次のアクションまでの遅延。ボットの内部アーキテクチャを反映します。

  • 日内パターン — 日次のアクティビティプロファイル。機関投資家のMMは取引セッション中に活動します。暗号通貨ボットは24時間365日稼働します。

  • 自己励起(Hawkes強度) — 現在の注文が次の注文をどの程度強く「トリガー」するか。マーケットメーカーは強い自己励起を示します。

タイミングパターンのモデリングには、Hawkesプロセス — 自己励起点過程 — が理想的です。Hawkesプロセスのパラメータ(基底強度μ、励起係数α、減衰率β)は、参加者のコンパクトな「時系列フィンガープリント」を形成します。

サイジング:どのくらい、どのように

  • サイズ分布 — 注文サイズの分布。プロフェッショナルなMMはしばしばノイズ付きのラウンドロットを使用:100 ± 5、500 ± 10。
  • サイズ-深度相関 — 注文サイズは板の現在の深度に依存するか?
  • Bid-askサイズの非対称性 — bidとaskのサイズ比。スキューパターンは在庫管理の「筆跡」です。
  • サイズの自己相関 — 時間経過に伴うサイズの反復性。

配置:板のどこに

  • スプレッドオフセット — 中間価格からのティックまたはbps単位の距離
  • レベル選好 — 特定のレベルへのアンカリング(ラウンドナンバー?)
  • クォーティングの対称性 — bidとaskの注文がどの程度対称か
  • マルチレベルフットプリント — 同時にいくつのレベルにクォートしているか

反応:イベントへの応答

  • 約定後の行動 — 注文が約定した後に何が起こるか
  • ボラティリティ応答 — ボラティリティが増加した時に行動がどう変化するか
  • Quote-to-trade比率(QTR) — 注文更新と約定の比率
  • 逆選択応答 — ポジションに不利な価格変動への反応

ライフサイクル:注文のライフサイクル

  • 注文有効期間分布 — 平均注文有効時間
  • Modify vs Cancel+New — modifyで更新するか、cancel+newで更新するか?
  • キャンセルクラスタリング — 1つずつキャンセルするか、バッチでキャンセルするか?

パート3:参加者分類

市場参加者分類 市場参加者の分類:マーケットメーカー、HFT、オポチュニスティック、ファンダメンタル、ノイズトレーダー

市場参加者の分類体系

行動特徴に基づいて、参加者を安定したカテゴリに分類できます。CFTCの研究(Kirilenko et al., 2011):

1. マーケットメーカー

  • 80%以上の時間で両建てクォート(bid + ask)
  • 日末にゼロまたはゼロに近いネットポジション
  • 高いQTR(>100:1)
  • ボラティリティに対してスプレッド拡大で反応

2. 高頻度トレーダー(HFT)

  • 超高メッセージレート(>1000イベント/分)
  • 非常に短い保有期間(秒単位)
  • サブミリ秒の反応時間

3. オポチュニスティックトレーダー

  • 中程度の頻度
  • 特定の市場条件に反応
  • 不規則なタイミング、イベント周辺にクラスター化

4. ファンダメンタルトレーダー

  • 長期ポジションを蓄積
  • 低頻度、大きな注文サイズ
  • 執行にTWAP/VWAPアルゴリズムを使用

5. ノイズトレーダー(リテール)

  • 小さなサイズ、不規則なタイミング
  • 反応的:価格変動の後に取引し、前には取引しない
  • ピークボラティリティ時に成行注文

分類手法

教師あり学習: DEXデータ(Hyperliquid)の場合、既知のマーケットメーカーのアドレスから訓練セットを構築可能。RNNモデルで精度>85%を達成。

教師なし学習:

  • スペクトラルクラスタリング(Cont et al., 2023)— 注文フローパターンの類似度行列によるクラスタリング
  • FIDR-SCAN(2024)— 特徴補間 + 次元削減 + 密度ベースクラスタリング
  • 逆強化学習(CFTC, 2014)— 各トレーダーの報酬関数の復元

パート4:特定のマーケットメーカーの識別

分類から識別へ

分類は「これはマーケットメーカーか?」という質問に答えます。識別は「これはあの特定のマーケットメーカーか?」という質問に答えます。

フィンガープリントベクトルの構築

5つの次元から数値ベクトル — 参加者のエンベディング — を抽出します:

Fingerprint Vector (example):
┌──────────────────────────────────────────────────────────┐
  Timing:                                                 
    hawkes_mu:           0.3       (base intensity)       
    hawkes_alpha:        0.7       (self-excitation)      
    hawkes_beta:         1.2       (decay rate)           
    median_IOI_ms:       240       (ms between orders)    
    circadian_peak_utc:  14.5      (peak activity)        
                                                          
  Sizing:                                                 
    median_size:         500                              
    size_cv:             0.08      (coeff. of variation)  
    round_lot_ratio:     0.92      (round lot share)      
    bid_ask_size_ratio:  0.97                             
                                                          
  Placement:                                              
    median_offset_bps:   3.2       (from mid-price)       
    quoting_symmetry:    0.94      (0=asymmetric,1=symm)  
    num_levels:          5         (quoted levels)         
                                                          
  Reaction:                                               
    post_fill_delay_ms:  12                               
    vol_spread_elasticity: 2.1     (spread/sigma)         
    qtr:                 850       (quote-to-trade ratio)  
                                                          
  Lifecycle:                                              
    median_lifetime_ms:  1200                             
    modify_ratio:        0.85      (modify vs cancel+new) 
    batch_cancel_rate:   0.60      (batch cancel share)   
└──────────────────────────────────────────────────────────┘

アドレスクラスタリング:「1つのオペレーター — N個のウォレット」

ウォレットアドレスクラスタリング アドレスクラスターグラフ:1つのオペレーター — 複数のウォレット、行動類似性でグループ化

Hyperliquidでは、単一のマーケットメーカーが数十〜数百のアドレスを通じて運用できます。

クラスタリングアルゴリズム:

  1. 各アクティブアドレスについて — Nの時間ウィンドウでフィンガープリントベクトルを構築
  2. 階層的クラスタリング — 距離が閾値未満のアドレスを結合
  3. 時間的検証 — クラスターの時間的安定性を確認
  4. クロスペア検証 — 2つのアドレスが異なるペアを取引しているがフィンガープリントが一致する場合 — 強いシグナル
Cluster #7 (suspected: Wintermute)
├── 0x3a1f...2e8c  — BTC/USDT, 45% of activity
├── 0x7b2d...9f1a  — ETH/USDT, 30% of activity
├── 0xc4e8...5d3b  — SOL/USDT, 15% of activity
└── 0x91fa...0c7e  — ARB/USDT, 10% of activity

Common pattern: symmetric quoting, 5 levels, median_IOI=240ms,
median_size=500±8%, batch cancel 60%, presence 95%

パート5:操作シナリオとそのフィンガープリント

スプーフィング:偽の壁のフィンガープリント

Spoofer fingerprint:
  cancel_rate:         > 95%
  lifetime:            < 2 seconds
  placement:           1-3 ticks from mid-price
  size:                anomalously large (>10x median depth)
  reaction_to_approach: cancel when price approaches
  cyclicity:           repeats >3 times / minute

スクイーズ:流動性の罠

4つのフェーズ:静かな蓄積、流動性の除去、ストップオーダーのカスケード、利益確定。フェーズ1からフェーズ2への移行を識別することで、リアルタイム検出が可能です。

アイスバーグ / 隠れた蓄積:静かな積み上げ

Hidden accumulation fingerprint:
  visible_size:        small (10-50 lots)
  refill_speed:        instant (< 100ms after fill)
  refill_count:        > 20 at a single level per session
  price_reaction:      price does not move despite volume

ウォッシュトレーディング:自己取引

同じクラスターの2つ以上のアドレスがbidとaskに同時に注文を出し、互いに約定させます。目的:出来高の水増し。


パート6:Marketmaker.ccでの実装

行動フィンガープリントシステムアーキテクチャ

┌─────────────────────────────────────────────────────────────┐
│  DATA LAYER                                                 │
│  ├── Hyperliquid Node  → L3 order-by-order + wallet IDs    │
│  ├── CEX WebSocket     → L2 depth + trades                 │
│  └── Historical Store  → QuestDB / Parquet                 │
├─────────────────────────────────────────────────────────────┤
│  FEATURE EXTRACTION                                         │
│  ├── Timing Engine     → Hawkes fit, IOI distribution       │
│  ├── Sizing Engine     → Size stats, round-lot detection    │
│  ├── Placement Engine  → Offset calc, symmetry analysis     │
│  ├── Reaction Engine   → Post-fill tracker, vol response    │
│  └── Lifecycle Engine  → Lifetime stats, cancel patterns    │
├─────────────────────────────────────────────────────────────┤
│  CLASSIFICATION / IDENTIFICATION                            │
│  ├── Online Classifier → Real-time participant tagging      │
│  ├── Cluster Engine    → Address clustering (DEX)           │
│  ├── Similarity Search → Fingerprint matching               │
│  └── Anomaly Detector  → Spoof / squeeze / wash detection   │
├─────────────────────────────────────────────────────────────┤
│  VISUALIZATION                                              │
│  ├── Queue Position + Participant Labels                    │
│  ├── Cluster Graph (known MM clusters)                      │
│  ├── Alert System (manipulation detected)                   │
│  └── Historical Fingerprint Browser                         │
└─────────────────────────────────────────────────────────────┘

トレーダーがターミナルで見るもの

╔═══════════════════════════════════════════════════════════════════════════╗
║  10000 USDT  │  合計: 3,200                                             ║
║──────────────┼───────────────────────────────────────────────────────── ║
║  内訳:       │  🤖 MM (cluster#7, ~Wintermute): 800 lots [5 levels]   ║
║              │  🤖 MM (cluster#12, 不明):       400 lots [3 levels]   ║
║              │  ⚠️ 疑わしい (spoof score 87):   500 lots [lifetime<2s]║
║              │  🟡 @pro_scalper:                 100 lots              ║
║              │  🔴 自分:                         10 lots               ║
║              │  👤 リテール / 未分類:            1,390 lots            ║
║──────────────┼───────────────────────────────────────────────────────── ║
║  前方の列    │  実質: ~1,200 (spoof除外)        名目: 1,800           ║
║  "クリーン"ETA│  6.7(名目10秒と比較)                               ║
║  壁のタイプ:  │  MMバック (65% MM出来高) — 維持される可能性が高い       ║
╚═══════════════════════════════════════════════════════════════════════════╝

アラート

  • 🔴 あなたの価格レベルでスプーフ検出 — 注文の前に疑わしいブロックが特定されました
  • 🟡 MMの撤退 — マーケットメーカーがクォートを引き上げ、流動性が低下しました
  • 🟡 スクイーズのセットアップ検出 — アドレスのクラスターがポジションを蓄積し流動性を除去しています
  • 🟢 壁の強化 — 既知のMMからの出来高があなたのレベルに追加されました

パート7:倫理と限界

許容されることとされないこと

許容され推奨されること:

  • 自身の取引判断のための匿名参加者のタイプ別分類
  • 逆選択に対する保護のための操作検出
  • 市場構造を理解するためのDEXでのアドレスクラスタリング

許容されないこと:

  • ウォレットアドレスによる個人の特定
  • 同意なく識別されたパターンの販売
  • 市場操作のためのデータ使用

限界

  1. 適応型アルゴリズム — 高度なMMはランダム化を追加
  2. レジームスイッチング — 単一のボットが市場レジームに応じて行動を変更可能
  3. 偽陽性 — 2つの参加者が偶然類似のパラメータを共有する可能性
  4. CEXの不透明性 — L3データはCEXでは利用不可

結論:板の読み取りから参加者の読み取りへ

従来のトレーダーが見るもの:10000レベルに2,400ロット。高度なトレーダーが見るもの:「自分の注文は列の1,800番目、ETA — 15秒」。しかし、行動フィンガープリンティングを持つトレーダーが見るもの:

「2,400のうち800はマーケットメーカー(おそらくWintermute)で、壁は堅固。500はスプーフの疑いがあり、自分の前の実質的な列は1,800ではなく1,300。調整済みETA — 10秒。マーケットメーカーはクォートを引き上げていない — 今のところ大きな動きは予想されない。」

情報の各新しいレイヤーはエッジです。そしてスピードとは異なり、注文板解釈の品質はリテールトレーダーが競争できる領域です。

Marketmaker.ccでは、キューポジションから行動フィンガープリンティングまで、統合製品としてこのシステムを構築しています。


シリーズの前の記事:"壁の内部のキュー:注文板密度における注文ポジションの分析"


参考文献

blog.disclaimer

MarketMaker.cc Team

クオンツ・リサーチ&戦略

Telegramで議論する
Newsletter

市場の先を行く

ニュースレターを購読して、独占的なAI取引の洞察、市場分析、プラットフォームの更新情報を受け取りましょう。

プライバシーを尊重します。いつでも配信停止可能です。