Trader OS
Phase 3 · 市場の微細構造

第 15 章 · Market Maker

買い注文と売り注文を同時に出して価格差を稼ぐことが、見た目ほど簡単ではないのはなぜでしょうか?

読書モード
練習するスキル
市場を理解する実際に約定する損失を制御する
3D シミュレーション
取引ホール · マーケットメイク(計画中)

市場の現場

現在の読書モードではこの節を折りたたんでいます。

第 13 章を読んだ周さんは、値上がりも値下がりも予想せず、価格差だけを稼ぐ方法を思いつきました。

ある取引所の BTC に、2本の注文を同時に出す小さなプログラムを書きました。買い注文は仲値より 0.05% 下、売り注文は仲値より 0.05% 上です。買いに来る人には売り、売りに来る人からは買います。1回約定するたびに、新しい仲値を基準に2本の注文を出し直します。

計算では、1日に約 1,000 件の注文が来ます。1件は 0.1 BTC、つまり 6,000 ドル。1回の約定で 0.05%、3 ドルを稼げます。買い手と売り手の数はほぼ同じなので、BTC が出入りしても最後の保有量はゼロになるはずでした。

初日、プログラムは 1,602 ドルを稼ぎました。

12日目には、12,616 ドルを失いました。その日の約定件数は普段とほぼ同じで、1件 3 ドルで計算すれば、価格差からは普段より少し多く稼いでいました。しかし一日中、買い手が売り手より多く、プログラムは売り続け、BTC の不足分が 5 BTC を超えました。それなのに価格は上がり続けました。

1か月では、30 日のうち 13 日が赤字で、月全体の利益はわずか 1,504 ドルでした。

価格差だけを稼いでいるはずなのに、なぜ損をするのでしょうか。しかも、一度の損失で十数日分の利益が消えるのはなぜでしょうか?

あなたが決める

現在の読書モードではこの節を折りたたんでいます。

この市場では、約定しに来る5人に1人が、次に価格が動く方向をあなたより先に知っているとします。買値と売値を、それぞれ仲値からどれだけ離しますか?

結果を観察する

現在の読書モードではこの節を折りたたんでいます。

4つの選択肢を比べると、次の3点が分かります。

  • 近すぎると赤字になる。 普通の参加者は多く来ますが、1件あたりの収入は小さくなります。一方、先に相場を知る人は、どこに注文を出しても、利益が出る限り必ず来ます。
  • 遠すぎてもよくない。 1件あたりの収入は大きくても、普通の参加者は来なくなり、先に相場を知る人は1人も減りません。その間に最適な位置があります。この市場ではそれぞれ 0.06% 離した位置で、1日平均 672 ドルです。
  • 平均で稼げても、毎日稼げるとは限らない。 周さんの設定は1日平均 600 ドルの利益ですが、ある1日で十数日分の利益を失うことがあります。その日も価格差からは稼いでおり、損失は積み上がった BTC から生じます。保有量に上限を設けると、平均収入は少し減っても、最悪の日を改善できます。

初日に 1,602 ドルを稼いだからといって、設定が優れているとはいえません。12日目に 12,616 ドルを失ったからといって、設定が悪いともいえません。見るべきなのは、1,000 日の分布です。

仕組みを理解する

周さんのお金には、3つの収益・損失源があります。

  1. 約定ごとに半スプレッドを稼ぐ
  2. 先に相場を知る人に選ばれる
  3. 保有する BTC が価格変動の影響を受ける

1つ目は価格差です。 毎回、仲値から 0.05% 離れた価格で約定し、3 ドルを稼ぎます。この部分は常にプラスです。

2つ目は、相手に選ばれることです。 この市場では、注文が1件来るたびに、その後の価格が 0.1% 上がるか下がります。普通の参加者が買うか売るかは、その後の方向とは無関係なので、平均では損益ゼロです。先に相場を知る人は違います。価格が上がる直前にだけ買い、下がる直前にだけ売ります。その人との約定で、周さんは価格差から 3 ドルを稼いでも、直後の価格変動で 6 ドルを失います。そうした人が1日に約 200 人いれば、損失は1日 1,200 ドルです。

