Bot 思考ログ 書籍・論文・web記事 開発ログ

🛠️開発記録#561(2026/6/25)「ミクロ経済学の力(6~10章)」のまとめとbot設計メモ

こんにちは、よだかです。

ミクロ経済学の力」を一通り読み終えたので、それを起点に考えたことや、bot設計に接続するアイデアなどについてまとめておきます。

今回はゲーム理論や情報の経済学が中心でしたが、「金融マーケット予測ハンドブック」や「金融読本」など、これまで学んできた内容とも接続する部分が多くありました。

ここまでの学びを体系的に整理しつつ、今後のbot設計で試していきたいことについてもまとめていきます。

関連記事
🛠️開発記録#560(2026/6/23)「ミクロ経済学の力(3,4,5章)」を読んで、理論と制度の接続を調べた話

続きを見る

1. 「ミクロ経済学の力」を読んで、bot設計の見方が変わった

今回の読書で一番大きかったのは、市場を単なる価格変動として見るのではなく、複数の参加者がそれぞれの情報・制約・目的に従って行動する場として見直せたことです。

価格は動きます。

板も動きます。

出来高も、建玉も、fundingも、basisも動きます。

ただ、それらは単独で存在しているわけではありません。

それぞれの背後には、何らかの参加者の判断があります。

誰かが買う。

誰かが売る。

誰かが裁定する。

誰かがヘッジする。

誰かが清算される。

誰かが流動性を引く。

市場は、そうした行動の集積として変化します。

これまでもbot開発の中で、そのような視点を持っていなかったわけではありません。

むしろ、板や約定、建玉、流動性、USDJPY、ETF、CME、perpなどを観測しようとしてきたこと自体が、その線上にありました。

ただ、今回ミクロ経済学を読んだことで、それらを整理する言葉が少し増えました。

均衡。

情報の非対称性。

シグナル。

逆淘汰。

モラルハザード。

利得。

こうした概念を通すと、既存の観測機も少し違って見えます。

単にデータを取るのではなく、そのデータが何を表しているのか。

どの市場の、どの状態を見ているのか。

どこからどこまでを「fair」と見なすのか。

どのズレはトレードの根拠になり、どのズレは無視すべきなのか。

あるいは、どのズレは「今は立たない方がよい」という判断材料になるのか。

このあたりを、もう一段きちんと整理したくなりました。

特に今回は、BTC fair valueの設計や、既存観測機のブラッシュアップにかなり接続できそうだと感じています。

新しい戦略をいきなり思いついたわけではありません。

しかし、今ある観測機をどう見直すか。

どの情報を使い、どの情報を外すか。

どの市場を基準にし、どの市場では別の基準を使うか。

そうした設計判断の正当性や切り替えポイントを、以前よりも速くイメージできるようになった感覚があります。

今回の記事では、本書の内容を軽く整理したうえで、そこからbot開発に接続できそうな点をまとめます。

中心になるのは、シグナルの捉え方、均衡の見方、BTC fair valueの設計、そして既存観測機のブラッシュアップです。

ここからは、読書で得た概念を、実際の設計と検証へ戻していくフェーズに入ります。

2. 本書後半の内容をざっくり整理する

後半で扱われていた内容は、かなり大きく見ると「人や組織が、相手の行動や情報を完全には読めない中で、どのように意思決定するのか」という話だったと理解しています。

まず出てくるのがゲーム理論です。

ゲーム理論では、自分の行動だけで結果が決まりません。

相手が何を選ぶのか。

相手はこちらの行動をどう予想するのか。

こちらは相手の予想をどう読むのか。

そうした相互依存の中で、各プレイヤーが自分にとって良い行動を選ぶ状況を考えます。

ナッシュ均衡は、その代表的な考え方です。

ざっくり言えば、各プレイヤーが相手の行動を前提にしたとき、自分だけ行動を変えても得をしない状態です。

市場で言えば、ある価格帯やポジションの偏りがしばらく維持されている状態を、そのまま均衡として見ることもできます。

ただし、実際の市場では、均衡は固定された点というより、ある程度の幅を持った状態として見る方が自然かもしれません。

次に、部分ゲーム完全均衡です。

これは、ゲーム全体だけでなく、その途中から始まる各局面においても合理的な選択になっているかを見る考え方です。

市場でも、全体の見通しだけでなく、局所的な判断が重要になります。

大きな方向性としては買いでも、今この板で買うのか。

このスプレッドで入るのか。

この出来高で追うのか。

この局面では撤退するのか。

bot開発では、こうした局所判断の積み重ねが重要になります。

期待効用の考え方も出てきます。

これは、単純な期待値だけでなく、リスクに対する感じ方も含めて意思決定を考える枠組みです。

同じ期待値でも、損失の大きさや資金量、連敗への耐性によって、取るべき行動は変わります。

トレードでは、期待値がプラスかどうかだけでなく、資金管理、ドローダウン、破産確率、精神的な耐久性まで含めて考えないといけません。

このあたりは、ケリー基準やポジションサイズの考え方とも接続しやすい部分でした。

その後に出てくるのが、情報の経済学です。

ここでは、取引相手同士が同じ情報を持っていない状況を扱います。

例えば、売り手は商品の質を知っているが、買い手は知らない。

雇われる側は自分の能力をある程度知っているが、雇う側は完全には分からない。

保険に入る人は自分のリスクを知っているが、保険会社はそれを完全には観測できない。

このような情報の非対称性があると、市場では歪みが生じます。

逆淘汰は、その代表例です。

質の良いものと悪いものを見分けられないと、買い手は平均的な価格しか払えません。

すると、質の良い売り手が市場から退出し、質の悪いものが残りやすくなります。

市場参加者の質や情報量を見分けられないと、良い取引機会が消えて、悪い取引ばかりが残る。

この構造は、金融市場でもかなり重要だと感じました。

モラルハザードは、契約後の行動が見えにくいことで起きる問題です。

保険に入ったあとに注意深く行動しなくなる。

他人の資金を運用する側が、自分では損失を負わないリスクを取る。

取引所や発行体、流動性提供者など、こちらから完全には観測できない主体がいる場合にも、似た問題は起こり得ます。

