DeFiアービトラージに、本当にエッジは存在するのでしょうか。
価格差を見つければ儲かる――。
そう考えてボットを走らせた経験は、多くのbotterが持っているはずです。しかし現実はそれほど単純ではありません。ガス代、スリッページ、MEV、ブロック遅延。理論上はプラスに見えた差分が、実行段階であっさりと消えていきます。
それでも私たちは、「どこかに非効率はあるはずだ」と考え続けます。ただし、その思い込みのまま探索を続けると、いつの間にか事実と解釈が混ざり、前提が曖昧になり、検証が終わらない状態に陥ってしまいます。特にAIを設計補助として使っている場合、その傾向は強まります。
本記事では、DeFiアービトラージにおいて「勝てそうかどうか」を議論するのではなく、「EV(期待値)を事実ベースで確定する」ための設計論を整理します。
TVL変化から戦場候補を抽出する工程、atomicと半arbの構造的な違い、DEXクォートとガス見積を用いたEV-B測定器の設計、そして「ここまでやればEV≤0(あるいはEV>0)と確定できる」という終了条件の明文化までを扱います。
ガチのbotterにも耐えるだけの技術的視点を保ちつつ、中級者の方にも理解できるように、事実と解釈を分離しながら順を追って説明します。
速度で勝てないなら、構造で測る。
感覚で判断せず、データで確定する。
「EVを確定せよ」。
それが、個人botterとして市場で戦い続けるための出発点だと考えています。
1. なぜ「EVを確定する」という発想が必要なのか
DeFiアービトラージにおいて最も危険なのは、「勝てそうだ」という感覚です。
DEX間に価格差がある。
TVLが急増している。
新興チェーンで流動性が不安定に見える。
こうした状況は、一見すると“非効率の匂い”がします。しかし、それはあくまで観測事実であって、エッジの証明ではありません。価格差があることと、実行後に利益が残ることは、まったく別の話です。
実際の現場では、次のような要素が必ず介在します。
- ガスコスト
- スリッページ
- ブロック遅延
- MEVによるフロントラン
- 約定失敗リスク
理論値上はプラスに見えた差分が、これらを差し引いた瞬間にゼロ、あるいはマイナスになることは珍しくありません。にもかかわらず、「たまたま取れた一回の成功体験」や「理論計算上のスプレッド」を根拠に戦略を正当化してしまうと、検証は歪みます。
ここで必要になるのが、「EV(期待値)を確定する」という発想です。
EVを確定するとは、単に「プラスかマイナスかを計算する」ことではありません。
それは、次のような問いに明確に答えられる状態を指します。
- この条件下で、十分なサンプル数を取ったとき、平均的に利益は残るのか?
- その利益はガスや失敗率を織り込んでも正か?
- 上位数%の一時的な成功ではなく、分布としてプラスなのか?
- この範囲ではEV≤0である、と事実ベースで言い切れるか?
つまり、「勝てそう」ではなく、「この前提では勝てる(あるいは勝てない)と断言できる」状態を作ることが目的です。
特に個人botterにとって重要なのは、探索を終わらせる基準を持つことです。
市場に非効率が存在しない可能性も、十分にあり得ます。にもかかわらず、「もう少し閾値を変えれば」「サイズを変えれば」「チェーンを変えれば」と無限に探索を続けてしまうと、時間と資本を消耗するだけになります。
EVを確定する設計とは、次の二つを同時に満たすものです。
- EVが0を上回ることを、統計的に示せる
- EVが0を上回らないことも、同じく統計的に示せる
どちらの結論でも構いません。重要なのは、「どちらかを事実として確定させる」ことです。
これは、感覚を否定するためではありません。
むしろ、感覚を正しく検証するための手段です。
DeFiの世界では、価格差は常にどこかにあります。しかし、その価格差が「取れる価格差」なのか、「見えているだけの価格差」なのかを区別しなければ、戦略は成立しません。
だからこそ、アービトラージ探索においては、
- 事実と解釈を分離する
- 仮説と検証を分離する
- 観測と実行を分離する
という姿勢が必要になります。
EVを確定するという発想は、単なる数式の話ではありません。
それは、botterとして市場と向き合うための態度そのものです。
2. 事実と解釈を分離する:研究のレイヤー設計
DeFiボットの研究で最も起きやすい事故は、「事実」と「解釈」が混ざることです。
たとえば、次のような流れです。
- TVLが急増しているチェーンを見つけた
- 価格差が一瞬広がっているのを観測した
- 「ここは戦場だ」と判断した
このとき、最初の二つは事実です。しかし三つ目は解釈です。この違いが曖昧なまま進むと、いつの間にか「仮説」が「前提」にすり替わります。そして検証は、その前提を正当化する方向へと傾いていきます。
そこで必要になるのが、研究をレイヤーで設計することです。
レイヤー1:観測(事実)
ここでは、ただデータを取得します。
- DeFiLlamaからTVLを取得した
- 1日・7日・30日の変化率を計算した
- 特定のDEX間で価格差が観測された
この段階では、「なぜそうなっているのか」「勝てるかどうか」は考えません。
あくまで、起きている現象を記録するだけです。
レイヤー2:数値変換(加工)
観測した事実を、分析可能な形に変換します。
- 変化率が±15%以上のチェーンを抽出
- TVLが20M〜5Bの範囲にあるものだけを残す
- edge_after_cost_usdを計算する
ここで初めてフィルタや指標が入ります。ただし、まだ解釈はしません。
このフィルタは「正しい」とは言いません。「この条件で抽出した」というだけです。
レイヤー3:仮説(意味づけ)
ここでようやく解釈が登場します。
- TVL急増は資金流入の兆候かもしれない
- TVL急減は流動性が抜け、歪みが出やすい可能性がある
- 中型帯の方がMEV密度が低いかもしれない
これらはすべて仮説です。
仮説は悪いものではありません。ただし、「仮説である」と明示しなければなりません。
レイヤー4:検証(EVの確定)
最後に、仮説をデータで検証します。
- 持続条件を満たすエッジは何件あるか
- 上位10%の平均EVは正か
- ガスとバッファ込みでも残るか
ここで初めて、「この範囲ではEV>0である」「この範囲ではEV≤0である」と言えるようになります。
なぜこの分離が重要なのか
AIを使って設計や分析を進めると、特にレイヤーの混在が起きやすくなります。
AIは、事実の提示と同時に、自然な形で解釈や方向性を提示します。それ自体は強力な支援ですが、レイヤーが曖昧なまま進むと、どこまでが観測で、どこからが推論なのかが分からなくなります。
その結果、次のような事態が起きます。
- フィルタが悪いのか、仮説が悪いのか分からない
- EVが出ない理由が、閾値なのか市場構造なのか不明確
- 「ここまでやってダメなら引き返す」という基準が持てない
研究が迷走するのは、能力不足ではなく、レイヤー設計の不在が原因であることが多いのです。
実務上のルール
私が今回採用しているルールは、単純です。
- 事実だけを書き出す
- その事実をどう加工したかを明示する
- そこから生まれた解釈を「仮説」として扱う
- 最終的な判断はEVの検証に委ねる
この順序を守るだけで、議論は驚くほどクリアになります。
研究とは、「正しい前提」を探す作業ではありません。
「前提をどこで疑うか」を設計する作業です。
事実と解釈を分離するというのは、単なる思考整理ではなく、
botterとして生き残るための技術的態度そのものだと考えています。
3. TVLはエッジの証拠ではない
DeFiを触っていると、どうしてもTVL(Total Value Locked)が気になります。
TVLが急増しているチェーン。
TVLが急減しているプロトコル。
ランキング上位に食い込んできた新興L2。
これらは確かに「何かが起きている」兆候です。しかし重要なのは、TVLはエッジの証拠ではないという点です。
TVLは、あくまで「資金がどこに滞在しているか」を示す指標です。
そこから直接的に分かるのは、資金の流入・流出という事実だけです。
TVLが示すもの
TVLから分かるのは、次のようなことです。
- どのチェーンに資金が集まっているか
- どのプロトコルが注目されているか
- 流動性が増減しているか
これは、戦場の地図としては非常に有用です。
しかし、それは「価格差が存在する」「裁定が成立する」ということを意味しません。
TVLが増えたからといって、価格が歪むとは限りません。
TVLが減ったからといって、必ずスプレッドが広がるとも限りません。
TVLと価格効率は別物
よくある誤解は、次の二つです。
- TVLが大きい=効率的
- TVLが小さい=非効率的
どちらも単純化しすぎです。
巨大TVLのチェーンでも、新規プロトコルは未成熟かもしれません。
逆にTVLが小さいチェーンでも、参加者が少なく価格更新が遅いだけで、約定可能なエッジはほとんど存在しないかもしれません。
価格効率を決めるのは、TVLそのものではなく、
- 流動性の分布(プール深さ)
- ボリューム / TVL比
- 価格更新頻度
- 競争密度(MEVボットの数)
- ブロック内優先度競争
といった構造的要素です。
TVLは、それらの代理変数の一つに過ぎません。
なぜTVLを使うのか
それでも、TVLを最初のフィルタに使った理由は明確です。
TVLは、
- 砂場レベルの流動性不足を除外する
- 完全成熟市場を除外する
- 探索空間を縮める
という意味では有効です。
つまり、TVLは「エッジの証拠」ではなく、
探索対象を定義するための実行可能性フィルタです。
20M〜5Bというレンジも、「正解」ではありません。
それはあくまで暫定的な探索レンジであり、後にEVで検証されるべき仮説です。
エッジの証拠は何か
エッジの証拠は、TVLではありません。
エッジの証拠は、
- ガス込みで正の期待値が残る
- 持続時間を持つ歪みが観測される
- サンプル数を積んでも平均が正に保たれる
という、EVの分布そのものです。
TVLがどう動いているかは、その前段階に過ぎません。
研究としての姿勢
TVL急増を見て「チャンスだ」と感じること自体は自然です。
しかしその感覚は、あくまで仮説生成のトリガーです。
そこから、
- 実際に価格差を測り
- ガスとスリッページを差し引き
- 持続条件を確認し
- EVを分布で評価する
というプロセスを踏まなければ、
TVLは単なる「盛り上がり指標」にとどまります。
TVLは重要です。
しかし、それはスタート地点であって、ゴールではありません。
DeFiアービトラージにおいて本当に問うべきなのは、
その構造は、実行可能な正のEVを生み出しているのか。
その一点だけです。
TVLは地図です。
エッジは、測定によってしか証明できません。
4. Atomicと半アービトラージの技術的差異
DeFiアービトラージを語るとき、まず整理しておくべきなのが「atomic」と「半アービトラージ(在庫許容型)」の違いです。
両者は同じ“価格差を取る”戦略に見えますが、技術的構造も、競争環境も、必要な前提もまったく異なります。個人botterとしてどこで戦うのかを決めるうえで、この違いの理解は避けて通れません。
Atomicアービトラージとは何か
Atomicアービトラージは、1回のトランザクションの中で完結する裁定です。
具体的には、
- DEX_Aで資産を買う
- 同じトランザクション内でDEX_Bで売る
- 差額を利益として確定する
という流れを、単一のトランザクション内で実行します。
ここでの最大の特徴は、
- 在庫を持たない
- ブロック内で完結する
- 価格変動リスクを負わない
という点です。
理論上は「リスクゼロ」の構造です。トランザクションが成功すれば利益が確定し、失敗すれば状態は巻き戻ります。
しかし現実には、ここにMEV(Maximal Extractable Value)競争が存在します。
Atomicの現実:速度の世界
Atomicは、ほぼ完全に速度の戦場です。
- 同じ価格差を見ているボットは無数にいる
- 1ブロック内での優先順位争いがある
- private relayerやbundle送信が前提になる
- ガス価格での競争が発生する
つまり、
Atomicは“価格差”ではなく、“順番”の戦い
なのです。
理論上はプラスでも、
- フロントランされる
- バックランで抜かれる
- ガスだけ消費して終わる
ということが頻発します。
そのため、Atomicは
- 高速インフラ
- private builder接続
- 最適化されたガス戦略
を持つプレイヤーが優位に立つ構造です。
個人botterが真正面から殴り合うには、かなり厳しい世界です。
半アービトラージとは何か
一方、半アービトラージは在庫リスクを許容する裁定です。
例えば、
- DEX_Aで買う
- 数ブロック待つ
- DEX_Bで売る
あるいは、
- DEXで買い、CEXでヘッジする
- 価格が理論値に戻ることを前提に保有する
といった戦略です。
Atomicと決定的に違うのは、
- トランザクション内で完結しない
- ブロックを跨ぐ
- 価格変動リスクを負う
という点です。
技術的な差異
両者の違いを整理すると、次のようになります。
| 項目 | Atomic | 半アービトラージ |
|---|---|---|
| 完結単位 | 1トランザクション | 複数ブロック |
| 在庫リスク | なし | あり |
| 価格変動リスク | なし | あり |
| MEV競争 | 極めて高い | 相対的に低い |
| 必要速度 | 非常に高い | 低〜中 |
| 優位性の源泉 | 実行順序 | 構造的回帰 |
Atomicは「価格差がある瞬間」に価値があります。
半arbは「価格差が一定時間持続する構造」に価値があります。
構造という視点
ここで重要なのが、“持続時間”という概念です。
Atomicは、
1ブロックでも価格差があれば成立する
世界です。
半arbは、
2ブロック、3ブロックと歪みが持続するかどうか
が鍵になります。
この違いは、技術実装にも直結します。
- Atomicは1回のルーター呼び出し設計が中心
- 半arbは時系列ログと持続判定ロジックが中心
つまり、測るべき指標が違うのです。
個人botterにとっての意味
個人がDeFiで戦う場合、
- 最高速度のインフラは持てない
- ブロック内優先権を常に取れるわけではない
という前提があります。
その場合、Atomicを主戦略にするのは合理的とは言えません。
一方で、半arbは
- 統計的検証が活きる
- 持続時間を測れる
- 在庫リスクをコントロールできる
という余地があります。
もちろん、在庫リスクがある分、戦略設計は難しくなります。しかし、競争密度が相対的に低い場所で戦える可能性があります。
どちらが正解か
Atomicが悪いわけではありません。
半arbが必ず勝てるわけでもありません。
重要なのは、
自分がどの構造で戦うのかを明確にすること
です。
そして、その構造に応じたEVを測ることです。
Atomicなら「同一トランザクション内の実行成功率」を含めたEV。
半arbなら「持続時間と回帰確率」を含めたEV。
戦略を決めずにEVを語ることはできません。
だからこそ、Atomicと半アービトラージの技術的差異を理解することは、DeFi探索の出発点なのです。
5. EVの三層構造:EV-A / EV-B / EV-C
DeFiアービトラージで最も混乱しやすいのは、「EVがある」と言ったときに、どのレベルのEVを指しているのかが曖昧になることです。
価格差があるだけで「期待値がある」と判断してしまうと、実行段階で簡単に裏切られます。逆に、実行結果だけを見て「やはり無理だ」と結論づけると、設計段階の問題と市場構造の問題が混同されます。
そこで必要になるのが、EVを三層構造で整理するという発想です。
EV-A:理論上の期待値(Paper EV)
EV-Aは、最も単純な期待値です。
EV-A = 売値 - 買値
あるいは、
EV-A = edge_before_cost
という形で計算されます。
これは、DEX間の価格差やCEXとの乖離など、「見えている差分」をそのまま数値化したものです。
EV-Aは、
- 戦場に価格差が存在するか
- どの程度のスプレッドが観測されているか
を把握するには有効です。
しかし、EV-Aには重大な欠点があります。
- ガスを考慮していない
- スリッページを考慮していない
- 実行順序やMEVを考慮していない
つまり、理論上の差分であって、実行可能な差分ではありません。
EV-Aが正であることは、「歪みが存在する」ことの証拠にはなりますが、「利益が残る」ことの証明にはなりません。
EV-B:実行前提の期待値(Simulated Execution EV)
EV-Bは、実際に実行した場合に残るであろう期待値を、シミュレーションで計算したものです。
EV-B = (売りクォート - 買いクォート)
- ガスコスト
- safety buffer
ここで初めて、
- DEXクォートによる実効価格
- ガスコストのUSD換算
- 滑りや誤差を吸収するバッファ
が入ります。
EV-Bは、
- このサイズで
- このルートで
- この時間帯で
実行した場合、理論的にプラスが残るかどうかを測る段階です。
さらに、半アービトラージを扱う場合は、
- 持続時間(何ブロック連続で正か)
- 発生頻度(1時間あたり何回か)
といった構造的条件も含めます。
EV-Bは、「実行してもよいかどうか」を判断するためのフィルタです。
しかし、まだ実行していません。
ここでプラスが出ても、実際のネットワーク環境では負ける可能性があります。
EV-C:実行後の期待値(Realized EV)
EV-Cは、実際にトランザクションを送信し、実現した損益を含む期待値です。
ここには、
- 実際の約定価格
- 実際に消費したガス
- フロントランやバックランによる損失
- 失敗トランザクションのコスト
が含まれます。
EV-Cは最も強い証拠です。
しかし、コストがかかります。
そして、サンプル数を十分に集めるには時間も資本も必要です。
そのため、いきなりEV-Cから始めるのは合理的ではありません。
なぜ三層で考えるのか
EV-Aだけを見ると、世界は楽観的に見えます。
EV-Cだけを見ると、世界は悲観的に見えます。
しかし、その間にEV-Bを挟むことで、
- 価格差はあるのか(EV-A)
- 実行前提でも残るのか(EV-B)
- 本当に残ったのか(EV-C)
という三段階の検証が可能になります。
これにより、
- フィルタが悪いのか
- サイズが悪いのか
- ガスが重すぎるのか
- MEVに抜かれているのか
といった原因の切り分けが可能になります。
「EVがある」とは何を意味するのか
「EVがある」と言うとき、それがEV-Aなのか、EV-Bなのか、EV-Cなのかを明確にしなければなりません。
個人botterとして重要なのは、
EV-Bが正であることを確認し、
EV-Cでそれを確定させること。
この順番です。
EV-Aは入口に過ぎません。
EV-Cは最終判定です。
そしてEV-Bは、その間をつなぐ最も重要な設計レイヤーです。
アービトラージ探索において最も危険なのは、「EVがありそうだ」と感じたまま実装に進むことです。
三層構造で整理することで、
私たちはようやく「どの段階で、何が証明されたのか」を正確に言語化できるようになります。
EVを確定するとは、
この三層を混同しないことから始まります。
6. 構造エッジとは「持続時間」である
DeFiアービトラージにおいて、多くの人が最初に見るのは「価格差の大きさ」です。
10bpsのスプレッドがある。
0.5ドルのedgeが出ている。
理論計算ではプラスだ。
しかし実際に戦場に立つと分かるのは、“大きさ”よりも“持続時間”の方が圧倒的に重要だという事実です。
一瞬の歪みはエッジではない
DEX間で価格差が発生すること自体は珍しくありません。
問題は、それがどれくらい続くのかです。
- 1ブロックだけ正
- 1サンプルだけプラス
- 数百ミリ秒で解消
こうした歪みは、理論上はプラスでも、現実ではほぼ取れません。
なぜなら、
- MEVサーチャーが優先順位を取りに来る
- 同じ差分を見ているボットが存在する
- 実行順序の競争に負ける
からです。
つまり、
一瞬の価格差は「ノイズ」である可能性が高い。
それをエッジと呼ぶのは危険です。
構造エッジとは何か
構造エッジとは、
価格差が「持続」する状態
を指します。
例えば、
- 2ブロック連続でEVが正
- 5秒以上価格差が残る
- 数サンプル連続で回帰圧力が確認できる
といったケースです。
この「持続」があるとき、初めて次のような可能性が生まれます。
- MEVよりも遅いが、まだ間に合う
- 在庫を持っても回帰確率が高い
- 実行順序ではなく構造で勝負できる
なぜ持続時間が重要なのか
価格差の大きさは、期待値の“振幅”です。
持続時間は、期待値の“安定性”です。
大きくても一瞬で消える差分は、実行難易度が高い。
小さくても持続する差分は、戦略設計次第で取れる可能性があります。
特に半アービトラージ(在庫許容型)では、
- 回帰確率
- 回帰までの時間
- 持続runの分布
が重要になります。
このとき初めて、「positive_run_len(連続プラス回数)」という指標が意味を持ちます。
持続時間を測るという発想
構造エッジを扱うには、単にedge_after_cost_usdを記録するだけでは不十分です。
必要なのは、
- EVが正になった瞬間を記録すること
- それが何サンプル続いたかを測ること
- その分布を統計的に集計すること
です。
例えば、
- 正のrunが平均1サンプルで終わる市場
- 正のrunが平均3〜4サンプル続く市場
では、戦略の難易度がまったく異なります。
前者は速度勝負、後者は構造勝負です。
Atomicと持続の関係
Atomicアービトラージは、「持続しなくても取れる」構造です。
だからこそ、速度が支配的になります。
一方で、半アービトラージは、
持続する歪みがあることが前提
になります。
持続がなければ、在庫リスクだけを抱えることになります。
したがって、半arbを志向する場合、
- 持続時間の測定
- 持続条件の定義
- 連続runの頻度
は、エッジの本体そのものです。
持続時間は“市場の性格”を表す
ある市場では、
- 歪みが瞬間的に吸収される
- 常に高速競争がある
別の市場では、
- 流動性が偏在している
- 価格更新が遅い
- LPの移動が遅れる
この違いは、価格差の大きさよりも、持続時間に現れます。
持続時間を測ることで、
その市場が「速度の市場」か「構造の市場」か
を判断できるのです。
結論
構造エッジとは、価格差そのものではありません。
構造エッジとは、
価格差が、一定時間存在し続けること。
その持続が確認できたときに初めて、
- EV-Bを測る意味が生まれ
- 半アービトラージ戦略が成立し
- 個人botterが戦える余地が出てきます。
価格差の大きさを見る前に、
まず持続時間を測る。
それが、構造で戦うための出発点です。
7. 判定基準を先に決めるという設計
DeFiアービトラージの探索で最も危険なのは、「検証が終わらないこと」です。
価格差が出ない。
EVがわずかにマイナス。
サンプルが少ない。
そのたびに、
- 閾値を変える
- サイズを変える
- チェーンを変える
- 期間を延ばす
という調整を続けてしまうと、研究は無限ループに入ります。
これは能力の問題ではなく、終了条件が設計されていないことが原因です。
だからこそ重要なのが、「判定基準を先に決める」という発想です。
なぜ後から決めてはいけないのか
検証が終わったあとに、
- 「もう少し様子を見よう」
- 「この期間はノイズだったかもしれない」
- 「サイズを半分にすれば良かったのでは」
といった理由で基準を変更すると、結論は永遠に出ません。
これは研究の典型的な罠です。
結果に合わせて基準を動かすと、仮説は否定されなくなります。
そのため、
検証前に「どこまでやれば白黒をつけるか」を固定する
必要があります。
判定基準は何を含むべきか
アービトラージ探索における判定基準は、最低でも次の要素を含むべきです。
- 対象範囲の固定
- 観測期間の固定
- サンプル数の下限
- EVの評価方法
- 成功/失敗の定義
1. 対象範囲を固定する
まず固定すべきは、
- チェーン
- DEXの組み合わせ
- トークンペア
- 取引サイズ
です。
ここが曖昧だと、「条件を変えれば勝てるかもしれない」という逃げ道が残ります。
たとえば、
Arbitrum × Uniswap v3 ↔ Camelot v3 × WETH/USDT × size=0.05 WETH
と明示することで、検証対象は明確になります。
2. 観測期間を固定する
市場は常に変動しています。
だからこそ、
- 72時間
- 7日間
といった観測期間を先に決めます。
短すぎると偶然に左右されますし、
長すぎるとレジームが変わります。
期間を固定することは、検証を時間軸で切ることです。
3. サンプル数の下限を決める
EVを語るには、十分なサンプルが必要です。
例えば、
- 500サンプル以上
- 200件以上の機会
といった基準を決めます。
サンプルが少ない状態で結論を出すのは、統計的に危険です。
4. EVの評価方法を固定する
EV-Aなのか、EV-Bなのか、EV-Cなのか。
ここを明確にします。
今回の探索では、
- EV-B(クォート+ガス+バッファ)
- 持続条件付きのedge
を基準にする、といった具合です。
さらに、
- 上位10%の平均が正か
- 中央値が正か
- 持続runが何回あるか
といった指標も事前に決めます。
5. 成功/失敗の定義を明文化する
これが最も重要です。
たとえば、
Fail条件
- 観測機会が少ない
- 持続runがほぼ出ない
- 上位10%の平均EVがバッファ未満
この条件を満たしたら、
この範囲ではEV≤0と判断する
と決めます。
逆に、
Pass条件
- 持続runが十分存在
- 上位10%の平均EVが明確に正
であれば、
次段階(最小実行)へ進む
とします。
判定基準を持つことの意味
判定基準を先に決めるというのは、
- 自分の楽観を制御する
- 自分の悲観を制御する
- AIの提案を評価する
ための仕組みです。
これがないと、
- 「もう少しで取れそうだ」
- 「今回は市場が悪かっただけだ」
という解釈が入り込みます。
終わらせる勇気
研究において重要なのは、成功することだけではありません。
「この範囲ではEVが出ない」と確定させることも成果です。
判定基準があると、
「ダメだった」という結論も前進になります。
それがないと、
探索は永遠に続き、資本と時間だけが失われます。
DeFiアービトラージ探索において、
技術力や発想と同じくらい重要なのは、
どこで止めるかを設計する力
です。
判定基準を先に決めることは、
自分の思い込みと戦うための、最も実践的な武器なのです。
8. AIは設計補助であって、結論装置ではない
DeFiボット開発にAIを使うことは、もはや特別なことではありません。
コードの雛形を作る、API仕様を整理する、分析ロジックを組み立てる。AIは非常に優秀な設計補助者です。
しかし、ここで一つ明確にしておきたいことがあります。
AIは「設計補助」であって、「結論装置」ではない。
この違いを理解していないと、研究は簡単に歪みます。
この記事も、最終的な生成部はAIですが、発想や検証の原液は私自身のものです。
AIが得意なこと
AIは、
- 論点の整理
- 設計の分解
- 仮説の列挙
- ロジックの形式化
- コードの生成
といった作業を、非常に高速に行います。
今回の探索でも、
- TVLフィルタの設計
- EV-B測定器の構造
- 判定基準の明文化
といった工程は、AIの補助によって効率的に進めることができました。
この点については、疑う必要はありません。
むしろ積極的に使うべきです。
AIがやっていないこと
しかし、AIは次のことはしていません。
- あなたの実行環境での約定状況を観測していない
- あなたの資金サイズを考慮していない
- その瞬間のブロック競争状況を体験していない
- 失敗トランザクションの痛みを感じていない
AIが出す「妥当そうな閾値」や「合理的なレンジ」は、
過去の知識や一般論を圧縮したものであって、あなたの市場での事実ではありません。
ここを混同すると、
- AIが言ったから正しい
- このレンジが最適だろう
- この構造なら勝てるはずだ
という思考に滑っていきます。
レイヤーを意識する
AIとの協働で最も重要なのは、レイヤーの分離です。
- AIは仮説を出す
- あなたは事実を取りに行く
- 判定はデータで行う
この役割分担を崩さないことです。
例えば、TVLの20M〜5Bというレンジも、
AIが出した“妥当そうな”初期値に過ぎません。
それを採用するかどうかは、
- EVが改善するか
- 実行成功率が上がるか
- 持続runが増えるか
といった事実で評価すべきです。
AIを疑うタイミング
AIを疑うべきなのは、次のようなときです。
- データと矛盾したとき
- 結果に対して説明が抽象的すぎるとき
- 再現性が取れないとき
逆に、疑わなくてよいのは、
- 設計の骨組み
- ロジックの整形
- コード生成
の部分です。
AIを疑いすぎると前に進めなくなります。
AIを信じすぎると検証が止まります。
重要なのは、「どこを疑うか」を設計することです。
結論は必ず人間が出す
最終的に、
- EVが0を上回るのか
- この範囲ではEV≤0なのか
- どのチェーンで戦うのか
といった結論は、必ず人間が出すべきです。
AIは、結論を“もっともらしく”提示できます。
しかし、それは確率的に整合した文章であって、あなたの実行環境の現実ではありません。
AIと戦略の関係
AIは、探索空間を広げる装置です。
戦略の成否を確定させる装置ではありません。
設計補助として使うことで、
- 仮説生成が速くなる
- レイヤー整理が進む
- コード実装が加速する
一方で、結論をAIに委ねると、
- 思考停止が起きる
- 判定基準が曖昧になる
- 失敗の原因が不明瞭になる
というリスクがあります。
AIを使うこと自体は、強力な武器です。
しかし、武器と判断装置は別物です。
DeFiアービトラージ探索において、
設計はAIと共に行う。
結論はデータと共に出す。
この姿勢を崩さないことが、
長期的に生き残るための前提だと考えています。
9. ここまでやったこと(事実ベース整理)
ここで一度、ここまでの進捗を解釈を排除して、事実だけ整理しておきます。
アービトラージ探索において最も危険なのは、「やった気になること」です。
TVLを見た。候補を抽出した。議論を重ねた。
しかし、それが“何を証明したのか”は曖昧なまま、という状態に陥りやすい。
だからこそ、現時点で確定している事実だけを書き出します。
1. DeFiLlamaのデータを取得した
- チェーン別TVL(現在値)
- チェーン別TVL履歴(1日・7日・30日)
- プロトコル別TVL
- プロトコル履歴データ
これらをAPI経由で取得し、ローカルに保存しました。
ここに解釈はありません。
データを取得した、という事実だけです。
2. TVL変化率を計算した
取得した履歴データから、
- 1日変化率
- 7日変化率
- 30日変化率
を算出しました。
さらに、絶対額の増減も計算しました。
ここも事実です。
“伸びているからチャンス”とはまだ言っていません。
3. 閾値でフィルタリングした
暫定的な探索条件として、
- チェーンTVLのレンジ
- プロトコルTVLのレンジ
- 7日変化率の閾値
を設定し、候補を抽出しました。
この閾値は「正しい」と証明されたものではありません。
あくまで探索空間を絞るための仮設定です。
ここで確定したのは、
「この条件を満たす対象が存在する」
という事実のみです。
4. 候補リストをCSVで出力した
- チェーン候補
- プロトコル候補
- チェーン×プロトコル分解
これらを構造化データとして出力しました。
つまり、
戦場候補の“母集団”を数値ベースで定義した
という状態です。
5. まだやっていないこと
重要なのは、ここです。
- 価格データの取得
- DEXクォートの比較
- ガス込みEVの算出
- 持続時間の測定
- 実行テスト(EV-C)
これらはまだ実施していません。
したがって、
エッジがある
エッジがない
という結論は、まだ出していません。
6. 現在地の正確な表現
ここまでの進捗を、過不足なく言うと、
TVL変化を用いて、探索対象の候補集合を定義した段階
です。
それ以上でも、それ以下でもありません。
- 非効率があるとは言っていない
- 勝てるとも言っていない
- 市場が死んでいるとも言っていない
ただ、
どこを見るかを、数値で決めた
だけです。
7. なぜこの整理が必要か
研究を進めると、自然と解釈が入り込みます。
- 「動いているからチャンスだ」
- 「中型帯が狙い目だ」
- 「成熟市場は効率的だ」
これらはすべて仮説です。
事実と仮説を混ぜると、
- どこまでが検証済みなのか分からなくなる
- どこに引き返せばよいのか不明確になる
だからこそ、いまの段階で一度、事実だけを固定する必要があります。
ここまでの作業は、探索の前段階としては有効です。
しかし、EVを確定するための本丸にはまだ踏み込んでいません。
次にやるべきは、
価格と実行条件を含めたEV-B測定
です。
10. 次の一手:EV-B測定器の実装
ここまでで、
- TVLデータを取得し
- 戦場候補を数値で抽出し
- 事実と解釈を分離し
- EVの三層構造
を整理しました。
しかし、最も重要な問いにはまだ答えていません。
この条件下で、本当にEVは正なのか?
それを確定させるための次の一手が、EV-B測定器の実装です。
なぜEV-Bから始めるのか
EVには三層あります。
- EV-A:理論価格差
- EV-B:クォート+ガス込みの期待値
- EV-C:実行後の実現損益
いきなりEV-C(実行)に進むのは非効率です。
まだ「取れる可能性」があるかどうかも分からない段階で、資本を投じる必要はありません。
逆にEV-Aだけでは、ガスやMEVを無視してしまいます。
だからこそ、
実行はしないが、実行前提で期待値を測る
EV-Bが、探索フェーズの中核になります。
EV-B測定器とは何か
EV-B測定器とは、単純に言えば次の計算を継続的に行う装置です。
edge_before_cost = sell_quote - buy_quote
edge_after_cost = edge_before_cost - gas_cost - safety_buffer
ここで重要なのは、
- 実効クォート(実際にそのサイズでスワップした場合の見積)
- ガスコストのUSD換算
- 安全バッファ(滑り・MEV吸収分)
を含めることです。
理論値ではなく、「実行したらどうなるか」を測るのが目的です。
構造エッジを組み込む
さらに重要なのは、持続時間を測ることです。
EV-B測定器は、単発のedgeだけでなく、
- 何サンプル連続でEV>0が続いたか
- 何ブロック持続したか
- 1時間あたり何回発生したか
を記録します。
ここで初めて、
一瞬のノイズなのか
構造的な歪みなのか
を区別できます。
判定基準を組み込む
EV-B測定器は、単にログを出すだけでは不十分です。
最初から判定ロジックを組み込むことが重要です。
例えば:
- サンプル数が500未満なら保留
- 持続runが20回未満なら薄い
- 上位10%平均が+0.3USD未満なら実装見送り
このように、
どこまでやれば次に進むか
どこで打ち切るか
をコードに落とし込むことが、研究を終わらせる鍵になります。
技術的な実装の骨格
EV-B測定器の基本構成はシンプルです。
- 対象ルートを固定する
- chain
- DEX_A / DEX_B
- token pair
- size
- 一定間隔でクォートを取得する
- ガス見積を計算する
- edge_after_costを算出する
- 持続runを計算する
- 集計して分布を出す
重要なのは、最初から完璧を目指さないことです。
v1では精度よりも「一貫性」を優先します。
EV-Bで分かること
EV-Bを回すと、次のような事実が得られます。
- そもそも正の機会が存在するのか
- 持続する歪みがあるのか
- その分布はどの程度か
- サイズを変えるとどう変化するか
これにより、
この範囲ではEV<=0と判断できる
あるいは、実行テストに進む価値がある
という判断が可能になります。
ここで初めて「前に進む」
いまはまだ、
- TVLが動いている
- 価格差がありそう
という段階です。
EV-B測定器を実装することで、
実行前提での期待値が見える
段階に進みます。
それでもEVが出なければ、
戦場を変えるべきです。
それでもEVが出るなら、
最小実行(EV-C)へ進みます。
探索を終わらせるための装置
EV-B測定器は、勝つための装置であると同時に、
勝てないと確定させるための装置
でもあります。
これがなければ、探索は永遠に続きます。
だからこそ、次の一手は明確です。
EV-B測定器を実装する。
そこから先は、データが判断してくれます。
11. 個人botterが生き残るための設計思想
DeFiの世界は、技術的にも資本的にも、決して優しい環境ではありません。
高速インフラを持つMEVサーチャー、専業チーム、豊富な資金を持つプレイヤーがひしめき合っています。
その中で、個人botterが生き残るためには、単に「良い戦略」を持つだけでは不十分です。
必要なのは、生き残るための設計思想です。
ここでは、その思想を整理します。
1. 速度で勝てないなら、構造で勝つ
個人が最も陥りやすい誤解は、「プロと同じ戦場で勝とうとする」ことです。
Atomicアービトラージは魅力的に見えます。
理論上はリスクゼロ、成功すれば即利益確定です。
しかしその裏側では、
- ミリ秒単位の優先順位争い
- private relayer前提の実行環境
- ガス競争
が展開されています。
この領域で真正面から戦うのは、合理的ではありません。
個人botterが取るべき道は、
速度ではなく構造を探すこと
です。
持続する歪み、回帰する価格、偏在する流動性。
これらは、速度よりも観測力と設計力が活きる領域です。
2. 感覚ではなく、分布で判断する
一度でも成功すると、「この戦略は行ける」と思ってしまいます。
逆に数回失敗すると、「やはり無理だ」と感じてしまいます。
しかし、単発の結果はノイズです。
個人botterが持つべき姿勢は、
- 成功の分布を見る
- 失敗の分布を見る
- 中央値とテールを確認する
という、統計的な視点です。
EVを測るとは、
感情を排除して分布を読むことです。
3. 終了条件を設計する
探索が終わらないことほど、資本と時間を消耗するものはありません。
- もう少しで取れそう
- サイズを変えれば
- チェーンを変えれば
この思考は無限に続きます。
だからこそ、
どこまでやれば撤退するか
を先に決める必要があります。
「この条件でサンプル500件、上位10%平均が正でなければ撤退」
といった基準を持つことで、研究は前進します。
撤退は敗北ではありません。
それは、非効率がないことを確定させた成果です。
4. AIは加速装置であって、判断装置ではない
AIは強力です。
- 設計を整理してくれる
- コードを生成してくれる
- ロジックを構造化してくれる
しかし、AIは市場で実行していません。
個人botterにとって重要なのは、
AIを使って加速するが、結論は必ず自分で確定する
という姿勢です。
AIが示したレンジや閾値は仮説です。
データがそれを肯定するか否定するかを見極めるのは、自分の役割です。
5. 小さく測り、小さく試す
いきなり本番サイズで勝負する必要はありません。
- EV-Bで測る
- 最小サイズでEV-Cを試す
- 分布を確認する
このステップを踏むことで、
無駄な損失を抑えつつ、事実を積み上げることができます。
個人botterの最大の強みは、
機動力と柔軟性です。
6. 「勝てる市場」を探すのではなく、「勝てない市場」を確定する
意外に思えるかもしれませんが、
生き残るためにはこの発想が重要です。
勝てる市場を見つけることは難しい。
しかし、勝てない市場を排除することは可能です。
- EVが0を上回らない
- 持続runが出ない
- MEVに抜かれる
これらを事実として確定させることで、探索範囲は縮小します。
縮小した先に、本当に戦える場所が見えてきます。
7. 個人botterの武器は「一貫性」
最終的に、個人botterを支えるのは、
- 派手な一撃
- 偶然の成功
ではなく、
一貫した検証プロセス
です。
構造を観測し、
EVを測り、
判定基準で白黒をつける。
このプロセスを繰り返すことで、
戦略は洗練されていきます。
DeFiは過酷な環境です。
しかし、個人であることは弱みではありません。
速度で勝てなくても、構造で測れる。
資本が少なくても、設計で守れる。
AIを使っても、思考を手放さない。
それが、個人botterが生き残るための設計思想です。