幅を広げるほど、その人たちから価格差として取り戻せる金額は増えますが、普通の参加者は減ります。情報を多く持つ参加者の割合が高いほど、価格差を広くする必要があります。 普通の参加者が誰も来ない幅になれば、注文を出す意味はなくなります。このモデルでは、先に相場を知る人が5割になると、どの幅でも利益が出ません。

3つ目は保有する BTC です。 普通の参加者が買うか売るかはランダムなので、周さんの保有量もランダムに増減します。価格もランダムに動きます。両者の組み合わせによる損益は平均ゼロですが、ある1日では大きくなることがあります。12日目は次のとおりでした。

その日の3つの要因金額
価格差+1,922 ドル
先に相場を知る人に選ばれた損失−1,340 ドル
保有する BTC の価格変動−13,197 ドル
合計−12,616 ドル

その日は不足分が最大 5.4 BTC に達し、終値時点でも 5.1 BTC が不足していました。価格差から稼ぐ額は小さくても、保有量から大きな損失が生じます。 そのため、マーケットメイクで最も大切なのは数量の管理です。

用語を知る

マーケットメーカーMarket Maker

買い注文と売り注文を同時に出し、いつでも相手と約定する用意をしている人や組織です。板にある「すぐに約定できる」注文の多くは、マーケットメーカーが提供しています。第 1 章で一日中注文を出していた会社も、その一例です。

気配提示Quote

マーケットメーカーが提示する買値・売値と、約定できる数量です。仲値からの距離は半スプレッドです。周さんの気配は仲値からそれぞれ 0.05% 離れています。

スプレッド収益Spread Capture

1回の約定で稼ぐ半スプレッドです。マーケットメーカーの唯一の安定的な収入ですが、1件あたりは小さく、約定件数で積み上げます。

在庫Inventory

約定によってマーケットメーカーの手元に積み上がる通貨です。余剰にも不足、つまりマイナスにもなります。価格変動で損益が生じ、マーケットメーカーの最大のリスク源になります。一般的な管理方法は、上限の設定、別の市場でのヘッジ、在庫を減らす方向への気配の移動です。

逆選択Adverse Selection

あなたと約定したい人が、まさにあなたより情報を多く持つ人であり、自分に有利であなたに不利なときだけ来ることです。マーケットメーカーの注文が約定するのは、必ずしもよいことではありません。第 1 章の「情報を多く持つ相手との取引では、平均的に不利になる」が、最もはっきり表れる場面です。

実際の市場

取引所のマーケットメーカープログラムCEX

多くの取引所には専用のプログラムがあります。マーケットメーカーは、一定の時間割合で気配を出し、スプレッドの幅を一定以下、数量を一定以上にすることを約束します。取引所は、手数料の優遇やリベートを提供します。

取引所が費用を払うのは、板の厚さそのものが商品だからです。マーケットメーカーが義務を引き受けるのは、この事業では手数料の数ベーシスポイントの差が、利益と損失の境界になることが多いからです。

45 分間2012 年 8 月 1 日米国株式市場

米国の大手株式マーケットメーカー Knight Capital は、新しいプログラムの導入を誤り、取引開始後に本来出すべきでない注文を送り続けました。短時間で数十億ドルの不要なポジションが積み上がり、45分間で約 4.4 億ドルを失いました。数日後に外部からの資金注入で存続し、数か月後には買収に同意しました。

失ったのは価格差ではなく、制御を失った在庫です。後のリスクエンジンが Kill Switch を要求する理由の1つでもあります。

オンチェーンのマーケットメーカーDEX

板のない分散型取引所で、2種類の通貨をプールに預けて取引手数料を稼ぐ流動性提供者も、実質的にはマーケットメーカーです。相手が通貨を交換するとき、プールが提示中の気配に相当します。

同じく逆選択に直面します。別の場所の価格が変わってもプールが追いついていなければ、裁定取引者が先に約定して価格差を取り去ります。この約定方式は第 16 章で扱います。