ここで大事なのは、モラルハザードを単なる倫理問題として見ないことです。

問題は、行動が見えにくいこと。

そして、インセンティブがズレていることです。

シグナリングは、情報を持っている側が、自分の質を相手に伝えるための行動です。

学歴や資格は、その典型例として扱われます。

例えば、教育そのものは人間の能力を育てている面もありますが、同時に「一定の水準を通過できた」というシグナルにもなります。

これを市場に置き換えると、単発の発言や一時的な板の厚さよりも、継続した出来高、長時間維持される価格帯、実際の資金流入などの方が、より重いシグナルとして扱えるかもしれません。

最後に、厚生経済学や社会的選択の話も出てきます。

ここでは、個人の選択や市場の結果を、社会全体としてどう評価するのかが問題になります。

ただ、今回のbot開発との接続で言えば、厚生そのものよりも、「制度やルールが参加者の行動をどう変えるのか」という見方の方が重要でした。

取引所のルール。

手数料。

証拠金制度。

清算ルール。

API制限。

こうした制度設計は、参加者の行動を変えます。

つまり、市場は自然に存在しているものではなく、制度と参加者の相互作用として動いている。

本書後半を通して、そのような見方がかなり整理されました。

まとめると、後半の内容はこうです。

市場では、参加者は完全な情報を持っているわけではありません。

相手の意図も、質も、制約も、次の行動も完全には分かりません。

それでも、観測できる情報をもとに、自分にとって合理的な行動を選びます。

その結果として、均衡が生まれ、ズレが生まれ、シグナルが発生し、時には逆淘汰やモラルハザードのような歪みも起こります。

この理解は、bot開発にかなり接続しやすいものでした。

3. 市場を「価格」ではなく「均衡の状態」として見る

今回の読書で、かなり大きかったのが「均衡」という見方です。

これまで市場を見るとき、一部の観測機では価格を中心に見ていました。

BTCが上がった。

BTCが下がった。

レンジを抜けた。

一定の価格帯で止まった。

もちろん価格は重要です。

最終的に損益を決めるのは価格ですし、botが売買するのも価格です。

ただ、価格に重きを置き過ぎると、その背後で何が起きているのかが見えにくくなります。

今回、ゲーム理論の話を読みながら考えたのは、市場を「価格の点」ではなく、「均衡の状態」として見る必要があるのではないか、ということでした。

例えば、BTCがある価格帯でしばらく推移しているとします。

そのとき、単に「価格が横ばい」と見ることもできます。

しかし、もう少し分解すると、そこにはいくつかの状態が重なっています。

現物市場の買いと売り。

先物市場のポジション。

perpのfunding。

CMEとのbasis。

USDJPYを通したJPY建て価格。

ETFや現物フロー。

板の厚さ。

出来高。

約定の偏り。

清算ライン。

これらが一定の範囲内で釣り合っているから、結果として価格がそのあたりにいる。

そう考えると、均衡とは「価格が止まっている点」ではありません。

複数の状態量が、ある範囲で整合している状態です。

ここで重要なのは、均衡を点として見るのか、帯として見るのかです。

例えば、BTCのfair valueを1つの数値として出すことはできます。

しかし実際の市場では、常にぴったりその価格に収束するわけではありません。

スプレッドがあります。

手数料があります。

為替のズレがあります。

各市場の流動性差があります。

執行遅延もあります。

市場参加者の制約もあります。

そう考えると、fair valueは一点というより、ある程度の幅を持った帯として扱う方が自然です。

この幅の中にいるなら、誤差。

この幅を少し外れたなら、注意。

大きく外れたなら、歪み。

さらに、そのズレが一瞬で戻るのか、継続するのか。

そこまで見て初めて、トレード判断に近づきます。

均衡は、静止画ではなく動画として見る必要があります。

今どこにいるのか。

どの方向へズレているのか。

そのズレは広がっているのか、縮んでいるのか。

ズレを戻すプレイヤーはいるのか。

戻すだけの流動性はあるのか。

戻るまでの時間軸は、自分のbotが扱える範囲なのか。

このあたりまで含めて考えないと、単に「割安」「割高」と判定しても、実際の売買にはつながりません。

例えば、BTC/JPYの執行市場を見ているとします。

BTC/USDとUSDJPYから合成した理論価格に対して、BTC/JPYが少しズレている。

このとき、すぐに裁定できるなら話は簡単です。

しかし、実際にはそう単純ではありません。

そのズレは本当に裁定可能なのか。

板は足りているのか。

手数料を超えているのか。

約定できるのか。

為替側の価格はどの程度リアルタイムなのか。

海外市場と国内市場の参加者は同じ時間軸で動いているのか。

国内市場特有の需給なのか。

この仕分けをしないと、見かけ上のズレを優位性と誤認してしまいます。

つまり、均衡を見るということは、単に理論価格を出すことではありません。

どの市場とどの市場が、どの条件下で、どの程度まで整合しているべきなのか。

その整合から外れたとき、それはノイズなのか、構造的な歪みなのか。

そして、その歪みは自分が取れるものなのか。

ここまで含めて考えることです。

この見方は、BTCに限りません。

ほとんどの金融商品には、何らかの基準価格があります。

現物と先物。

ETFと原資産。

為替を通したクロス価格。

金利差を反映したフォワード価格。

同じ商品を別市場で取引したときの価格差。

そこには必ず、何らかのfair性の基準があります。

もちろん、そのfairは絶対ではありません。

市場によって違います。

時間軸によって違います。

参加者によって違います。

執行コストによって違います。

だからこそ、「何に対してfairなのか」を最初に定義する必要があります。

これは今回、かなり大きな気づきでした。

価格を見るだけでは足りない。

理論価格を見るだけでも足りない。

その理論価格が、どの市場に対して、どの時間軸で、どの程度使えるものなのか。

どこまでは誤差として扱い、どこから歪みとして扱うのか。

その歪みは、トレードする根拠なのか、様子を見る根拠なのか。

ここを整理することが、今後の観測機のブラッシュアップにつながると感じています。

