Bot CEX DeFi bot DEX 開発ログ

🛠️開発記録#606(2026/11/6)価格変化の中身を調べる――SolanaとCEXのエッジ探索

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

今日も引き続き、Solanaの市場調査、アビトラbotの調整、CEXbotの研究を進めました。

それぞれ取り組んでいる市場や課題は異なりますが、今日は特に、価格がどのように形成され、変化しているのかについて理解を深める一日になりました。

Solanaでは、実際に取引しているウォレットの追跡から、専門的なマーケットメイカーが運営するProp AMMの調査へ進みました。

一方、CEXでは、過去の約定履歴を使い、実際に発生した価格変化を起点に取引機会を探す方法を検討しました。

どちらも、目に見えている価格差や値動きから、実際に取得できる利益を探る研究です。

ただし、価格差が存在することと、それを利益として取得できることは同じではありません。

今日は、その間にある問題を少し具体的に整理できたように思います。

1.Solanaの価格形成主体をさらに掘り下げる

Solanaの調査では、引き続き個別プロトコルと市場参加者の実態を追っています。

以前の開発記録#604「Meteoraは一つの市場ではない――約40万プールの調査と内部裁定の検証」では、Meteoraの市場構造やプール間の価格差について調べました。

その後、実際に取引しているウォレットを追跡し、どのプロトコルを組み合わせて交換しているのか、どのような取引経路が成立しているのかを調べています。

その過程で改めて注目したのが、Prop AMM(Proprietary Automated Market Maker)です。

Prop AMMは、専門的な流動性供給者が自己資金を使い、独自の価格モデルに基づいて交換価格を提示する仕組みです。

一般的なAMMのように、プールの残高と公開された価格曲線だけで交換価格が決まるとは限りません。

運営者が外部市場の価格や自社の在庫、取引数量などを考慮して価格を調整するため、価格形成の仕組みも異なります。

Solanaでは、こうしたProp AMMがすでに大きな取引量を処理しています。

今回は、Wintermuteが運営するTesseraVと、大手のBisonFiを中心に調べました。

Prop AMMごとに価格と資本の管理方法が異なる

TesseraVでは、実際のプログラムと取得した口座状態を使い、ローカル環境で交換処理を再現する検証を進めました。

特定の状態を固定したままSolanaのslot番号を変更すると、交換結果が変化する挙動が確認されています。

ただし、これはTesseraVが毎slot価格情報を更新していることを示すものではありません。

現時点では、特定の実行条件で交換結果にslot依存性が認められたという段階です。

その内部計算や、通常運転における価格決定への影響の大きさは、まだ十分に分かっていません。

BisonFiでは、市場口座や資金管理の構造を調べました。

同じトークンペアに複数の市場が存在することや、市場によって資金口座の権限構成が異なることなどを確認しています。

また、実際の交換取引では、複数の取引経路を通じてBisonFiが利用されていることも分かりました。

ここまで調べると、Solanaの流動性供給は、単にDEXごとの価格を比較すればよいというものではないことが見えてきます。

同じ資産を交換できる市場でも、価格を決める主体、在庫の管理方法、価格更新、取引を受け入れる条件が異なります。

これらの違いが、どのような価格差を生み、どの程度の時間残るのか。

さらに、それを自分のbotから取得できるのか。

今後は、他のProp AMMについても実態調査を広げながら、Solanaの価格形成をより具体的に理解していく予定です。

現時点でProp AMMを含む裁定エッジが確立したわけではありません。

まずは市場の実態を把握し、取引に利用できる可能性のある違いを探している段階です。

2.アビトラbotの検知・探索系を改善する

既存のアビトラbotについても、検知・探索系の調整を進めました。

今回は、WebSocketによる更新通知を利用して探索処理を起動する構成へ変更し、監視対象の追加や処理の効率化も行っています。

また、処理速度を改善するにあたって、PythonからRustなどへ移行する必要があるかも検討しました。

実測した範囲では、現状の主な制約は計算処理そのものよりも通信や外部サービスへの問い合わせにあり、今回は既存の言語構成を維持しています。

一方、稼働状況の監査では、想定していた探索範囲と、実際に機会を評価できている範囲に差があることも分かりました。

プールの状態を監視していること、候補経路を登録していること、実際に採算判定まで完了できていることは、それぞれ別の問題です。

今回の確認を踏まえ、検知範囲や評価処理の改善を引き続き進めています。

なお、アビトラbotは実際の執行にも関係するため、具体的な取引経路や数量条件などは公開しません。

