Bot DeFi bot DEX 開発ログ

🛠️開発記録#475(2026/3/8)「DeFi botの戦場を探す ― 資金フロー観測botを設計・実装してみた話」

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

今回はメインのトレードbotとは別に取り組んでいるDeFibotの話です。

DeFiでbotを作ろうと思ったとき、最初にぶつかるのは「どこで戦うのか」という問題です。(CEXでも本質的には同じですが)

そこで今回は、価格ではなく資金フローを見る方向に寄せて、トレードbotではなく、まずは資金の流れを観測する observer を作ってみることにしました。

ざっくりいうと、DeFiの資金構造を観測するための計測器を作ってみようってことです。

そのような考えに至った前提を、軽く整理しておきます。

DeFiでは、資金は主に以下のような場所に集まります。

  • レンディングプロトコル(例:Aave)
  • 利回り市場(例:Pendle)
  • ステーブルコイン発行プロトコル(例:Ethena)

つまり、Ethenaを起点として

perp funding
↓
USDe yield
↓
DeFiの資金配分

という構造が生まれます。

この資金はさらに、

  • Pendleで利回りトークンとして取引されたり
  • Aaveで担保として使われてレバレッジが作られたり
  • CurveやUniswapの流動性プールに供給されたり

と、DeFiプロトコル間を移動しながらエコシステム全体に影響を与えます。

もしこの資金移動の構造を観測できれば、

capital flow
↓
liquidity change
↓
price distortion

という連鎖の入口を見つけられるかもしれないな、と。

この記事では、

  • DeFiでどこで戦うべきか
  • なぜ資金フローを見るのか
  • observer botの設計
  • 実装の概要
  • 現在の状態と今後の課題

といった流れで、今回行ったリサーチと実装を整理していきます。

もしDeFi botを作ろうとしていて、

「MEVや高速arbの世界には入りたくない」
「もう少し違う戦い方はないのか」

と考えている方がいれば、
この試行錯誤が少しでも参考になれば嬉しいです。

1. DeFi botを作る前に「戦場」を決める

DeFiでbotを作ろうと思ったとき、まず考えなければならないのは「どこで戦うのか」という問題です。

DeFiにはさまざまな戦場があります。
たとえば、以下のようなものです。

  • DEX間のアービトラージ
  • MEV(Maximal Extractable Value)
  • 清算(liquidation)bot
  • 高速スワップによる価格差取り
  • NFTミントの高速取得

どれも一見すると魅力的に見えます。実際、DeFiの初期にはこれらの戦略で大きな利益を出していたプレイヤーも多くいたようです。

しかし、現在の状況はかなり変わっています。

たとえばMEVの領域では、すでに Flashbots を中心としたエコシステムが形成されています。Flashbotsのrelayやbuilderを利用した取引バンドル、private mempool、さらにはblock builderレベルの最適化などが行われており、ここは完全にインフラ競争の世界です。

同様に、DEX間の高速アービトラージも状況は似ています。
Uniswap、Curve、BalancerといったDEXの価格差を狙う戦略は昔から存在しますが、現在は

  • 高速ノード
  • mempool監視
  • gas最適化
  • bundle送信

といった要素が前提となっており、数ミリ秒単位の競争になっています。

つまり、こうした領域では

速度
インフラ
資本

が大きな優位性を持ちます。

個人botterとして考えると、ここで真正面から戦うのはあまり合理的とは言えません。
もちろん不可能ではありませんが、勝負の軸が「研究」ではなく「インフラ」になってしまいます。

そこで思いついたのが、

価格ではなく、資金を見る。

というアプローチです。

CeFi(中央集権取引所)のトレードでは、多くの場合「価格」を中心に考えます。

order flow
↓
価格変動
↓
トレード

という流れです。

一方で、DeFiは構造が少し違います。
DeFiではまず資金がプロトコルに配分され、その結果として流動性や金利が変化します。

capital flow
↓
liquidity change
↓
price distortion

という順序で市場が動くことが多いのです。

たとえば、レンディングプロトコルである Aave の利用率(utilization)が上昇すると、借入金利(borrow APY)が上昇します。するとその資産の需要が変化し、DEX側の流動性や価格にも影響が出ることがあります。

また、利回り市場である Pendle では、利回りの期待値に応じて資金が移動します。特定の資産の利回りが魅力的になると、その市場にTVL(Total Value Locked)が流入し、DeFi全体の資金配分が変化します。

さらに最近では、Ethena のようなプロトコルも登場しています。EthenaはETHのデルタニュートラルポジションを利用して、合成ドルである USDe を発行するプロトコルです。

このUSDeは、

  • perpetual futures の funding rate
  • ETHのステーキング利回り

などを組み合わせた利回りを持つ資産として利用されます。

結果として、USDeの供給が増えると

Ethena
↓
Pendle
↓
Aave

といった形で資金がプロトコル間を移動し、DeFi全体の流動性構造に影響を与えます。

このように、DeFiでは資金配分そのものが市場構造を作ることが多いのです。