今までも、私は板や約定、建玉、funding、basis、USDJPY、ETF、CMEなどを観測しようとしてきました。

ただ、それらを個別のデータとして見るのではなく、均衡状態を構成する状態量として見る。

この整理ができると、観測機の意味づけが変わります。

BTC fair valueは、単なる理論価格ではありません。

市場間の整合性を見るための基準です。

fundingは、単なるロング・ショートの偏りではありません。

レバレッジ市場の期待や負担の状態です。

basisは、単なる価格差ではありません。

現物と先物の時間軸や資金制約のズレです。

板は、単なる注文の集合ではありません。

その瞬間に見えている流動性の配置です。

こうして見ると、市場は価格の時系列ではなく、複数の状態量が相互に変化するシステムとして見えてきます。

botが見るべきものも、価格そのものだけではありません。

均衡の位置。

均衡の幅。

均衡からのズレ。

ズレの継続性。

ズレを戻す力。

そして、ズレが戻らない理由。

このあたりを観測できるようにすることが、次の設計課題になりそうです。

4. シグナルは「買う根拠」だけではなく「立たない根拠」でもある

今回の読書で、もう一つ大きかったのがシグナルの捉え方です。

これまで私は、シグナルという言葉をかなりトレード寄りに使っていました。

つまり、

これは買えるのか
これは売れるのか
ここに優位性はあるのか

を示す材料としてのシグナルです。

もちろん、それは間違っていません。

botにとって最終的に重要なのは、どこで入るのか、どこで出るのかです。

その意味で、トレードの根拠になる情報をシグナルと呼ぶのは自然です。

ただ、今回の情報の経済学を読んで、シグナルの捉え方をもう少し広げた方がよいと感じました。

シグナルは、単に「入ってよい」という根拠だけではありません。

「入らない方がよい」という根拠も、シグナルです。

むしろ、bot開発ではこちらの方が重要になる場面も多いかもしれません。

市場には、分かりやすいチャンスよりも、分かりにくい局面の方が多いです。

価格は動いている。

出来高もある。

板もそれなりにある。

でも、なぜ動いているのかがよく分からない。

その動きが継続するのかも分からない。

見かけ上は歪みに見えるけれど、手数料やスリッページを考えると取れない。

一瞬だけズレているが、約定できる頃には戻っている。

こういう局面はかなり多いです。

以前の私は、どちらかというと「OKの強さ」を測ろうとしていました。

この条件がそろったら入る。

このズレが大きければ入る。

この反応があれば立つ。

つまり、シグナルを「エントリーに近づく材料」として扱っていました。

しかし、実際のトレードでは、NOの根拠も同じくらい重要です。

今は見送る。

このズレは取らない。

この市場は使わない。

この時間帯は触らない。

このシグナルは薄い。

この動きは一時的すぎる。

この歪みは自分の執行速度では取れない。

こうした判断も、立派なトレード判断です。

特にbotの場合、人間のように「なんとなく嫌な感じがする」で止まることができません。

止まるなら、止まる条件を定義する必要があります。

入らないなら、入らない理由を観測可能な形にする必要があります。

この点で、シグナルの概念を広げる意味があります。

シグナルには、方向だけでなく、強さがあります。

濃さがあります。

継続性があります。

信頼度があります。

そして、逆方向の意味もあります。

例えば、BTC fair valueから見て価格が割安に見えるとします。

この時点では、一見すると買いシグナルです。

しかし、その割安が一瞬だけのズレなのか。

板が薄いだけなのか。

国内市場だけの一時的な需給なのか。

海外市場が先に動いているだけなのか。

USDJPY側の更新遅延による見かけのズレなのか。

手数料とスリッページを超えるのか。

同じズレが何秒、何分、何時間続いているのか。

ここまで見ないと、本当に使えるシグナルかどうかは分かりません。

つまり、割安という情報は、それだけでは不十分です。

割安であること。

その割安が継続していること。

執行可能であること。

戻す力が存在すること。

戻るまでの時間軸が、自分のbotに合っていること。

このあたりが揃って、初めてトレードに使えるシグナルになります。

逆に言えば、どれかが欠けているなら、それは「買う根拠」ではなく、「見送る根拠」になります。

ここを実装上も分けたいと考えています。

単にスコアが高ければ買う、低ければ買わない、というよりも、

  • OKの強さ
  • NOの強さ
  • 判断不能の濃さ

を分けて扱うイメージです。

OKが強い。

NOが弱い。

判断不能も小さい。

こういう時だけ、トレード候補にする。

一方で、OK要素があっても、NO要素も強いなら立たない。

例えば、価格差はあるが板が薄い。

basisは広がっているが、流動性が落ちている。

fundingは偏っているが、現物出来高が追随していない。

ETFフローは強いが、perp側が過熱している。

こういう局面では、単純なシグナルだけを見ると入ってしまうかもしれません。

しかし、NOの根拠を別に持っていれば、見送る判断ができます。

これは、かなり重要だと思っています。

トレードで利益を出すには、良いエントリーを増やすだけでは足りません。

悪いエントリーを減らす必要があります。

そして、悪いエントリーの多くは、「シグナルがまったくない局面」ではなく、「中途半端に良さそうに見える局面」から生まれます。

少しズレている。

少し強そう。

少し取れそう。

でも、実際には取れない。

こういう局面を避けるためには、NOの根拠を明示的に扱う必要があります。

これは情報の非対称性の話ともつながります。

市場では、こちらに見えている情報は限られています。

見えている板も、実際に約定するとは限りません。

見えている出来高も、それがどの参加者の行動なのかは分かりません。

見えている価格差も、それが本当に裁定可能なのかは分かりません。

だからこそ、シグナルは常に不完全です。

その不完全さを前提にするなら、シグナルを「GO」のためだけに使うのは危険です。

「GOかもしれないが、まだ不十分」

「ズレはあるが、取れるとは限らない」

「動いているが、根拠が薄い」

「情報が足りないので、今は立たない」

こうした判断も、シグナル設計に含めるべきです。

ここで大事なのは、立たないことを失敗と見なさないことです。

立たない判断は、機会損失に見えます。