実践する

Lab1日マーケットメーカーになる30 分本サイトのマーケットメイクシミュレーション

以下は周さんの市場です。初期値も同じ設定です。

1日あたりの平均約定数
600 件
スプレッド収入
+1,800 米ドル
逆選択
−1,200 米ドル
1日あたりの平均合計
+600 米ドル

上の4つの数値は期待値で計算した長期平均。在庫の損益は含まず、価格変動に伴う在庫損益の平均をゼロとしている。在庫上限も考慮しない。

1,000 日のシミュレーションにおける平均スプレッド収入
+1,799 米ドル
1,000 日のうち損失が出た日数
34.4%
下位 5% にあたる日の損益
−3,863 米ドル
12日目の損益
−12,616 米ドル
12日目の在庫の推移(上は保有、下は不足)最大5.4 BTC

1日 1,000 件の注文、1件 0.1 BTC。注文ごとに価格が 10 ベーシスポイント上下する。マーケットメイクの損益源を見るために単純化したモデル。

教材の版V1-docs、出所lab:market-maker;第15章 / TRD-MICRO-003

クリック時のパラメーターと結果だけを記録する。実験への合格を意味しない。
保存予定のスナップショットを見る
  1. パラメーターを変えず、1日平均のスプレッド収益、逆選択、合計と、1,000 日のうち最悪の 5% の日を記録します。
  2. 「情報を持つ取引者」を 0% から 60% へ徐々に増やします。どの割合から、半スプレッドをどれだけ広げても1日平均で利益が出なくなりますか?
  3. 情報を持つ取引者を 20% に固定し、在庫上限を「なし」から 1 BTC、さらに 0.5 BTC に変えます。平均利益はいくら減り、最悪の日はどれだけ改善しますか?どれを選びますか。その理由も考えてください。
  4. 任意の取引所の BTC 現物の公開板を開き、最良買値、最良売値、取得時刻を記録し、スプレッドをベーシスポイントに換算します。取引の少ない小さな通貨でも同じことをします。両者の差のうち、逆選択と在庫リスクへの補償はどれくらいでしょうか?

変数を1つ変える

もし情報を持つ取引者が2割から5割になる

それぞれ 0.01% 離すと1日平均 2,430 ドルの損失、0.05% では 750 ドル、0.09% では 30 ドルの損失です。どの幅でも利益は出ません。

損をしない唯一の方法は、気配を 0.1% より遠くに置き、誰も約定しないようにすることです。すると、この市場には注文を出す人がいなくなります。情報を多く持つ人が多すぎると、流動性は消えます。

もしBTC の余剰・不足を最大 1 BTC にする

スプレッドからの平均収入は1日 1,799 ドルから 1,722 ドルに減ります。1,000 日のうち最悪の 5% の日の損失は、3,863 ドル以上から約 1,254 ドルに縮小し、赤字の日は 34.4% から 27.8% に減ります。

少しの収入を手放すことで、最悪の日を改善します。マーケットメーカーの本当のリスク管理の対象は在庫です。

もし情報を持つ取引者が市場にいない

それぞれ 0.05% 離すのが最適で、1日平均 1,500 ドルを稼げます。

それでも、1,000 日のうち 22.6% が在庫によって赤字になります。在庫上限を 1 BTC にすると、赤字の日は 8.6% に減り、最悪の 5% の日の損失も約 203 ドルになります。

3つの学習レベル

同じ知識ノードTRD-MICRO-003について、3つの学習レベルでそれぞれ問いを立てる
  1. 基礎売買注文を同時に置いて値ざやを稼ぐのが、見た目ほど簡単でないのはなぜでしょうか?第 15 章
  2. 発展マーケットメーカーは在庫と注文フローから提示価格をどう調整し、逆選択を抑えるか?Advanced E · 執行と市場マイクロストラクチャー
  3. 機関リスク上限、在庫ヘッジ、取引所リベートはマーケットメイクの利益をどう決めるか?Institutional
  4. 3Dマーケットメーカーとして売買の指値を同時に置く。継続的な約定に対し、スプレッド、在庫、逆選択を管理する。取引ホール