そこで今回の方針は、次のように決めました。

まずトレードbotを作るのではなく、
資金フローを観測するobserverを作る。

つまり、

capital flow
↓
liquidity change
↓
price distortion

という構造の最初の部分、
資金フローの観測から始めることにしました。

この観測ができれば、

  • どのプロトコルに資金が流入しているのか
  • どこでレバレッジが作られているのか
  • どの市場が流動性を吸収しているのか

といった構造が見えてくるはずです。

そして、その結果として生まれる市場の歪みを、あとからトレードとして利用できるかもしれません。

次の章では、この方針をもとに行ったリサーチについて整理していきます。


2. リサーチ:DeFiの資金フロー構造

では実際に、DeFiの資金はどのように動いているのでしょうか。

ここでは、リサーチを通じて整理したDeFiの資金フロー構造を簡単にまとめます。


DeFiの資金はどこに集まるのか

DeFiの資金は、基本的に次の3つの領域に集中します。

  1. ステーブルコイン
  2. レンディング
  3. 利回り市場

それぞれを簡単に見ていきます。


ステーブルコインが資金の起点になる

DeFiでは、多くの取引やレンディングがUSD建ての資産で行われます。

代表的なものとしては

  • USD Coin
  • Tether

といったステーブルコインです。

これらは、DeFiにおけるいわば資金のベースレイヤーになっています。

多くのレンディングプロトコルやDEXでは、価格の基準がUSDであり、担保や借入の中心もステーブルコインです。
つまりDeFiの資金フローは、

stablecoin
↓
各プロトコル

という形で始まることが多いのです。


レンディングが資金のハブになる

次に重要なのがレンディングプロトコルです。

代表的なものが、DeFi最大級のレンディングプロトコルである
Aave です。

Aaveでは、ユーザーは資産を預けて利回りを得ることもできますし、担保を入れて別の資産を借りることもできます。

レンディング市場では、特に次の指標が重要になります。

  • supply APY(貸出利回り)
  • borrow APY(借入金利)
  • utilization(利用率)

たとえば利用率が上がると、借入金利は上昇します。
すると、借入をしているトレーダーのコスト構造が変わり、資金配分も変化します。

つまりレンディングは、

capital flow
↓
leverage creation
↓
market impact

という構造の中心に位置しています。

そのため、Aaveのようなレンディングプロトコルは、DeFiの資金フローを観測する上で非常に重要な場所になります。


利回り市場が資金を吸収する

もう一つ重要なのが、利回り市場です。

その代表的なプロトコルが
Pendle です。

Pendleでは、利回り付き資産を

  • 元本(PT)
  • 利回り(YT)

に分解して取引することができます。

この仕組みによって、DeFiの利回りそのものが市場として取引されるようになりました。

結果として、利回りが魅力的な資産には資金が集中します。

たとえば、ある利回り資産の期待利回りが高くなると

stablecoin
↓
Pendle
↓
対象資産

という形で資金が流入します。

これは、DeFiにおける**yield chasing(利回り追求)**の典型例です。


Ethenaが作る新しい資金フロー

最近のDeFiで私が特に注目しているのが
Ethena です。

Ethenaは、ETHのデルタニュートラルポジションを利用して、合成ドルである
USDe
を発行するプロトコルです。

仕組みは比較的シンプルです。

ETH spot
+
ETH perpetual short
↓
delta neutral
↓
USDe発行

この構造では、主に次の2つが利回りの源になります。

  • perpetual futures の funding rate
  • ETHステーキング利回り

つまり、CeFiのデリバティブ市場で発生する収益が、DeFiのステーブルコイン利回りとして流れ込む仕組みです。

その結果、次のような資金フローが生まれます。

perp funding
↓
USDe yield
↓
Pendle
↓
Aave

この構造はかなり興味深いものです。

なぜなら、CeFiの市場構造がDeFiの資金配分に直接影響するからです。


DeFiの資金フローを整理すると

ここまでを整理すると、DeFiの資金フローはおおよそ次のようになります。

stablecoin
↓
Ethena / yield assets
↓
Pendle(利回り市場)
↓
Aave(レンディング)
↓
DEX流動性

つまり、

capital flow
↓
liquidity change
↓
price distortion

という順序で市場が変化していくことが多いのです。

この構造を観測できれば、

  • どこに資金が流入しているのか
  • どこでレバレッジが作られているのか
  • どの市場が資金を吸収しているのか

といった情報が見えてきます。

そして、それが将来的にトレード機会につながる可能性があります。

次の章では、DeFiの資金フローを語る上で注目したい"Ethena"について軽くまとめます。


3. Ethenaという特殊な存在をどう見るか

DeFiの資金フローを調べていると、最近ほぼ必ず名前が出てくるプロトコルがあります。

それが
Ethena です。

Ethenaは、合成ドルである
USDe
を発行するプロトコルです。

一見するとUSDCやUSDTのようなステーブルコインと似ていますが、構造はまったく違います。