しかし、トレードでは、入らなかったことで避けられる損失もあります。

特に個人botterの場合、全ての局面を取りに行く必要はありません。

速度で勝てない場所。

流動性が薄い場所。

相手の情報優位が強い場所。

見かけの歪みが多い場所。

こうした場所では、立たない判断の価値が大きくなります。

今回の読書を通して、シグナルとは「優位性の有無」だけではなく、「取るべきか、取らないべきか、判断を保留すべきか」を分けるための材料だと考えるようになりました。

これは、bot設計にもかなり効きそうです。

今後は、観測機から得られる情報を、単にエントリー条件に使うのではなく、

  • 入る根拠
  • 入らない根拠
  • 判断保留の根拠

に分けて整理したいと思います。

そのうえで、シグナルの強さ、濃さ、継続性、執行可能性を見ていく。

これができれば、botは単に「チャンスを探す装置」ではなく、「余計な局面を避ける装置」にもなります。

私にとっては、ここが今回の読書から得たかなり大きな設計上の収穫でした。

5. BTC fair valueをどう定義するか

今回の読書内容をbot開発に接続するうえで、特に具体的に考えたいのがBTC fair valueの設計です。

fair valueという言葉は便利です。

ただ、便利なぶん、かなり雑にも使えてしまいます。

BTCの適正価格。

理論価格。

基準価格。

割安・割高を判断するための価格。

ざっくり言えばそういうものですが、実装に落とすなら、それだけでは足りません。

まず考えるべきなのは、

何に対してfairなのか

です。

BTCそのものに絶対的なfair valueがあるわけではありません。

少なくとも、短期売買や執行判断で使うfair valueは、もっと相対的なものです。

BTC/USDに対してfairなのか。

BTC/JPYに対してfairなのか。

海外現物市場に対してfairなのか。

国内現物市場に対してfairなのか。

perpに対してfairなのか。

CMEに対してfairなのか。

ETFフローを含めた伝統金融側の需給に対してfairなのか。

ここを曖昧にしたまま「BTCのfair value」と言うと、設計がぼやけます。

例えば、Binance JapanのBTC/JPYで執行する場合を考えます。

このとき、BTC/USDとUSDJPYから合成したBTC/JPY価格は、一つの基準になります。

海外市場でBTCがいくらで取引されていて、為替を通すと日本円ではいくらになるのか。

これを見ることで、国内BTC/JPY価格が海外基準からどれくらいズレているかを測れます。

ただし、この合成価格をそのまま絶対的なfair valueとして扱うのは危険です。

なぜなら、実際の執行市場はBinance Japanだからです。

国内市場には国内市場の板があります。

流動性があります。

参加者がいます。

手数料があります。

約定可能性があります。

海外市場と国内市場の間には、直接的には取り切れない摩擦もあります。

つまり、海外BTC/USDとUSDJPYから作った価格は、あくまで「外部基準としてのfair」です。

一方で、実際にトレードできるのは、国内市場の板です。

したがって、実装上は少なくとも二つのfairを分けた方がよいと考えています。

一つは、外部市場から見たfair。

もう一つは、執行市場から見たfair。

外部市場から見たfairは、市場間の整合性を見るために使います。

海外BTC/USD、USDJPY、必要であればperpやCMEなどを参照し、国内BTC/JPYが外部基準と比べてどの位置にいるのかを見る。

これは、歪み検出に近い役割です。

一方、執行市場から見たfairは、実際に入れるかどうかを見るために使います。

板の厚さ。

スプレッド。

約定量。

直近の売買方向。

自分の注文サイズ。

手数料。

スリッページ。

これらを踏まえて、その価格差が実際に取れるものなのかを判断する。

つまり、外部fairは「ズレの発見」に使う。

執行fairは「取れるズレかどうか」の判定に使う。

この二つを混ぜると、見かけ上は割安でも、実際には取れないという状態が起きます。

逆に、外部基準では大きな歪みに見えなくても、執行市場内の板構造としては短期的に有利な局面があるかもしれません。

ここは分けて考える必要があります。

また、何をfair valueの計算に入れるかも重要です。

多く入れればよいわけではありません。

BTC/USD。

USDJPY。

海外現物。

国内現物。

perp。

CME。

ETF。

stablecoin liquidity。

オプション。

オンチェーン。

入れようと思えば、いくらでも入れられます。

しかし、情報を増やしすぎると、何を見ている指標なのかが分からなくなります。

短期の執行判断にETFフローを入れる意味は薄いかもしれません。

逆に、日跨ぎの方向感を見るならETFやCMEは重要かもしれません。

数秒〜数分のズレを見るなら、perpや海外現物の方が効くかもしれません。

国内BTC/JPYの執行を見るなら、USDJPYの更新頻度や参照価格の遅延も問題になります。

つまり、fair valueは一つにまとめるより、用途別に分けた方がよい。

短期執行用fair。

市場間整合性を見るfair。

日跨ぎの上位環境を見るfair。

国内市場の歪みを見るfair。

それぞれで、入れる情報と外す情報は変わります。

ここで重要なのは、完璧なfair valueを作ることではありません。

トレードに使える程度に、十分ざっくりしたfair valueを作ることです。

金融商品におけるfairとは、そもそも厳密な一点ではありません。

手数料やスプレッド、裁定制約、流動性差、参加者の違いを考えれば、fairには幅があります。

その幅の中にいるなら、トレードしない。

幅を少し外れたなら、観測する。

十分に外れ、かつ執行可能性があるなら、候補にする。

このくらいの使い方でも、実務上は十分に意味がある可能性があります。

むしろ、最初から精密すぎる理論価格を作ろうとすると、設計が重くなります。

必要なのは、すべてを説明するモデルではありません。

自分が扱う市場で、使えるズレと使えないズレを分けるための基準です。

その意味で、BTC fair valueは、単なる価格予測モデルではありません。

市場間の整合性を測る観測機です。

外部基準とのズレを見る装置。

執行市場で取れるかどうかを見る装置。

そして、今は立たない方がよい局面を判定する装置。

この三つの役割を持たせたいと考えています。