3.CEXbotの研究を価格変化から組み直す

CEXbotでは、昨日に引き続きbitFlyerの現物・CFD市場を調べています。

前回の開発記録#605「CEXの内側を測り、外側の使い道を考える」では、両市場の価格や出来高、約定数量などの関係を調べました。

今回はそこから少し研究の方向を変え、価格変化そのものを起点に分析を進めました。

そもそも方向性のあるトレードで利益を得るには、エントリ後に費用を上回る価格変化が必要です。

であれば、まず過去の市場でどの程度の価格変化が発生していたのか、それぞれの変化にどの程度の時間がかかり、どのくらいの値幅が存在したのかを把握する必要があります。

そこで、約31.8日分、約169万件のCFD約定履歴を使い、価格変化の分布を調べ直しました。

最初に、期間内の最高値・最安値、時間順の上昇幅・下落幅を確認しました。

続いて、変化幅ごとの到達件数と到達時間を集計しました。

そのうえで、仮に価格が動く方向を完全に予測できた場合、取引費用を考慮してどの程度の利益余地が存在したのかを評価しています。

ただし、ここで抽出した価格変化は、事後的に確認できたものです。

実際にその変化を事前に予測できたわけではありません。

また、約定履歴の価格は、必ずしも自分が売買できた価格と一致しません。

そのため、一部期間の板情報を使った数量別評価も行いましたが、全期間について執行可能性を確認できたわけではありません。

ここで得られたのは、利益を生み出す可能性のある価格変化を調べるための基礎資料です。

値幅だけでは価格変化の性質を説明できない

分析を進めるうちに、価格変化をどこから数えるかという問題も出てきました。

例えば、ある価格から一定幅の上昇・下落に到達するまでを一件と数え、到達した時点を次の起点にする方法があります。

しかし、この方法では、短時間の急変と、長時間の停滞を挟んだ変化が混在します。

同じ値幅に到達したとしても、途中で大きく逆行している場合もあります。

つまり、価格変化の大きさと到達時間だけでは、実際にどのような値動きが発生していたのか十分に説明できません。

そこで、価格変化の過程そのものを詳しく調べることにしました。

4.同じ値幅でも、価格変化の過程は異なる

今回、約31日間の価格推移を時系列チャートにして確認しました。

すると、大きな価格変動が集中している期間や、比較的落ち着いた期間があることを視覚的に確認できました。

特に注目したのは、短時間で価格が急激に動いている部分です。

ただし、全期間を一枚の図にすると、細かな値動きまでは分かりません。

例えば、長い時間をかけて緩やかに下落しているように見える区間でも、実際には短時間の急落が何度も発生している可能性があります。

反対に、始点と終点の価格がほとんど変わっていなくても、その途中では大きく上下している場合があります。

今回の調査でも、約4時間の始点・終点の価格差がほぼゼロだった一方、その区間内部には大きな価格変動が存在していた例が見つかりました。

また、約15分間の下落について調べると、その値幅の相当部分が末尾の短時間に集中していた例も確認できました。

このような違いは、単純な始点と終点の変化率だけでは捉えにくいものです。

価格変化が生じた理由も分けて考える

さらに、特徴的な値動きについては、その時間帯に何が起きていたのかを調べる必要があります。

例えば、大きな経済指標の発表や、暗号資産市場に影響する事件が発生した場合、価格が急変することがあります。

こうした外部イベントが関係する変化と、市場内部の注文や約定の変化から生じる値動きでは、検証するべき内容が異なります。

ニュースを取得するbotであれば、情報が公開された時刻、取得できた時刻、価格が反応した時刻を比較する必要があります。

一方、市場データだけを利用するbotであれば、その価格変化に先行する兆候が存在したのか、あるいは動き始めてからでも十分な値幅が残っていたのかを調べることになります。

もちろん、ニュースが原因と考えられる変化でも、その後の市場内部の需給によって価格がさらに動く場合があります。

したがって、外部イベントと内部市場の動きを、最初から完全に切り離して考えることも適切ではありません。

重要なのは、実際に起きた値動きを詳しく観察し、説明できる部分と、まだ説明できない部分を分けることです。

そして、必要に応じて観測の時間幅を変えたり、異なるデータを追加したりしながら、検証対象を具体化していきます。

5.価格変化の検出と利益の取得を切り分ける

価格変化の構造が少し見えてきたところで、実際のエントリ候補についても検証しました。