本記事ではEthenaを、DeFi内部の利回り装置というより、外部デリバティブ市場の収益構造をDeFiへ持ち込む入口として見ています。USDe供給の変化がPendleやAaveにどう波及するかを追うことで、資金フローの連鎖を観測できるかもしれません。


通常のステーブルコインとの違い

例えば

  • USD Coin
  • Tether

といった一般的なステーブルコインは、基本的に次のような構造です。

ドル
↓
発行体
↓
ステーブルコイン

つまり、オフチェーンの資産を裏付けにしています。

一方、Ethenaは完全に違います。


Ethenaの基本構造

Ethenaの基本アイデアはシンプルです。

ETHのデルタニュートラルポジションを使って
ドルのような資産を作る、というものです。

具体的には次のポジションを作ります。

ETH spot long
+
ETH perpetual short

つまり

ETH
+
perp hedge
↓
価格変動を打ち消す

という構造です。

このデルタニュートラルポジションを担保にして、USDeが発行されます。


利回りの源泉

Ethenaのもう一つの特徴は、USDeが利回りを持つことです。

その利回りの主な源泉は2つあります。

Ethenaの利回りは、主にデルタヘッジに伴う funding / basis と、ステーキング系リターンを源泉とします。
実際の収益構造は時期や担保構成によって変わるため、本記事では簡略化して2つに分けて扱います。
一次情報はこちら→Ethena Overview

1. perpetual futures の funding rate

暗号資産のperpetual futuresでは、ロングとショートのバランスを取るために funding rate が支払われます。

一般的には、強気相場ではロングが多くなるため

long
↓
short に funding を支払う

という構造になります。

Ethenaはショートポジションを持っているため、ここでfundingを受け取ります。

過去数年間のデータを見ると、ETHのfunding rateは平均して年率 7〜9%程度のプラスだったという研究もあります。

つまり、

perp funding
↓
Ethena
↓
USDe yield

という構造が生まれます。


2. ETHのステーキング利回り

Ethenaの担保には

  • stETH

のようなステーキング資産も使われます。

そのため

ETH staking reward

も利回りの一部になります。


CeFiとDeFiをつなぐ構造

Ethenaの面白いところは、CeFiとDeFiの構造をつないでいる点です。

簡単に図にすると次のようになります。

CEX perp markets
↓
funding rate
↓
Ethena
↓
USDe
↓
Pendle / Aave

つまり

CeFiのデリバティブ市場
↓
DeFiの資金フロー

という関係が生まれます。

これは従来のDeFiではあまり見られなかった構造です。


Ethenaが資金フローを生む理由

USDeは単なるステーブルコインではありません。

  • 利回りがある
  • DeFiで担保として使える
  • Pendleなどで利回り取引ができる

といった特徴があります。

その結果、USDeが増えると

USDe supply
↓
Pendle
↓
Aave

という形で資金が動くことがあります。

つまり、Ethenaは

DeFiの資金フローを生む装置

として機能している可能性があります。


observerで見たいもの

今回のobserverでは、Ethenaを

資金フローの起点

として扱っています。

具体的には

  • USDe supply
  • PendleのUSDe系市場TVL
  • Aaveのレンディング利用率

などを組み合わせて観測します。

例えば

USDe supply ↑
Pendle TVL ↑

なら

USDE_FLOW_IN

という状態ラベルを出します。

このように、Ethenaを含めたDeFiの資金フローを観測することで、市場構造の変化を把握できるのではないかと考えています。

次の章では、この仮説をもとに設計した**資金フロー観測bot(observer)**について説明します。


4. 仮説:資金フローを観測すれば構造が見える

ここまでのリサーチで、DeFiの資金フロー構造はある程度見えてきました。

  • ステーブルコインが資金の起点になる
  • レンディングがレバレッジのハブになる
  • 利回り市場が資金を吸収する
  • Ethenaのようなプロトコルが新しい資金を生む

整理すると、DeFiではおおよそ次のような流れが存在します。

stablecoin
↓
利回り資産(例:USDe)
↓
Pendle(利回り市場)
↓
Aave(レンディング)
↓
DEX流動性

つまり

capital flow
↓
liquidity change
↓
price distortion

という順序で市場が変化していく可能性があります。

ここから、一つの仮説が生まれます。

資金フローを観測すれば、市場構造の変化が見えるのではないか。


CeFiとは逆の構造

この仮説の背景には、CeFiとの違いがあります。

中央集権取引所(CEX)のトレードでは、基本的に次の順序で市場が動きます。

order flow
↓
価格変動
↓
トレード機会

つまり、価格が最初に動きます。

一方でDeFiでは、資金配分が先に変わることがあります。

例えば、ある資産の利回りが魅力的になると、資金はそのプロトコルに流入します。

yield opportunity
↓
capital migration
↓
liquidity shift

その結果、流動性構造が変化し、DEXで価格が歪む可能性があります。

つまりDeFiでは

価格より先に資金が動くことがある。

という仮説です。


