bitbankのマイナスメイカー手数料を「収益源」にするマーケットメイキング戦略
1. マーケットメイキングって何?
「マーケットメイキング」、ちょっと難しそうな言葉だけど、意味はシンプルだ。
直訳すれば「市場を作る」。暗号資産の取引所では、売りたい人と買いたい人が注文を出し合って価格が決まる。ここで「売り注文」と「買い注文」を常に出し続けることで、市場に流動性を供給する役割のことをマーケットメイカーと呼ぶ。
もともとは証券会社や大手ヘッジファンドがやるようなことだけど、個人でも小規模に実践できる。仕組みさえ理解してしまえば、プログラムに自動でやらせることも難しくない。
わたしがPythonで作ったのは、bitbankというXRP/JPY取引ペア向けの自動マーケットメイキングbot。このbotがなぜbitbank専用なのか——その理由が、戦略の一番のポイントになっている。
2. メイカーとテイカー、手数料の違い
取引所で注文を出すとき、手数料が発生する。この手数料には「メイカー手数料」と「テイカー手数料」の2種類がある。
**テイカー(Taker)**というのは、すでに板(注文一覧)に並んでいる注文に対して即座に約定させる側のこと。成行注文がこれにあたる。板の流動性を「消費」する存在なので、手数料は高めに設定されることが多い。
**メイカー(Maker)**はその逆で、板に新しく注文を追加する側。指値注文がこれにあたる。流動性を「供給」する存在として、多くの取引所でテイカーより低い手数料が設定されている。
| 注文タイプ | 役割 | 一般的な手数料 |
|---|---|---|
| テイカー(成行) | 流動性を消費 | 高め(0.1〜0.5%など) |
| メイカー(指値) | 流動性を供給 | 低め(0〜0.1%など) |
ここまでは「メイカーの方がお得」という話に過ぎない。bitbankが面白いのはここからだ。
3. bitbankのメイカー手数料は「マイナス」
bitbankのメイカー手数料は -0.02% だ。
マイナス、つまり「手数料を払う」のではなく「手数料をもらえる」。指値注文を出して約定するたびに、取引所からお金が支払われる仕組みになっている。これを「メイカーリベート」と呼ぶ。
たとえば、1万円分の指値注文が約定した場合:
受け取るリベート = 10,000円 × 0.02% = 2円
1回あたりは確かに小さい。でもbotが自動で何度も注文と約定を繰り返せば、この2円がどんどん積み上がっていく。
しかも、売りと買い戻しの両方でリベートが発生する。往復で0.04%。これが戦略全体の土台になっている。
4. 戦略の設計思想
このbotが採用した戦略を、シンプルに書くとこうなる。
① 現在価格より少し高い位置に「売り指値注文」を置く
② 約定したらポジション(ショート)が建つ
③ 買い戻しの指値注文を置く
④ 約定したらポジションが決済される
⑤ ①に戻る(ループ)
この繰り返しで得られる収益の源泉は主に2つ。
① メイカーリベート
売りと買い戻しの両方を指値注文にすることで、約定のたびに手数料を受け取れる。
② スプレッド収益
売り価格と買い戻し価格の差(スプレッド)が利益になる。
現在の設定では、ミッドプライス(最良売り気配と最良買い気配の中間値)を基準に、売りを0.1%上、買い戻しを0.1%下に置いている。
ミッドプライス = (最良売り気配 + 最良買い気配)÷ 2
売り注文価格 = ミッドプライス × 1.001
買い戻し価格 = min(直前の約定価格, 現在のミッドプライス) × 0.999
1サイクルで期待できる収益は、スプレッド分(最大0.2%)+往復リベート(0.04%)。小さく見えるけど、これを1日に何十回と自動で繰り返すのがポイントだ。
5. なぜbitbank専用なのか
同じ戦略を他の取引所で試しても、うまくいかない。理由はシンプルだ。
メイカー手数料がプラスの取引所では、スプレッドで得た利益を手数料が食いつぶしてしまう。
たとえばメイカー手数料が0.1%の取引所で同じように往復させると:
スプレッド収益(最大) ≒ +0.2%
メイカー手数料(往復) = -0.2%
差し引き ≒ 0%
プラスにもマイナスにもならない。実際にはスプレッドが毎回最大幅で取れるわけじゃないから、むしろマイナスになることの方が多い。
bitbankのマイナスメイカー手数料(-0.02%)は、この計算式をプラス側に傾けてくれる。たった0.02%の違いが、戦略の成否を分けることになる。
6. まとめ・次回予告
この戦略のポイントをまとめるとこうなる。
- bitbankのマイナスメイカー手数料(-0.02%)が戦略の土台
- 指値注文で売り・買い戻しを繰り返すことでリベートを積み上げる
- スプレッドと手数料リベートの両方が収益源
- 他取引所では成立しない、bitbank専用の設計
次回は、このbotの実際のコード設計——注文フローの詳細、ミッドプライスの使い方、設定パラメータの意味——を解説する予定だ。
なお、このbotのソースコードは現在、有料での公開を準備中。詳細はnote記事にてお知らせする予定なので、気になる方はそちらも見てみてほしい。
使用技術:Python / python-bitbankcc / PubNub / python-dotenv