例えば、外部fairから見るとBTC/JPYが割安に見える。

しかし、国内板が薄く、スプレッドも広く、実際の約定量が小さい。

この場合、割安という情報はあります。

しかし、それは買いシグナルではなく、NOシグナルかもしれません。

逆に、外部fairとのズレは小さい。

しかし、執行市場内で一時的に板が偏り、短期的に有利な約定が狙える。

この場合は、外部fairよりも執行fairの方が重要になります。

また、外部fairとのズレが継続している場合もあります。

一瞬のズレならノイズです。

しかし、一定時間以上続くなら、国内市場固有の需給かもしれません。

あるいは、海外市場の動きが国内市場に遅れて波及しているのかもしれません。

この場合、ズレの大きさだけでなく、継続時間や戻り方を見る必要があります。

fair valueを見るということは、単に「理論価格との差」を見ることではありません。

ズレの幅。

ズレの方向。

ズレの継続性。

ズレを戻す力。

ズレが戻らない理由。

そして、そのズレを自分が取れるかどうか。

ここまで含めて初めて、bot設計に使えるfair valueになります。

これはBTCに限った話ではありません。

現物と先物。

ETFと原資産。

為替を通したクロス価格。

金利差を反映したフォワード。

同一資産の取引所間価格差。

ほとんどの金融商品には、何らかの基準価格や整合関係があります。

その基準から外れたところに、歪みが生まれます。

ただし、その歪みが取れるとは限りません。

ここが重要です。

歪みがあること。

歪みが観測できること。

歪みを執行できること。

歪みが戻ること。

この四つは、全部別です。

fair value観測機では、この四つを混ぜないようにしたい。

まず、歪みがあるかを見る。

次に、それが観測上のノイズではないかを見る。

さらに、執行市場で取れるかを見る。

最後に、戻る可能性があるかを見る。

この順番で整理すれば、単なる理論価格ではなく、botの判断材料として使えるはずです。

今回のミクロ経済学の読書で、ここがかなりはっきりしました。

fair valueとは、絶対的な正解価格ではありません。

市場参加者、取引市場、時間軸、執行条件によって変わる、相対的な基準です。

だからこそ、どこに対して何がfairなのかを定義する必要があります。

BTC fair valueの設計では、この定義をまず明確にする。

そこから、何を入れて、何を外すのかを決める。

そして、ズレを検出するだけでなく、そのズレを取るべきか、見送るべきかまで接続する。

この方向で、既存の観測機をもう一段ブラッシュアップしていきたいと思います。

6. 観測機をブラッシュアップする方針

BTC fair valueの設計を詰めると、自然に既存の観測機全体も見直したくなります。

ただし、ここでやりたいのは、新しく観測機を大量に増やすことではありません。

すでに観測機はいくつかあります。

BTC/USD、USDJPY、BTC/JPYの整合性を見るもの。

stablecoin liquidityを見るもの。

futuresやperpを見るもの。

CMEやETFのように、伝統金融側の動きを見るもの。

Binance Japanの板や約定、execution contextを見るもの。

これらは、必要だから作ってきたものです。

ただ、今回の読書を通して、それぞれの観測機が「何を見ているのか」をもう少し明確に分けた方がよいと感じました。

今までは、ざっくり言えば「必要そうなデータを取る」でした。

これからは、もう一段踏み込んで、

この観測機は、どの市場の、どの状態量を見ているのか

を明確にしたい。

さらに、

その状態量は、どの均衡からのズレを示しているのか
そのズレは、トレードする根拠なのか
それとも、立たない根拠なのか

まで整理したい。

例えば、BTC fair value系の観測機は、市場間の整合性を見ています。

BTC/USDとUSDJPYから見たBTC/JPYの基準。

海外市場と国内市場のズレ。

JPY建て執行市場における外部基準との乖離。

これは、単なる価格データではありません。

「国内BTC/JPYが、外部市場から見てどの程度fairか」を見る観測機です。

一方で、Binance Japanのexecution contextは、執行市場の状態を見るものです。

板があるか。

スプレッドは広がっていないか。

実際に約定できそうか。

直近の売買はどちらに偏っているか。

つまり、こちらは「理論上のズレ」ではなく、「そのズレを自分が取れるか」を見る観測機です。

この二つは役割が違います。

fair value観測機は、歪みを発見する。

execution contextは、その歪みを実行できるかを見る。

ここを混ぜると、見かけ上は割安でも実際には入れない、という判断ミスが起きます。

stablecoin liquidityも、また別の意味を持ちます。

これは、短期の執行判断というより、暗号資産市場に入ってくる購買力や流動性余力を見るものです。

stablecoinの供給や移動、取引所への流入が強いなら、現物側の買い余力があるかもしれません。

逆に、stablecoin liquidityが細っているなら、価格が上がっていても、それを支える資金が弱い可能性があります。

この場合、stablecoin liquidityは「買いシグナル」というより、上位環境の確認に近いです。

強ければOK側の材料。

弱ければNO側の材料。

ただし、それだけで売買するものではない。

この距離感を明確にしたい。

futuresやperpは、レバレッジ市場の状態を見る観測機です。

funding。

建玉。

basis。

ロング・ショートの偏り。

清算リスク。

これらは、参加者の期待やポジションの偏りを反映します。

ただし、ここも単純ではありません。

fundingが高いから上がる、ではありません。

fundingが高いということは、ロングが多く、ロング側がコストを払っているということです。

それが強い上昇トレンドの継続を示す場合もあります。

一方で、過熱や巻き戻しリスクを示す場合もあります。

だから、perp系の観測機では、方向ではなく状態を見る必要があります。

今の上昇は、現物主導なのか。

レバレッジ主導なのか。

建玉を伴っているのか。

出来高を伴っているのか。

fundingの負担はどの程度か。

その状態が継続しているのか。

これらをまとめて、OK側にもNO側にも使う。

ここが重要です。

CMEやETFは、また時間軸が違います。

これは秒単位や分単位の執行判断というより、伝統金融側の資金や期待の変化を見るものです。

ETFフローが強い。

CME basisが広がる。

米国時間に大きく動く。