観測ポイントの整理

この仮説を検証するためには、どこを観測すればよいのでしょうか。

今回注目したのは、次の3つのプロトコルです。

  • Aave
  • Pendle
  • Ethena

それぞれの役割は次のように整理できます。

プロトコル役割
Ethena資金の発生源
Pendle利回り市場
Aaveレバレッジのハブ

つまり

Ethena
↓
Pendle
↓
Aave

という資金フローが観測できれば、DeFiの構造変化をかなり早い段階で把握できる可能性があります。


状態として表現する

今回のobserverでは、資金フローを単なる数値ではなく、状態(state)として表現することにしました。

例えば次のようなものです。

USDE_FLOW_IN
LENDING_TIGHTENING
PENDLE_ABSORBING_FLOW
NO_CLEAR_FLOW

これは簡単なルールベースで判定しています。

例えば、次のようなロジックです。

if ethena_delta > 0 and pendle_delta > 0:
return ("USDE_FLOW_IN", "ethena circulating up + pendle usde tvl up")
if util_d1 > 0 and borrow_d1 > 0:
return ("LENDING_TIGHTENING", "aave utilization up + borrow apy up")

つまり

  • USDe供給が増えている
  • PendleのUSDe市場に資金が流入している

なら

USDE_FLOW_IN

という状態になります。


トレードではなく観測

ここで重要なのは、このobserverはまだトレードbotではないという点です。

役割は次の通りです。

資金フロー観測
↓
構造把握
↓
仮説生成

つまり、DeFiの資金構造を理解するための研究装置です。

もしこの仮説が正しければ、

capital flow
↓
liquidity change
↓
price distortion

という連鎖が見えてくるはずです。

そして、その歪みが安定して観測できるなら、初めてトレード戦略につながる可能性があります。

このobserverの狙いは
DeFiの資金配分が構造変化へつながる入口を見えるようすることです。

具体的には、
・特定銘柄の借入コスト上昇を早期に検知すること
・利回り市場への流入がDEX流動性に波及する前兆を見ること
・stable / yield / lending の三層で、資金の偏りを状態遷移として捉えること
を狙っています。


次の章では、この仮説を実際に観測するために作った
資金フロー観測bot(observer)の設計について説明します。


5. 観測botを作る

ここまでのリサーチで、DeFiの資金フローはある程度整理できました。

stablecoin
↓
Ethena
↓
Pendle
↓
Aave
↓
DEX流動性

この構造を前提にすると、次の疑問が生まれます。

本当にこの資金フローは観測できるのか?

もし観測できるなら、

capital flow
↓
liquidity change
↓
price distortion

という変化を、価格より先に検知できる可能性があります。


トレードではなく観測から始める

最初からトレードbotを作ることもできますが、今回はあえてそうしませんでした。

理由は単純です。

構造がまだ確定していないからです。

私はDeFiにおいて、

  • どこで資金が発生するのか
  • どこに資金が吸収されるのか
  • レバレッジはどこで作られるのか

といった関係をまだ十分に理解できていません。

そのため、まずは

資金フローを観測する

ための装置を作ることにしました。

つまり今回のbotの役割は

collector
↓
時系列データ保存
↓
簡易分析

というシンプルなものです。


観測対象のプロトコル

今回のobserverでは、次の4つのデータソースを使っています。

Aave

レンディング市場の状態を見るために
Aave
のデータを取得します。

Aaveでは特に次の指標が重要です。

  • utilization(利用率)
  • supply APY
  • borrow APY
  • available liquidity

利用率が上がると借入金利が上昇するため、

資金需要
↓
レバレッジ増加

を示すシグナルになる可能性があります。

データはAaveのGraphQL APIから取得します。

https://api.v3.aave.com/graphql

Pendle

利回り市場を見るために
Pendle
のデータを取得します。

Pendleでは

  • market TVL
  • implied APY
  • spot price

などを取得します。

特に、Ethenaの資産(USDe / sUSDe)関連市場のTVLが重要です。

Pendle TVL
↑
↓
利回り資産への資金流入

という構造がある可能性があるからです。

データはPendleのAPIから取得します。

https://api-v2.pendle.finance/core/v1/{chainId}/markets

Ethena

資金の発生源として
Ethena
のUSDe供給量も観測します。

USDeの供給量が増えると、

USDe supply
↑
↓
Pendle
↓
Aave

という資金移動が起きる可能性があります。

このobserverでは、DefiLlama APIを使ってUSDe supplyを取得しています。


DefiLlama

DeFi全体の状況を見るために
DefiLlamaのAPIも利用しています。

取得しているのは主に

  • protocol TVL
  • stablecoin supply

です。

例

https://api.llama.fi/protocol/{slug}

observerの構造

今回のobserverは、できるだけシンプルに作っています。

構造は次の通りです。

collector
↓
SQLite
↓
analytics
↓
summary / alerts

各プロトコルのデータはcollectorで取得し、SQLiteに保存します。

observer.db