最初は、一定期間の方向性を維持しながら短期の価格変化が再び強まる条件を試しました。

複数の時間幅や条件を比較しましたが、費用控除後に採用基準を満たすものは確認できませんでした。

ただし、ここで問題になったのは、単純に条件が有効ではなかったということだけではありません。

そもそも、その価格変化の形を優先して検証する根拠が十分だったのか、という問題も残っていました。

そこで、特定のエントリ条件を先に設定するのではなく、実際の価格経路から異なる種類の現象を抽出し直しました。

急変、停滞後の変化、方向転換、大きな往復など、複数の現象を調べ、特徴的な区間を元の約定履歴まで戻って確認しています。

その結果、価格変化を検出するタイミングについても、区別が必要だと分かってきました。

初動を予測することと、動き始めてから取得することは違う

例えば、大きな価格下落が発生したとします。

その下落が始まる前に兆候を検出してエントリする場合と、下落が始まったことを確認してから追随する場合では、必要な予測能力が異なります。

後者の場合、最初の値幅を取得できなくても、その後に十分な下落が残っていれば利益を得られる可能性があります。

一方、変化を確認するまでに時間がかかりすぎると、エントリした時点では利益になる値幅が残っていないかもしれません。

さらに、方向の予測が正しくても、途中の逆行によって損切りされる可能性があります。

つまり、最終的な価格変化だけを見て、利益を得られたはずだと判断することはできません。

今回の分析では、変化が始まってからの検出タイミング、残っていた値幅、途中の逆行なども調べています。

一部の急変局面では、初動から数秒遅れても大きな価格変化が残っていた例が確認できました。

ただし、それは個別の事例であり、同じ条件が継続的に成立することを示すものではありません。

複数の検出方式も試しましたが、今回の採用基準を満たす条件は確認できていません。

現時点では、価格変化を利用した収益エッジが見つかったという段階ではなく、どのような変化を、どのタイミングで検出できれば取引可能性が生まれるのかを調べている段階です。

6.市場を観測する方法も検証対象にする

今日の研究を通じて、もう一つ重要だと感じたのが、観測方法そのものの妥当性です。

例えば、価格の変化率や傾きは、市場の動きを理解するうえで便利な指標です。

しかし、その計算には必ず時間幅や起点、価格の集約方法などの前提が含まれています。

5分間の傾きを計算する場合でも、始点と終点だけを使うのか、途中の価格も含めて回帰分析するのかによって、結果は変わります。

また、1時間の変化率が小さいからといって、その内部に取引可能な価格変化が存在しなかったとは限りません。

これは当然のことのようにも思えますが、大量のデータを機械的に分析していると、意外と見落としやすい部分です。

今回も、最初に選んだ指標やエントリ条件に沿って多数の比較を実施していました。

計算そのものが正しかったとしても、最初の条件設定が適切だったかどうかは、別に検証しなければなりません。

AIによって大量の分析や実装を短時間で実行できるようになりましたが、どの現象を観測するべきか、どの方法を優先するべきかという判断まで、自動的に適切になるわけではありません。

これはAIに限らず、研究そのものに関わる問題だと思います。

今後は、特徴的な変化を複数の時間解像度で抽出し、必要に応じて拡大観察や外部情報との照合を行いながら、検証対象を選んでいく方法も取り入れたいと考えています。

ただし、観測方法を増やすこと自体が目的ではありません。

大切なのは、現在の研究で何を明らかにしたいのか、そのためにどの情報が必要なのかを考え続けることです。

これはSolanaの調査にも共通しています。

複数のProp AMMについて価格形成や状態変化を観測する場合も、ある価格差が存在したことだけでは、その発生理由や継続時間、取得可能性までは分かりません。

価格が変化する仕組みを理解し、実際にどのような取引が成立し、その条件を自分のbotで再現できるのか。

その順序で調べていく必要があります。

今日も新しい収益エッジが確立したわけではありません。

ただ、Solanaでは異なる流動性供給者の実態が少しずつ見えてきました。

CEXでは、価格変化の大きさだけでなく、その過程や観測方法まで含めて検証する方向へ研究を進められました。

アビトラbotについても、実装と監視の改善を続けています。

市場を理解することと、実際に利益を取得することの間には、まだ多くの検証課題があります。

それでも、見えているものを一つずつ確認し、分からない部分を明確にしながら、取引可能な優位性を探していきたいと思います。

引き続き、ぼちぼち進めていきます。

それでは、また。

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