こうした情報は、日跨ぎや上位レイヤーの判断に効きやすいかもしれません。

逆に、数秒〜数分の執行判断にそのまま使うと、時間軸が合わない可能性があります。

この「時間軸のズレ」も、観測機の整理ではかなり重要です。

良い情報でも、使う場所を間違えるとノイズになります。

日跨ぎの判断に使う情報。

数時間のレジーム判断に使う情報。

数分の歪み検出に使う情報。

数秒の執行判断に使う情報。

これらを混ぜない。

これは、今後かなり意識したいところです。

観測機をブラッシュアップするうえで、私は大きく四つの軸で整理したいと考えています。

一つ目は、状態量です。

その観測機は何の状態を見ているのか。

価格なのか。

流動性なのか。

ポジションなのか。

資金流入なのか。

執行可能性なのか。

市場間の整合性なのか。

まずここを決める。

二つ目は、均衡からのズレです。

その状態量は、何と比べてズレているのか。

過去平均との差なのか。

別市場との差なのか。

fair valueとの差なのか。

通常時のレンジからの逸脱なのか。

それとも、急な変化率なのか。

「ズレ」と言っても、基準がなければ意味がありません。

三つ目は、シグナルの役割です。

その観測機から出てくる情報は、GOの根拠なのか。

NOの根拠なのか。

判断保留の根拠なのか。

この分類を入れたい。

特に重要なのは、NOの根拠です。

価格差はあるが、板が薄い。

方向感はあるが、出来高が伴わない。

上位環境は良いが、レバレッジが過熱している。

外部fairでは割安だが、執行市場では取れない。

こういう場合に、botが止まれるようにしたい。

四つ目は、時間軸です。

その観測機はどの時間軸で効くのか。

秒なのか。

分なのか。

時間なのか。

日跨ぎなのか。

ここを決めないと、情報の使い方を間違えます。

例えば、ETFフローを秒単位の執行判断に使うのはおそらくズレています。

一方で、板の瞬間的な厚みを日跨ぎの方向判断に使うのも危ない。

観測機ごとに、使う時間軸を固定する必要があります。

この四つを整理すると、既存観測機の役割がかなり見えやすくなるはずです。

BTC fair valueは、市場間整合性を見る。

execution contextは、執行可能性を見る。

stablecoin liquidityは、暗号資産市場全体の資金余力を見る。

futures/perpは、レバレッジ市場の偏りと巻き戻しリスクを見る。

CME/ETFは、伝統金融側の資金と期待を見る。

USDJPYは、JPY建てBTC価格の基準変化を見る。

こうして整理すると、それぞれの観測機を一つの売買シグナルに無理やり統合する必要はありません。

むしろ、それぞれが違う役割を持っている方が自然です。

ある観測機はGOの根拠になる。

ある観測機はNOの根拠になる。

ある観測機は上位環境を確認する。

ある観測機は執行直前のフィルターになる。

ある観測機は、そもそも今日は触らないという判断に使う。

この役割分担を明確にすることが、今回のブラッシュアップの主目的です。

今の段階では、まだすべてを数式化できているわけではありません。

利得関数をどう置くかも、まだぼんやりしています。

プレイヤーごとの整理も、クリプトでどこまで細かく実装すべきかは分かりません。

ただ、少なくとも各市場の性質差はかなり大きいです。

国内現物。

海外現物。

perp。

CME。

ETF。

stablecoin。

FX。

それぞれ参加者も、制約も、反応速度も違います。

ならば、最初から細かくプレイヤーを分類するより、まずは市場ごとの性質差として観測機を整理する方が現実的です。

これは、実装上も扱いやすい。

データとしても取りやすい。

検証もしやすい。

したがって、次にやるべきことは、観測機を増やすことではありません。

まず、今ある観測機を棚卸しする。

それぞれが何を見ているのかを定義する。

どの均衡からのズレを見ているのかを書く。

そのズレがGOなのか、NOなのか、保留なのかを分ける。

どの時間軸で使うのかを決める。

そこまでやってから、足りない観測機を追加する。

この順番がよさそうです。

今回の読書で得た一番実務的な収穫は、ここかもしれません。

新しい指標を思いついたというより、既存の観測機をどう整理すればよいかが少し見えた。

どの情報を、どの場面で、どの程度信用するのか。

どの情報は使わないのか。

どの情報はトレードする根拠ではなく、トレードしない根拠なのか。

この仕分けができれば、botの判断はかなり整理されるはずです。

観測機は、ただ情報を集めるためのものではありません。

市場の状態を分解し、使える局面と使えない局面を分けるためのものです。

そのために、既存の観測機をミクロ経済学の言葉で再定義する。

これが、ここから最初にやるべきブラッシュアップだと考えています。

7. 利得関数とプレイヤー分類はどこまで必要か

ゲーム理論をbot開発へ接続するなら、本来はプレイヤーごとの利得関数を考えることになります。

誰がいるのか。

何を目的にしているのか。

何を嫌うのか。

どの情報に反応するのか。

どの時間軸で動くのか。

こうしたことを整理できれば、市場の動きはかなり見やすくなるはずです。

ただ、ここはまだ私の中でも少しぼんやりしています。

理屈としては分かります。

マーケットメーカー。

裁定業者。

短期投機家。

長期保有者。

ETF経由の資金。

CME参加者。

perpのレバレッジ勢。

国内現物の参加者。

ステーブルコイン経由で入ってくる資金。

それぞれ目的も制約も違います。

マーケットメーカーは、方向を当てたいというより、スプレッドや在庫管理を考えています。

裁定業者は、市場間のズレを見ます。

perpのレバレッジ勢は、価格方向やfunding、清算リスクに影響されます。

ETF経由の資金は、より伝統金融側の時間軸で動きます。

国内現物の参加者は、JPY建ての需給や国内市場の流動性に影響されます。

こうして分けること自体はできます。

ただ、問題は、それをどこまで実装に落とすべきかです。

プレイヤー分類は、細かくしようと思えばいくらでも細かくできます。

しかし、細かく分けたからといって、それを観測できるとは限りません。

観測できなければ、botには使えません。