マーケットメイクの3つの損益源:スプレッドは安定した小さな収入、逆選択は系統的な損失、在庫はランダムで大きな損益です。1つ目だけを見ると、必ず稼げる事業に見えてしまいます。

約定は必ずしもよいことではない:あなたの注文が取られたら、まず「相手はなぜ今来たのか」と問います。

持ち帰る問い

2
背後の仕組みは何か?反対側には誰がいるか?
相手はなぜ今約定しに来たのでしょうか?「自分より情報を持っている」なら、出している注文で相手にお金を渡していることになります。
5
最悪の場合、いくら失うか?
最悪なのは1件の損失ではなく、一日中同じ側に立ち、在庫が積み上がり、価格も逆方向へ動き続けることです。先に在庫上限を決めます。
10
結果が出た後、運と判断をどう区別するか?
周さんは初日に 1,602 ドルを稼ぎ、12日目に 12,616 ドルを失いました。1日だけでは、運と設定の問題を区別できません。

章の理解度チェック

持ち帰る要点

マーケットメーカーはスプレッドを得る代わりに、在庫リスクと逆選択を負います。応じる相手は、自分より詳しいかもしれません。

今回の学習を記録

「既読」はこの章を読んだとの確認だけを表す。理解度チェックは参考結論と照らした自己評価であり、どちらも習得認定や職業レベルではない。クリックごとに時刻付きの端末記録を残す。

核心の問いに答え、自己評価を記録

売買注文を同時に置いて値ざやを稼ぐのが、見た目ほど簡単でないのはなぜでしょうか?

概念習得の自己申告(認定ではない)

本人が明示的に申告する。既読、正解との自己評価、実験結果から習得を推定しない。未申告は不明。撤回すると不明になり、選択済み添付も解除する。

  • 提示価格:未読込

  • スプレッド収益:未読込

  • 在庫:未読込

  • 逆選択:未読込

この章の自己申告はまだ読み込んでいません。申告がないことは習得を意味しません。

この章の文脈を使って質問を準備

Tutor質問作業台

モデルサービスは未設定です。送信すると下のプレビューを当サイトのインターフェースに提出し、未設定の案内を受け取るだけです。外部モデルの呼出しや回答生成はありません。提供元、実行場所、データ保存方式は未定です。

役割の目的:物語、例、計算で概念を説明する。 以下は質問の準備であり、この役割が生成した結果ではありません。

Foundation 第15章 · TRD-MICRO-003 v1.0 · 読書モード foundation 教材の版V1-docs。schemaVersionはデータ構造の版、nodeVersionはノードの版で、3つは別々に記録する。読書モードは自己申告Levelとは異なる。

端末記録の選択と自己申告Levelの管理

読込はクリック後だけに行い、読込はアップロードへの同意を意味しない。既読、自己評価、実験、研究スナップショットは学習者の資料であり、モデルへの指示や検証済みの事実ではない。秘密鍵、身元情報、実口座情報は含めない。

1件ずつ添付を選択(上限10件、既定は未選択)

読込済みの記録がありません。章で既読を確認するか、理解度チェックに回答するか、実験で現在のスナップショットを保存してください。

使用する質問と添付を確認

1~4,000文字の質問を入力してください

サービス未設定。AIの回答はありません。

端末保存、書き出し、削除

記録は現在のブラウザー・サイトのlocalStorageに最大100件保存し、自動期限切れはない。アカウント分離やクラウドバックアップはなく、共有端末の他の利用者が読める可能性がある。1つのタブで編集し、同時書込による上書きを避けて早めに書き出す。変更や削除で選択済み添付は解除され、再読込が必要。

Journalは第35章のログツールで個別に管理・削除する。端末データの削除は、将来のサーバーデータの削除を意味しない。現在はサーバー複製がない。保存をブラウザーが拒否した場合は成功と表示しないため、このページのプレビューをコピーしてください。

端末記録とTutorへの質問を管理

このページの目次