に次のテーブルを作っています。

  • aave_reserves
  • pendle_markets
  • protocol_tvl
  • ethena_snapshots

このデータをもとに、簡単な時系列分析を行います。


CLIでの実行

observerはCLIツールとして実装しました。

主なコマンドは次の4つです。

python main.py init-db

データベースを初期化します。

python main.py collect

すべてのデータソースからデータを取得し、SQLiteに保存します。

python main.py summary

最新の観測値と状態ラベルを表示します。

python main.py alerts

簡易アラートを表示します。


observerの目的

このobserverは、トレードを行うものではありません。

目的は次の通りです。

資金フロー観測
↓
構造理解
↓
仮説生成

もし

  • Ethena
  • Pendle
  • Aave

の間で資金フローが安定して観測できるなら、

capital flow
↓
liquidity change
↓
price distortion

という連鎖を捉えられる可能性があります。

そして、そのとき初めて
トレードbotを作る意味が出てきます。

次の章では、このobserverの設計についてもう少し詳しく説明します。


6. observerの設計

前章では、DeFiの資金フローを観測するためにobserverを作ったことを説明しました。
この章では、そのobserverをどのような設計思想で作ったのかを整理します。

ポイントはシンプルです。

トレードbotではなく、研究装置として設計する。

そのため、機能はできるだけ絞り、観測と分析に集中させています。


設計方針

今回のobserverの設計方針は次の通りです。

・無料データのみ使用
・トレード機能は持たない
・時系列データを保存する
・簡単な状態分類を行う
・CLIで実行できる

特に重要なのは、

「まず観測する」

という思想です。

DeFiの資金構造はまだ十分に理解できていない段階では、
いきなりトレードロジックを書くよりも、まずデータを集めて構造を観察する方が合理的だと考えました。


データ取得

データ取得はcollectorとして分離しています。

今回作ったcollectorは次の4つです。

  • Aave
  • Pendle
  • Ethena
  • DefiLlama

それぞれPythonファイルとして独立しています。

collectors/
├ aave.py
├ pendle.py
├ ethena.py
└ defillama.py

この構造にしておくと、新しいプロトコルを追加するときにcollectorを1つ増やすだけで済みます。


データ保存

取得したデータはSQLiteに保存しています。

observer.db

テーブルは次の4つです。

aave_reserves
pendle_markets
protocol_tvl
ethena_snapshots

それぞれに

ts_utc

というタイムスタンプを持たせており、すべてのデータを時系列で追えるようにしています。

DeFi研究では、

いつ何が起きたか

を後から検証することが非常に重要です。

そのため、生データはできるだけそのまま保存する設計にしました。


watchlist

observerでは、監視対象を固定しています。

例えばAaveでは次の資産をwatchlistにしています。

USDC
USDT
USDE
DAI
GHO

そして

(asset_symbol, chain_name, market_name)

の複合キーで系列を扱います。

これは、同じ資産でも

  • chain
  • market

によって状態が違うためです。

例えば

USDC / Ethereum / Aave V3 Ethereum

のような形で識別します。


summary

observerの中心になるのが summary コマンドです。

python main.py summary

このコマンドは

  • 最新データ
  • 直近差分
  • 24時間差分
  • z-score

をまとめて表示します。

さらに、複数プロトコルを横断して

Combined flow summary

を表示します。

例:

Aave watchlist USDC / Ethereum / Aave V3 Ethereum
util=0.79 d1=+0.02 z=1.4Pendle watchlist rep: sUSDe
liq_usd_proxy=1.3B d1=+80MProtocol watchlist ethena-usde
tvl=2.7B d1=+120M

状態ラベル

数値を並べるだけでは解釈が難しいため、observerでは簡単な状態分類を行っています。

現在のラベルは次の4つです。

USDE_FLOW_IN
LENDING_TIGHTENING
PENDLE_ABSORBING_FLOW
NO_CLEAR_FLOW

これはルールベースで判定しています。

例えば

if ethena_delta > 0 and pendle_delta > 0:
return ("USDE_FLOW_IN", "ethena circulating up + pendle usde tvl up")

という形です。

つまり

USDe supply ↑
Pendle TVL ↑

なら

USDE_FLOW_IN

という状態になります。


alerts

observerには簡単なアラート機能もあります。

python main.py alerts

このコマンドは

  • utilization急変
  • TVL急変
  • z-score異常

などを検知します。

ただし、このアラートはあくまで補助的なものです。

observerの中心はあくまで

summary

です。


observerの役割

このobserverの役割は次の通りです。

資金フロー観測
↓
構造理解
↓
仮説生成

このobserverを一定期間動かし、

  • 資金フローのパターン
  • 状態ラベルの出現頻度
  • プロトコル間の関係

などを観察することで、初めてトレード戦略の候補が見えてくるはずです。

このobserverは常時稼働させることを想定していますが、まずは短時間の耐久テストを行い、

- API制限
- データ欠損
- ストレージ増加

などを確認してから、定期運用に移行する予定です。

