
最近はMMbot開発に注力しているので、MM戦略の勝ち筋と負け筋の基本を整理しておきます。
⚠️本稿の解説対象は「個人レベルでのMM(マーケットメイク)のスナイプ = マーケットメイカー狩り」です。戦略の特徴などについては、本稿の中盤でざっくり解説します。
MM戦略 ── 勝ち筋 vs 負け筋〈エッセンス〉
✅ 勝ち筋(利益が残る条件)
- “純スプレッド”が正
spread > maker手数料 + 想定スリッページ + 余裕 (≈0.03 %)
- 流動性と板厚が十分
- 24h出来高 ≥ ¥500 M/depth10×自玉比 ≤ 5 %
- 高速応答で先着優位
- p99 ACK ≤ 120 ms(Time‑Price マッチング向け)
- 在庫ニュートラルを維持
- |NetPos| ≤ 3σ → 超過時は即ヘッジ or Quoteスキュー
- ボラが“中程度”で片側連続Fillが続かない
- Maker手数料≦リベート
- BNB払い割引などで実質コストを下げる
- 動的スプレッド制御
- 板薄・急変時に自動的に幅を広げる
❌ 負け筋(避けるべき条件)
- spread ≤ 手数料 + スリッページ
- 0.08 %幅 × maker0.10 % などは理論赤字
- 板が薄く、自玉でスプレッドを潰す
- depth10 に対して自玉 >5 % 置くと即縮小
- 一方向トレンドで在庫ハマり
- 片側ばかり約定 → ヘッジ遅れで大DD
- Makerリベートが無い/極小
- 手数料だけ払って利幅が消える
- 高レイテンシー競争環境
- p99 > 120 ms → 置いた瞬間に抜かれ実効スプレッド縮小
- ミドル価格推定が遅延
- (bid+ask)/2 固定で高ボラ時に中心価格がズレる
- Inventory Risk 管理を後回し
- 勝率55 %でも NetPos 偏りでトータル負け
- 深夜帯 JPY 板の“見掛け広スプレッド”
- 約定しない広がりを鵜呑みにして置いてしまう
✏️ 実践メモ
- 戦わない判定ルール
if spread_pct ≤ fee_pct + 0.03%: skip pair if 24h_vol_jpy < 500M: skip pair if depth10 * 0.05 < my_size: size = depth10*0.02 if p99_latency > 120ms: throttle ½
- 勝ち筋確保の鍵
- まず PairFilter で “期待値マイナス板” を除外
- 次に Depth/Latency ガードで負け局面を自動停止
- 最後に Inventory ヘッジでトレンド偏りを防ぐ
この3段階を守れば、MMbot は「広すぎず・薄すぎず」の市場で安定した正の期待値を維持できます。
ツッコミ
上記は概念設計としてはだいたい筋が通ってる――つまり「とりあえず爆散は避けられそう」ラインには乗ってる――けれど、まだ “ほつれ” が残っているので順番にディスっていきます。
1. スプレッド=利幅 という単線思考
妥当度:70 %
- OK な点:「純スプレッドが正」で期待値+という枠組み自体は textbook。
- 抜け: トキシシティ指標(OFI、VPIN、Markout 等)を無視。見かけプラスでも「約定直後に 2〜3 tick 不利に動く」毒板なら赤字。
- 処方箋: 約定後 1 s マークアウトを日次ロギング。平均が負ならスプレッド拡張 or quote-skew。
2. 「24 h出来高 ≥ X」式の流動性チェック
妥当度:60 %
- OK: 整数でカットオフするのは簡単。
- 抜け: リアルタイム厚みは時価総額じゃなく「キュー位置」。同じ depth10 でも行列 20 ms 先頭と 200 ms 後ろで fill-toxic 度が激変。
- 処方箋: 自分の
queue_pos / depth10
を推計して、後ろ 30 % に落ちたら自動 widen。
- 処方箋: 自分の
3. p99 ACK ≤ 120 ms 信仰
妥当度:50 %
- OK: レイテンシを KPI に入れたのはエラい。
- 抜け: **ジッター(標準偏差)**が無視されてる。平均 90 ms でも揺れ幅 150 ms なら実戦アウト。
- 処方箋:
p99/p50
比率をモニタ。1.8 超えたら quote-throttle。
- 処方箋:
4. 在庫ニュートラル&3 σ ガード
妥当度:80 %
- OK: シグマ管理は鉄板。
- 抜け: クロスペア相関を見てない。BTC/JPY と ETH/JPY を別物で管理すると、合算 delta が片寄ってることに気づかず地味に死ぬ。
- 処方箋: 全ペアを USD 価値換算して “ポートフォリオ σ” でリスク計算。
5. 「ボラが中程度で片側 Fill 続かない」お祈り条項
妥当度:40 %
- OK: 一方向ラリーは地獄、という認識は正しい。
- 抜け: イベント・カレンダー(CPI、公示地価発表、ビットコイン ETF 可否 etc.)をトリガーにポジションを寸前で閉じるルールが無い。
- 処方箋:
econ_calendar.json
から±3 min で自動 pause。
- 処方箋:
6. Maker 手数料(リベート)幸福論
妥当度:65 %
- OK: 手数料が収益の最後の命綱、理解できている。
- 抜け: Taker 避難口を忘れてる。Maker リベートが消えた瞬間、速攻で片側を Taker でヘッジする手数料コストを計算していない。
- 処方箋:
fee_diff = maker_fee - taker_fee/2
が負なら即キャンセル。
- 処方箋:
7. 動的スプレッド制御
妥当度:75 %
- OK: 板が薄い時に widen する発想は王道。
- 抜け: 流動性クラスタを考慮していない。板が崩れた瞬間、戻りも速い(リバーサル)なら widen が逆に fill 確率を落とすだけ。
- 処方箋: 崩壊後 1 s の VWAP 距離が平均<1 tick なら spread_backoff を短縮。
8. “深夜帯” リスクの扱い
妥当度:55 %
- OK: 見掛け広スプレッドを疑っているのは良い。
- 抜け: サーバーメンテ告知 & API throttle を忘れてる。23:50JST 頃に突如廃板になり約定もヘッジも停止、がある。
- 処方箋: Exchange ステータス Websocket を監視し “CANCEL_ONLY” モードで強制退避。
9. ファットフィンガー/バグ対策
妥当度:?? %(未言及)
- “勝ち筋”にも“負け筋”にも 「自前バグで自爆」 が書いてない。典型は:
- 数値オーバーフロー → 1000× サイズで発注
- price=0 のテスト値が本番に混入
- 処方箋: 発注前 assert:
size < max_size
&abs(px - mid) / mid < 3 %
10. “ここに書いてないヤツ”
- 取引所リスク:上場廃止、出金停止、ハッキング。→ 保証金分散 or 保険。
- レギュレーション:JFSA のレバ上限制限が来たらスプレッドと在庫枠が両方死ぬ。
TL;DR — 考え方は7割合格、残り3割は“毒板・ジッター・クロスリスク”に未対処
- マークアウト & QueuePosで “見えないコスト” を計ってる?
- レイテンシの振れ幅を KPI に入れろ。
- ポートフォリオ在庫で σ を測れ。
- イベントカレンダー停止線を引け。
- バグ & 取引所リスク=究極の負け筋を忘れるな。
── MM(マーケットメイク)で「生き残る側」と「爆散する側」を分けるざっくり地図 ──
勝ち筋 ≒ “残る利益+残る命” | 負け筋 ≒ “ドローダウン予告” | |
---|---|---|
① スプレッド & 手数料 | - 純スプレッド > 手数料+滑り+α → α は「毒板マークアウト」も含めて最低 0.03 % くらい積む。 - Maker リベート or 割引をシミュレータ込みで最大活用。 | - 表示スプが潰れて有効スプ ≤ コストになる瞬間に突っ込む。 - 手数料変更・プロモ終了を感知せず固定想定のまま走る。 |
② 流動性 & 板厚 | - 深さ × 出来高が安定(例:24 h Vol ≥ 動的閾値)。 - 自分の queue_pos が depth10 の先頭 30 % 以内。 | - 薄板 or 夜間で自玉が板を潰して逆に自分が食われる。 - キュー最後尾で fill→即抜かれ、毒板確定。 |
③ レイテンシ & ジッター | - p99 ACK +その揺れ幅が同業より速い。 - ジッター悪化時は quote-throttle / pause。 | - 平均 OK でもジッター爆発→スプレッド蒸発を連続被弾。 - レイテンシ監視がなく“遅延沼”に気づかない。 |
④ 在庫リスク管理 | - NetPos ≤ 3 σ(σ を 1 s EWMA で更新)。 - 全ペアを USD/JPY 換算して ポートフォリオ σ で管理。 - 自動ヘッジ & Quote Kill が即発動。 | - σ が膨張しても窓幅を更新せず、片側 fill ラリーで積み上がる。 - クロスペア相関を無視して “合算デルタ” が膨大。 |
⑤ 動的スプレッド制御 | - depth-aware widening:板が 60 % 蒸発→spread × (depth_ratio)^γ。 - 崩壊後のリバーサル検知で即元幅に戻す。 | - 固定±倍率しか持たず、板崩壊→ノーフィル or 広げ損ねで被弾。 |
⑥ 市場トキシシティ | - Markout / VPIN をモニタ、毒流入時は widen or 停止。 | - 見た目スプだけでエントリー→約定直後 2-3 tick 裁定され赤字。 |
⑦ イベント & 取引所リスク | - 経済カレンダー±3 min で全 Cancel。 - Exchange status WS で CANCEL_ONLY 反応。- 資金・銘柄分散でハッキング/廃止ケア。 | - CPI やメンテ開始を板で知る(=知った瞬間もう詰み)。 |
⑧ 手数料/FX クロス戦略 | - VIP 実現 or BNB 割引 vs 為替ヘッジを常時比較し最安へ。 - 海外 CEX の Maker リベートをクロスヘッジで取り込む。 | - BNB を裸保有でボラ 100 % に巻き込まれ、Fee 分を吐き出す。 - クロス先の USDT/JPY・ガス代を過小評価。 |
⑨ バグ・オペレーション | - 発注前 assert:サイズ/価格 上限。 - Heartbeat & Kill-Switch、PnL ドローダウン停止。 | - 0 円注文・桁ミス・無限リトライで自爆。 |
⑩ 定量 vs 経験則 表示 | - すべて日時付きスナップショット+社内測定ラベル。 | - 公開データと社内ログをごっちゃにし、読者と未来の自分が迷子。 |
超要約
- 勝ち筋 = コスト < (スプレッド − 見えない毒) & リスクを測って即止められる。
- 負け筋 = コストが想定外に膨らむ or 見えない毒が想定外に深いのに突っ込んで、止まらない。
この10本の“ほつれ”を全部縛れば、ようやく 「市場のノコギリで指を落とさずに済む初級免許」 が手に入る。