例えば、「今この買いは長期投資家なのか、短期投機家なのか」を直接知ることはできません。

「この売りはヘッジなのか、利確なのか、強制清算なのか」も完全には分かりません。

見えるのは、価格、出来高、板、建玉、funding、basis、取引所間価格差、資金移動などの痕跡です。

つまり、プレイヤーの意図そのものは見えません。

見えるのは、その結果として残った市場データです。

ここを間違えると、分析が物語になります。

「これは機関投資家が買っている」

「これは短期勢の投げだ」

「これは大口が集めている」

そう言いたくなる局面はあります。

しかし、それをデータでどこまで確認できるのかは別問題です。

botに使うなら、物語ではなく、観測可能な代理変数に落とす必要があります。

だから、現時点では、プレイヤー分類をいきなり細かく実装するより、取引市場ごとの仕分けを優先した方がよいと考えています。

クリプトでは、市場ごとに参加者や制約がかなり違います。

Binance JapanのBTC/JPY現物。

海外のBTC/USD現物。

perp市場。

CME先物。

ETF。

stablecoin liquidity。

USDJPY。

これらは、同じBTCに関係していても、見ている参加者や時間軸が違います。

ならば、最初は「プレイヤーそのもの」を直接分類するのではなく、「市場ごとの性質差」として扱う方が現実的です。

例えば、perpを見るなら、レバレッジ市場の偏りとして扱う。

fundingや建玉、清算水準を見れば、レバ勢の負担や巻き戻しリスクはある程度推測できます。

これは「誰が買っているか」を直接当てるわけではありません。

しかし、「レバレッジ市場がどう偏っているか」は観測できます。

CMEを見るなら、伝統金融寄りの先物市場として扱う。

ETFを見るなら、現物買い圧力や伝統金融側の資金流入の代理変数として扱う。

stablecoin liquidityを見るなら、暗号資産市場内の購買力や流動性余力として扱う。

USDJPYを見るなら、JPY建てBTC価格の基準変化として扱う。

Binance Japanの板や約定を見るなら、国内執行市場の実行可能性として扱う。

このように、市場ごとに役割を定義すれば、プレイヤー分類を細かくしすぎなくても、かなりの情報は整理できます。

利得関数についても同じです。

厳密に数式化するのは、まだ早いかもしれません。

ただし、完全に無視するのも違います。

各市場の参加者が、何に反応しやすいのか。

何を嫌うのか。

どのコストを負っているのか。

この程度の利得イメージは持っておきたい。

例えば、裁定業者にとって重要なのは、価格差そのものだけではありません。

手数料。

スプレッド。

約定可能性。

送金・資金移動の制約。

在庫リスク。

API速度。

規制や取引所制約。

これらを差し引いても残るズレだけが、実際に取りに行く価値のある歪みになります。

つまり、見かけの価格差があっても、裁定業者の利得に合わなければ戻りにくい。

逆に、十分に大きく、取りやすいズレなら、すぐに戻される可能性があります。

この視点は、BTC fair valueにも直結します。

価格差がある。

だから取れる。

ではありません。

価格差がある。

それは誰にとって利益になるのか。

その人は実際に動けるのか。

動くためのコストはどのくらいか。

動いた結果、どのくらいでズレが戻るのか。

ここまで見ないといけません。

perp市場でも同じです。

ロングが多い。

fundingが高い。

建玉が増えている。

この情報だけでは、上がるとも下がるとも言えません。

ロング勢がコストを払ってでも持ち続けたい状況なのか。

それとも、すでに過熱していて巻き戻しが近いのか。

現物買いが支えているのか。

それともレバレッジだけで浮いているのか。

この違いを見るには、funding単体では足りません。

建玉、出来高、現物出来高、価格推移、清算水準などを組み合わせる必要があります。

つまり、利得関数を数式として作る以前に、

その市場では、何が参加者の負担になっているのか

を見る必要があります。

fundingは、ロングまたはショートの負担です。

basisは、時間軸や資金制約を反映したズレです。

スプレッドは、執行コストです。

板の薄さは、流動性リスクです。

ETFフローは、外部資金の入り方です。

stablecoin liquidityは、暗号資産市場内の購買力です。

これらを、単なるデータではなく、参加者にとってのコストや制約として見る。

それだけでも、かなりゲーム理論的な見方に近づきます。

現時点での方針としては、プレイヤー分類は二段階で進めるのがよさそうです。

第一段階では、市場ごとに分ける。

国内現物。

海外現物。

perp。

CME。

ETF。

stablecoin。

FX。

それぞれの市場が、どの参加者や制約を強く反映しているのかを整理する。

第二段階で、必要に応じてプレイヤーを細かく分ける。

例えば、perpの中でも、短期投機家、MM、清算されそうなレバ勢を分ける必要があるかもしれません。

ETFの中でも、短期フローと長期保有を分ける必要が出てくるかもしれません。

国内現物でも、個人需給と裁定的な動きを分ける必要があるかもしれません。

ただ、それは最初からやることではない。

まずは市場ごとの整理で十分かどうかを確認する。

足りなければ、プレイヤー分類を細かくする。

この順番が現実的だと思います。

ここでも、重要なのは実装可能性です。

理論として美しい分類を作っても、データで観測できなければ意味がありません。

botに載せるなら、観測可能な変数に落ちる必要があります。

だから、利得関数やプレイヤー分類は、最初から厳密に作るのではなく、

観測機の解釈を補強するための仮説

として使うくらいがちょうどよいのかもしれません。

たとえば、

  • fundingが高いとき、誰がコストを払っているのか
  • basisが広がったとき、誰が裁定に入れるのか
  • 国内価格が外部fairからズレたとき、誰がそのズレを戻せるのか
  • ETFフローが強いとき、どの時間軸で価格に反映されるのか
  • stablecoin liquidityが弱いとき、上昇の持続性は落ちるのか

こうした問いを立てる。

その問いに対して、観測機を当てる。

過去データで見て、機能するか確認する。

これくらいの粒度から始めたい。

今回の読書で、ゲーム理論や利得という言葉を得たことは大きいです。