ただし、このobserverには明確な限界があります。
まず、取得している値の多くは公開API由来であり、遅延や定義変更の影響を受けます。
また、TVLは資金フローそのものではなく、その近似値にすぎません。

そのため、現時点で見ているのは因果というより相関です。
さらに、オフチェーン要因やCEX側のヘッジポジションは直接観測できません。

つまり、このobserverだけで市場構造の全体を説明できるわけではなく、仮説を絞り込み、次に見るべき場所を見つけるための装置として使うのが適切だと考えています。

次の章では、observerを実際に動かしてみて、現在どこまで進んでいるのかを整理します。


7. 実装と現在の状態

この章では、実際にどこまで実装が進んでいるのか、そして現在の状態を整理します。

結論から言うと、観測装置としてはすでに動いている状態です。


実装した構成

今回のobserverは、次のような構成になっています。

observer/
├ main.py
├ config.py
├ db.py
├ analytics.py
├ schema.sql
└ collectors/
├ aave.py
├ pendle.py
├ ethena.py
└ defillama.py

それぞれの役割はシンプルです。

ファイル役割
main.pyCLIエントリーポイント
collectorsデータ取得
db.pySQLite保存
analytics.py分析ロジック
config.pywatchlist定義

このobserverは、複雑なインフラを必要としません。
PrometheusやGrafanaなども使っていません。

あくまで

collector
↓
SQLite
↓
analysis

という最小構成です。


CLIコマンド

observerはCLIで操作します。

主なコマンドは次の4つです。

データベース初期化

python main.py init-db

データ収集

python main.py collect

最新状態表示

python main.py summary

アラート確認

python main.py alerts

collect を実行すると、

  • Aave
  • Pendle
  • Ethena
  • DefiLlama

からデータを取得し、SQLiteに保存します。

テーブル構成は次の通りです。

aave_reserves
pendle_markets
protocol_tvl
ethena_snapshots

すべてのテーブルに

ts_utc

を持たせており、時系列データとして扱えるようにしています。


summaryの出力

observerの中心になるのが summary コマンドです。

python main.py summary

このコマンドは

  • 最新値
  • 直近差分
  • 24時間差分
  • z-score

をまとめて表示します。

例としては次のような出力になります。

[Aave latest]USDC / Ethereum / Aave V3 Ethereum
util=0.79 supply_apy=3.2 borrow_apy=5.6[Pendle latest]sUSDe (2026-05-07)
liq_usd_proxy=1.3B implied_apy=9.4%[Protocol TVL latest]aave-v3 tvl=10.2B
pendle tvl=3.8B
ethena-usde tvl=2.7B

さらに、複数プロトコルを横断した

Combined flow summary

も表示されます。


状態ラベル

今回のobserverでは、数値だけでなく簡単な状態分類を行っています。

現在の状態ラベルは次の4つです。

USDE_FLOW_IN
LENDING_TIGHTENING
PENDLE_ABSORBING_FLOW
NO_CLEAR_FLOW

例えば

state: PENDLE_ABSORBING_FLOW
reason: pendle usde tvl up + aave usdc/usde liquidity down

のように出力されます。

これは、

  • Ethena
  • Pendle
  • Aave

のデータを組み合わせて判定しています。

例えば

USDe supply ↑
Pendle TVL ↑

なら

USDE_FLOW_IN

という状態になります。


現在のobserverの完成度

現時点のobserverの完成度を整理すると次のようになります。

項目状態
データ取得完成
DB保存完成
watchlist完成
状態分類完成
アラート簡易版

つまり

観測botとしては十分動いている状態です。


ここまででできたこと

今回の実装でできたことは次の3つです。

1. DeFi資金フローを観測する装置を作った

Aave、Pendle、Ethenaの関係を
時系列で観測できるようになりました。


2. 仮説を検証するための基盤ができた

observerを動かすことで

資金フロー
↓
状態

を確認できます。


3. DeFi研究を継続できる環境が整った

このobserverを回し続けることで、

  • 資金フローのパターン
  • 状態ラベルの頻度
  • プロトコル間の関係

を分析できるようになります。


次にやること

今後やることはシンプルです。

observerを回す
↓
データを貯める
↓
パターンを探す

まずは数週間〜数ヶ月程度、observerを動かし続けて、

  • どの状態が多いのか
  • 状態の遷移
  • 状態と価格の関係
  • 観測対象が正しいのか

などを確認していく予定です。

なお、現在はまだcronなどの定期実行は行っておらず、短時間の耐久テストを行いながらチューニングしている段階です。

次の章では、ここまでの開発で分かったことをまとめます。


8. ここまでで分かったこと

この章では、現時点での考えを改めて整理しておきます。

結論から言うと、

まだエッジは見えていない。

しかし同時に、

観測すべき構造はかなり見えてきた。

という状態です。


DeFiは価格より資金で動く可能性がある

今回のリサーチで最も印象的だったのは、DeFiの市場構造がCeFiとはかなり違うことです。

中央集権取引所では、多くの場合