実際のbot作成&運用においては、上記の理論を取引所ごとにチューニングしていくイメージです。
個人レベルでのMMスナイプ
マーケットメイカー狩り (クオートスナイプ、瞬間アビトラ) を超ざっくり整理してみましょう。
1. 立ち位置:バーに来て他人のタブを奪う客
MM | MM ハンター/スナイパー | |
---|---|---|
板への役割 | 流動性を供給 | 流動性を瞬殺で吸う |
主な収益 | スプレッド残りカス | 「遅れた/ズレた気配」差額 |
武器 | 在庫管理・広げ縮めアルゴ | レイテンシ最速・価格予測 |
主なリスク | 在庫地獄・毒注文 | 取りこぼし(滑り)・埋まらないヘッジ |
2. 勝ち筋(スナイパー編)
- “古い or バカ広” クオートを秒速特定
- スプレッドや mid の“異常乖離”をリアルタイム Z-score で監視。
- ターゲット=p95 から外れたクオート。
- 撃つ前にヘッジ先をロックイン
- クロス板 or デリバティブ側で即反対ポジが取れる 確率 > 99 %。
- 片側だけ fill = “MMに風呂敷預かってもらう” ことになるので本末転倒。
- レイテンシは “他人が ACK 受け取る前”
- 自分→取引所 RTT+ジッター < 競合の p99。
- 1 ms 遅いと 同じアイデアを抱えた奴が先に吸う。
- 注文タイプは IOC or FOK ONLY
- 板に残った瞬間、自分が“狩られる側”に転生。
- キャンセル受領も遅延リスクなので FOK で確定かつ短 TTL。
- 毒見(Markout)を必ず取る
- 約定 1 s 後に損していないかを毎回記録。
- “勝率 95 %だけど平均−0.5 tick”なら トータル負け。
- イベントブラックアウト
- CPI/FOMC/メンテ直前は MM がクオートを引っ込める → 餌なし市場で自爆。
- 経済カレンダー±3 min は自動スリープ。
3. 負け筋(ハンターが自爆するパターン)
- レイテンシ錯覚
“ping 20 ms だから速いでしょ♡” → 本番は gateway queue で +100 ms。 - ヘッジ先が同時に固まる
叩いた瞬間、別の取引所もスプレッド潰れて逃げ場ナシ。 - クオートが実はアイスバーグ
「広いスプレッド♪」→ぶつけたら一瞬で 10 x の反対サイズが湧いて死亡。 - スリッページ地獄
板に当るサイズがデカすぎて自分の約定で価格が動き、差額が蒸発。 - 手数料見落とし
ターゲット差額 4 bp なのに両取引所 taker 手数料合計 3.8 bp → 実利 0.2 bp = 実質マイナス。
4. スナイパー向け“ゆる KPI”
KPI | 合格ライン |
---|---|
Fill→ヘッジ完了までのΔt | < 25 ms |
Markout(1 s) | > +0.0 tick(負なら死) |
成功率(完全両建てでクローズ) | ≥ 99 % |
平均レイテンシ / ジッター | < 取引所 p95 / ジッター比 < 1.5 |
日次 PnL / 期待値比 | 実測 > 0.8 × 理論値(理論と乖離大ならモデル劣化) |
5. 一口メモで総括
「他人の広げた傘に速攻で潜り込んで傘ごと奪うゲーム」
成功=傘を奪って雨よけ+差額、失敗=手数料払って傘骨が刺さる。
だから 速さ・ヘッジ確率・毒見統計 の三点セットが揃っているか毎秒チェックしろ、
揃ってないなら 日雇いマーケットメイカー にクラスチェンジしてしまうぞ。
1. ACKって何者?
- 正式名: Order Acknowledgement(注文受領通知)。
- いつ来る? あなたが
POST /order
を投げた直後、取引所が「受け取ったよ、IDはコレね」と返す最初の FIX/REST/WebSocket メッセージ。 - なぜ重要?
- レイテンシ指標 -
ts_send → ts_ack
が最短でないと、同じアイデアを抱えた速い人に横取りされる。 - 生死確認 - ACK が返らない=通信断 or 取引所障害。放置すると“送れてないのにヘッジだけ約定”事故が起きる。
- レイテンシ指標 -
要するに ACK は「注文の心電図」。心拍が遅れたら即 CPR(Cancel-All & Pause)。
2. “餌(見せ板)を撒く”=自作自演 Maker?
MM スナイパー専業なら基本は“餌を狩る側”。
でも 勝ち筋強化という文脈では、小さく流動性を供給するハイブリッド戦略が効く場合があります。
やること | 得られる果実 | リスク/必要ケア |
---|---|---|
① ミニサイズ埋め草 (Best ±1-2 tick に極小 Qty を置く) | - 自分の mid 推定を板に写しておける。 - 他人の“ズレたクオート”が出る確率UP=狩りやすい。 | - 逆に自分が毒見役に。 - IOC/FOK で即逃げ or TTL ≤ 50 ms。 |
② Rebate Farm (Maker リベートを餌代にする) | - 取引所が -0.02 % Maker なら、狩りミス分をリベートで穴埋め。 | - リベート終了=突然赤字。 - Fee-watcherで即スイッチOFF。 |
③ Depth Spoof Shield (1-2% 離れた所に薄い板) | - 他の MM の板潰しを早期検知→先回りヘッジ。 | - Spoof規制でBANのリスク。 - TTL で自動キャンセル、過剰チカチカはNG。 |
④ Feel-Out Ping (板イベント前に極小枚数を置いて流動性反応を見る) | - 実在板か氷山か判定。本物なら狩りGo。 | - Ping自体が狩られる→手数料負け。 - サイズは「手数料×2 以下」で。 |
実装メモ
# ミニ埋め草例:Qty 0.001 BTC, TTL 30 ms if spread_live > target and not event_blackout: order_id = post_limit(side='buy', price=best_bid+1, qty=0.001, ttl=30)
3. まとめ
「ACK 遅延は息切れサイン、餌撒きは釣り糸のオマジナイ」
狩り専でも最小限の流動性を撒くと獲物は寄って来る。
ただし撒いた餌に自分が引っかかったら本末転倒。
TTL・リベート・イベント停止線を三点セットで装備すれば、
“蚊” のまま 血を吸い逃げできる確率が上がる。