ただし、すぐに全参加者の利得関数を数式化する段階ではありません。

今の私にとって重要なのは、そこではなく、

既存観測機が、どの市場の、どの制約や負担を見ているのか

を整理することです。

そこから、必要に応じてプレイヤー分類を深める。

このくらいの進め方が、今のbot開発には合っていると思います。

8. これから試すこと

ここまで整理してきたことを踏まえると、次にやるべきことはかなりはっきりしています。

新しい戦略をいきなり作ることではありません。

新しい観測機をむやみに増やすことでもありません。

まずやるべきなのは、既存の観測機を棚卸しして、それぞれの役割を明確にすることです。

どの観測機が、何を見ているのか。

どの市場の状態を見ているのか。

どの均衡からのズレを見ているのか。

そのズレは、GOの根拠なのか。

NOの根拠なのか。

それとも判断保留の材料なのか。

この仕分けから始めます。

特に優先したいのは、BTC fair valueです。

ここはすでに設計を進め始めていますし、今回の読書内容ともかなり接続しやすい部分です。

まず、fair valueを一つの絶対的な価格として扱わない。

外部市場から見たfair。

執行市場から見たfair。

短期執行用のfair。

日跨ぎの環境判断に使うfair。

これらを分けて考えます。

BTC/USDとUSDJPYから作るBTC/JPY基準は、外部市場との整合性を見るためのものです。

一方で、Binance Japanで実際に取引するなら、板、スプレッド、約定可能性、手数料、スリッページを含めた執行市場側のfairも必要になります。

この二つを混ぜないこと。

まずここを明確にします。

次に、ズレの扱いを整理します。

どの程度のズレなら誤差なのか。

どの程度なら観測対象なのか。

どの程度ならトレード候補なのか。

ただし、ズレがあるだけでは入らない。

そのズレが継続しているのか。

戻る力があるのか。

執行できるのか。

手数料とスリッページを超えるのか。

ここまで見て、ようやく候補にする。

つまり、fair value観測機は、単に「割安・割高」を出す装置ではありません。

歪みを見つける装置。

取れる歪みかを判定する装置。

取らない方がよい歪みを弾く装置。

この三つの役割を持たせたい。

次に、シグナル設計を見直します。

これまでは、どちらかというと「入ってよい根拠」を強く見ていました。

これからは、NOの根拠も明示的に扱います。

価格差はあるが、板が薄い。

fundingは強いが、現物が追随していない。

basisは広がっているが、戻す参加者が見えない。

外部fairでは割安だが、執行市場ではスプレッドが広い。

ETFフローは強いが、perpが過熱している。

こうした状態を、単なるノイズではなく「立たないシグナル」として扱いたい。

botにとって、見送る判断はかなり重要です。

人間なら、なんとなく嫌だ、今は触りたくない、という感覚で止まれます。

しかしbotは、それを条件として持っていなければ止まれません。

だから、NOの根拠を実装する。

これはかなり大事なテーマになります。

そのうえで、各観測機を時間軸ごとに整理します。

秒〜分で使うもの。

数十分〜数時間で使うもの。

日跨ぎで使うもの。

上位環境を見るもの。

執行直前に使うもの。

ここを混ぜない。

たとえば、ETFフローやCMEの情報は、上位環境や日跨ぎ判断には効くかもしれません。

しかし、秒単位の執行判断にそのまま使うものではない。

逆に、板の厚みやスプレッドは、執行直前には重要ですが、数日単位の方向判断には使いにくい。

情報には、それぞれ効きやすい時間軸があります。

この時間軸の整理も、次にやるべきことです。

さらに、検証可能な仮説へ落とします。

例えば、

外部fairから見て国内BTC/JPYが割安でも、スプレッドが広く板が薄い場合は、トレード候補から外す

これはNOシグナルの仮説です。

あるいは、

funding上昇、建玉増加、現物出来高の鈍化が同時に出ている場合、レバレッジ主導の上昇として扱い、追随買いを抑制する

これも仮説です。

また、

外部fairとのズレが一定時間以上継続し、かつ執行市場の板が十分に残っている場合だけ、歪み候補として扱う

これも検証できます。

こういう形にしないと、読書で得た概念は実装に落ちません。

「シグナルの強さを見る」

だけでは弱い。

どの指標が、どの状態になったら、どの判断を変えるのか。

そこまで書く必要があります。

今後は、観測機ごとにこの形で整理していきます。

まずはBTC fair value。

次にexecution context。

その次にfutures/perp。

その後にstablecoin liquidityやCME、ETFなどの上位環境系。

この順番がよさそうです。

なぜなら、最初に必要なのは、実際に売買判断へ近いところだからです。

fair valueとexecution contextは、歪みの発見と執行可能性に直結します。

ここを固めないと、上位環境の情報を足しても、売買に接続しにくい。

一方で、上位環境系の観測機は、単独で売買するものではなく、GO/NOの重み付けに使う方が自然です。

だからまずは、売買判断に近い観測機から整理する。

そして、上位環境系はフィルターや重み付けとして追加する。

この順番で進めます。

今回の読書で、新しい勝ち筋が完成したわけではありません。

ただ、既存の設計をどう見直すべきかは、かなりはっきりしました。

価格だけを見るのではなく、均衡の状態を見る。

シグナルをGOだけでなく、NOや保留まで含めて扱う。

fair valueを絶対価格ではなく、用途別の相対基準として分ける。

観測機を、状態量・ズレ・シグナル役割・時間軸で整理する。

プレイヤー分類は、まず市場ごとの性質差として扱う。

ここまでできれば、bot設計はかなり整理されるはずです。

ここからは、読書よりも設計と検証です。

概念を増やすより、今ある概念を観測機へ落とす。

観測機から仮説を作る。

仮説を過去データで検証する。

機能するものだけを残す。

機能しないものは捨てる。

かなり地味な作業になります。

ただ、この地味な作業を挟まないと、知識は知識のままで終わります。

今回得たミクロ経済学の視点を、実際のbotに載せられる形まで圧縮する。

次はそこに進みます。

それでは、また。

-Bot, 思考ログ, 書籍・論文・web記事, 開発ログ