order flow
↓
価格変動
↓
トレード

という順序で市場が動きます。

しかしDeFiでは、むしろ

capital flow
↓
liquidity change
↓
price distortion

という順序になる可能性があります。

例えば、

  • 利回りが魅力的な資産が出る
  • 資金がそこに集中する
  • 流動性構造が変わる

といった流れです。

つまり、DeFiでは

資金配分の変化そのものが市場構造を作る

可能性があります。


レンディングが資金のハブになる

リサーチの中で特に重要だと感じたのが、レンディングプロトコルです。

代表的なのが
Aave です。

レンディング市場では、

  • utilization(利用率)
  • borrow APY
  • available liquidity

といった指標が、資金需要を直接反映します。

例えば利用率が上昇すると、

レバレッジ需要 ↑
↓
borrow demand ↑
↓
utilization ↑
↓
borrow APY ↑

という構造になります。

つまりレンディングは、

DeFiのレバレッジが作られる場所

と言えます。


利回り市場が資金を吸収する

もう一つ重要なのが、利回り市場です。

今回の観測対象にした
Pendle
は、その典型です。

Pendleでは利回り付き資産を

  • 元本
  • 利回り

に分解して取引することができます。

その結果、

yield opportunity
↓
capital migration

という資金移動が起きます。

特に最近は、Ethenaの資産(USDe / sUSDe)がPendleで大きな市場を作っています。


Ethenaが新しい資金フローを作っている

今回のリサーチで一番興味深かったのは
Ethena
の存在です。

Ethenaは

  • ETH spot
  • ETH perpetual short

というデルタニュートラルポジションを使って
USDe
を発行します。

その利回りは主に

  • perpetual futures の funding rate
  • ETHステーキング利回り

から生まれます。

つまり

CeFiデリバティブ市場
↓
Ethena
↓
DeFi利回り

という資金フローが生まれます。

これはかなりユニークな構造です。

なぜなら、

CeFiの市場構造がDeFiの資金配分に直接影響する

からです。


observerは研究装置として機能している

今回作ったobserverは、まだトレードを行いません。

役割は

資金フロー観測
↓
構造理解
↓
仮説生成

です。

現時点では

  • Aave
  • Pendle
  • Ethena
  • DefiLlama

のデータを取得し、簡単な状態分類を行っています。

例えば

USDE_FLOW_IN
LENDING_TIGHTENING
PENDLE_ABSORBING_FLOW

といった状態です。

これにより、DeFiの資金フローをある程度構造として見ることができるようになりました。


まだ分かっていないこと

もちろん、まだ分からないことの方が多いです。

特に重要なのは次の点です。

  • 資金フローはどの程度持続するのか
  • 状態ラベルは価格とどの程度関係するのか
  • 資金フローがどこで歪みを生むのか

つまり、

capital flow
↓
price distortion

が本当に存在するのかは、まだ確認できていません。

今の結論

現時点の結論はシンプルです。

DeFiの資金フローは観測できる。

しかし、

それがエッジになるかはまだ分からない。

です。

とはいえ、observerが動き始めたことで、ようやく

仮説
↓
データ
↓
検証

という研究サイクルに入ることができました。

次の章では、これから何をしていくのかを整理します。


9. 今後やること

ここまでで、DeFiの資金フロー構造を整理し、観測bot(observer)を実装しました。
とはいえ、これはまだ研究のスタート地点に過ぎません。

現時点では、

観測装置

ができただけで、

エッジ

はまだ見つかっていない状態です。

ここから先は、観測を続けながら仮説を検証していくフェーズになります。


まずはデータを蓄積する

最初にやるべきことはシンプルです。

observerを回し続けること。

今回のobserverは、

  • Aave
  • Pendle
  • Ethena
  • DefiLlama

のデータを定期的に取得し、SQLiteに保存します。

collect
↓
SQLite
↓
summary

という流れです。

このデータがある程度蓄積されないと、

  • 資金フローのパターン
  • 状態ラベルの出現頻度
  • プロトコル間の関係

といったものは見えてきません。

そのため、まずは数週間から数ヶ月程度、observerを回してデータを貯めていく予定です。

具体的には、

・30分間で6回程度の collect 実行
・API制限に引っかからないか
・sourceごとのデータ取得が安定しているか
・DBに重複や欠損が発生していないか

といった点を確認します。

また、

・DBサイズの増加量
・1日 / 30日運用時のストレージ見積もり

なども測定する予定です。

この段階で問題がなければ、
5分間隔程度でobserverを定期実行する予定です。


状態ラベルの精度を上げる

現在のobserverでは、次の4つの状態ラベルを使っています。

USDE_FLOW_IN
LENDING_TIGHTENING
PENDLE_ABSORBING_FLOW
NO_CLEAR_FLOW

しかし、これはあくまで最小限のルールベースです。

例えば現在の判定は、

USDe supply ↑
Pendle TVL ↑

なら

USDE_FLOW_IN

という単純なものです。