ここから “個人トレーダー視点での MM 幻想 vs 現実” を 4 コマでぶった斬っていきます。
コマ | よくある解説動画のセリフ | 実際に起きること |
---|---|---|
① | 「広いスプレッドを見つけたら同時に両建てして利ザヤ確定!」 | その板、あなたより速い BOT が 200 台監視中。置いた瞬間 Ask だけ吸われて在庫沼へダイブ。 |
② | 「片側 fill したら すぐ逆サイドも約定するので在庫リスクはゼロです」 | “すぐ”=乱数。秒単位で逆走 → ヘッジを成行で投げた瞬間スプレッド蒸発、手数料で赤字完成。 |
③ | 「レイテンシ? ping 30 ms なら十分」 | 30 ms = 永遠。本職は 300 µs 台。結果、あなたが Liquidity Provider 役(=養分)に昇格。 |
④ | 「個人でも日利 0.5 % 余裕」 | 微益を 200 回重ねる前に 1 回のイベントでドローダウン −10 %。帳簿もメンタルもフラットライン。 |
個人が “瞬間乖離抜き” をやるなら最低限知っておく地雷マップ
- 板が薄い ≠ スプレッドが抜ける
- depth10 がショボいほど 自分の成行で価格を動かす。利幅が自分の足で消滅。
- 手数料と滑りを 2 倍盛りで見積もる
- 動画は手数料 0.1 %×2 だけ計算 → 滑り 0.05 %×2 を忘れて爆死。
- ヘッジ先の“回線混雑”
- 国内取引所はメンテ時間前後で注文が固まる → 両建ての片足が宙づり。
- イベント無警戒は一撃死
- CPI・雇用統計・ETF 可否報道… 予約投稿で YouTuber が動画を上げる頃にはもう遅い。
- 資本効率とポジサイズ
- 100 万円で BTC/JPY を 0.02 BTC ずつ刈っても 年 5 桁円の世界。
- レバを掛けに行くと在庫ショックで 1 回退場。
「それでもやるなら」チェックリスト(ミニ版)
項目 | 合格ライン |
---|---|
ラウンドトリップ手数料 (双方向) | < 差額の 40 % |
ping→ACK | < 100 ms & ジッター < 50 ms |
ヘッジ成功率 | ≥ 99 %(失敗 1 % で PnL が 0 になる計算) |
Mark-out(1 s) | 平均 ≥ 0 tick |
イベント停止線 | 経済指標 ±3 min は自動 pause |
学びの近道(=手抜き指南)
- 板 WebSocket ログ を 1 日垂れ流し → 自分の脳で “毒板” と “空白” を可視化。
- 超小ロットで 100 回テスト → fill 後 1 s PnL を Excel プロット。
- 手数料・滑り・失敗ヘッジを全部差し引いて 理論値と照合 → 食えるか即判定。
- 食えそうなら 自前 kill-switch(p99 ×2 over, PnL -3σ) を先に書く。
ワンフレーズで締め
「個人 MM は ‘他人の落とした小銭を拾う競争’。
先に拾われたら、そのまま ‘小銭を落とした人’ になる。」

勘で突っ込むより、まず板ログを見て“拾える小銭が本当に転がっているか”を数字で確認。
それが 個人レベルで瞬間乖離を抜く唯一の現実的スタート地点です。
個人 MM は ‘他人の落とした小銭を拾う競争’みたいなもん。他人より先に拾えないなら、そのまま ‘小銭を落とし続ける人’ になるんよ。まず板ログを見て“拾える小銭が本当に転がっているか”を数字で確認しないとね。
— よだか(夜鷹/yodaka) (@yodakablog) July 14, 2025