今後は、

  • 利回り(implied APY)
  • 利用率(utilization)
  • 借入金利(borrow APY)

なども組み合わせて、状態判定の精度を上げていく必要があります。


プロトコル間の関係を検証する

もう一つ重要なのは、プロトコル間の関係を確認することです。

今回の仮説では、次のような資金フローを想定しています。

Ethena
↓
Pendle
↓
Aave

つまり、

  • USDe supply が増える
  • Pendle の USDe市場に資金が流入する
  • Aave の利用率が上昇する

という流れです。

しかし、この関係が本当に存在するのかは、まだ分かりません。

observerを動かし続けることで、

資金フローの順序

を確認する必要があります。


価格との関係を見る

最終的な目的は、もちろんトレードです。

そのためには、

capital flow
↓
price distortion

が本当に存在するのかを確認する必要があります。

例えば、

  • Aave利用率の急上昇
  • Pendle TVLの急増
  • Ethena supplyの変化

などが起きたとき、

DEX価格

にどのような影響が出るのかを調べる必要があります。

この段階になって初めて、

トレード戦略の候補

が見えてくるはずです。


観測対象を広げる

もう一つの方向として、観測対象を広げることも考えています。

例えば、

  • Curve
  • Uniswap
  • Morpho
  • Spark

などのプロトコルです。

ただし、最初から対象を増やしすぎると、分析が難しくなります。

そのため、まずは

Ethena
Pendle
Aave

の関係を中心に観測を続ける予定です。


トレードbotを作るのはまだ先

現時点では、まだトレードbotを作る予定はありません。

理由はシンプルです。

構造がまだ見えていないからです。

無理にトレードbotを作るより、

観測
↓
理解
↓
仮説
↓
検証

という順序を守った方が、結果的に良い戦略に辿り着く可能性が高いと考えています。


ここまでが、今回のobserver開発のまとめです。

最後に、この取り組みを通して感じたことを少し書いておきます。


10. 今日の結論

今回の目的は、DeFiでどこで戦うべきかを考え、そのための観測装置を作ることでした。

結論として言えることは、次の二つです。

DeFiの資金フローは観測できる。
しかし、それがエッジになるかどうかはまだ分からない。

これは少し当たり前の結論かもしれませんが、個人的にはやっぱり大事です。エッジが確定しないうちにbotを作るとそこにかけたリソースが無駄になりやすいので。


DeFiは価格より資金を見る市場かもしれない

今回のリサーチで強く感じたのは、DeFiの市場構造がCeFiとはかなり違うということです。

中央集権取引所では、多くの場合

order flow
↓
価格変動
↓
トレード

という順序で市場が動きます。

一方、DeFiでは

capital flow
↓
liquidity change
↓
price distortion

という順序になる可能性があります。

例えば、

  • 利回りの高い資産が登場する
  • 資金がそこに流入する
  • 流動性構造が変わる

という流れです。

この構造が本当に存在するなら、DeFiでは

価格より先に資金を見ることで市場を理解できる可能性

があります。


Ethenaが作る新しい資金フロー

今回のリサーチで特に印象的だったのが
Ethena
の存在です。

Ethenaは、

  • ETHのデルタニュートラルポジション
  • perpetual futures の funding rate

を利用して
USDe
を発行します。

この構造によって、

CeFiデリバティブ市場
↓
Ethena
↓
DeFi利回り

という資金フローが生まれます。

これは、CeFiとDeFiをつなぐかなり興味深い仕組みです。

もしUSDe supplyの変化がPendleやAaveに波及するなら、

Ethena
↓
Pendle
↓
Aave

という資金の連鎖が観測できる可能性があります。


observerは研究装置

今回作ったobserverは、トレードbotではありません。

役割は

資金フロー観測
↓
構造理解
↓
仮説生成

です。

Aave、Pendle、Ethena、DefiLlamaのデータを定期的に取得し、
簡単な状態ラベルを返すだけのシンプルなツールです。

例えば

USDE_FLOW_IN
LENDING_TIGHTENING
PENDLE_ABSORBING_FLOW

といった状態です。

このobserverを回し続けることで、

  • 資金フローのパターン
  • プロトコル間の関係
  • 状態と市場の動き

などを観測していくことができます。


今はまだスタート地点

もちろん、これだけでトレード戦略ができるわけではありません。

まだ分かっていないことの方が多いです。

例えば、

  • 資金フローはどの程度持続するのか
  • 状態ラベルと価格の関係はあるのか
  • 本当に市場の歪みが生まれるのか

といった点です。

そのため、今やるべきことはとてもシンプルです。

observerを回し続けること。

データを貯め、パターンを見つけ、仮説を検証する。
その繰り返しです。


今日の結論

今回の取り組みを一言でまとめると、

DeFiで戦うなら、まず資金を見る。

ということです。

価格を見る前に、資金の流れを見る。
トレードの前に、構造を理解する。

このobserverが、その第一歩になればと思っています。

-Bot, DeFi bot, DEX, 開発ログ