botter

【9月の振り返り】専業ぼっちbotterのログ【6ヶ月目】

Pocket

こんにちは、よだかです。専業ぼっちbotterとして6か月が経ちました。ブログアフィと大家の収入に支えられながらマイペースに開発を進めています。

6ヶ月目である9月のテーマは「CEXbotの開発に注力する」「DEXbotは触らない」の2つでした。

それでは、今月の振り返りとそれを踏まえた来月の予定について書いていきます。

CEXbotの開発

CEXbotの開発に絞って、DEXbotは触らない。

結論から言うと、この方針を定めたことは正解でした。

私自身は過去にオンチェーンメインででトレードやアビトラなど(どれも手動)をしていたことがあり、それがそこそこ上手くいっていたので、どうしてもDEXbotの開発は「このやり方で上手くいくでしょ」という勘違いや衝動に引っ張られがちです。(多分、未だに頭のどこかで過去のまぐれ当たりも正解だと思っているフシがある。典型的なサバイバーズバイアスですね)

ただ、ブロックチェーン絡みのbot開発って戦略一つ通すのにも環境構築に依存する場面が多く、そういうのはメインで開発しているCEXbotの合間で進められるほど軽いサイズ感のタスクではないんですよね。

8月はあれもこれもと無節操に手を出した結果、開発リソースが散らかりすぎて主要なbotの開発が全然進まなかったので、9月はCEX bot開発に集中していたという経緯があります。

bot開発における自分の思考リソースが散らかってしまうのを防ぐためにCEX一本に絞って開発をすることで、取引所の仕様を1から理解し直したり、取引所のAPIから取得するデータとUIで確認できるデータの整合性を確認したりなど、ややコアな部分にまで踏み込んで開発を進めることができました。

そもそも、市場に出回っている情報は基本中の基本。本当に重要なのは、その先を自分で考えて検証を積んでいくことなので、開発リソースを分散させるのは悪手ですね。

開発リソースを集中させることのメリットの一つは主語を小さくすることができるということです。

これはどういうことかと言うと、概念を細分化できるということです。

やりたいことをふんわり考えている状態で開発を進めてしまうと、作り込みの足りない貧弱なbotができてしまいます。やりたいことを自分の言葉で説明できない状態では、良いbotは作れません。

例えば
「この市場では何が支配的なのか?」
「その要素が支配的であると判断する根拠は何か?」
「その要素が支配的であると仮定するとこの戦場で有効な戦略は何か?」
「需給と期待値を見て動くというアプローチはこの戦場では正しいのか?」
「需給と期待値を強く反映している指標は何か?また、それらの組み合わせや重み付けの調整はこれで良いか?」
などを問うようにしていると、幹→枝葉の順でbot作りの指針が整理しやすくなります。

要するに、どこでコケそうなのかが分かりやすくなるのでダメっぽいやつは最初から根拠を持って捨てることができるというわけです。(まぁ、実際に触らなかったbotのダメさを証明するのは不可能だし、今でも考えの浅いままで見切り発車開発してダメダメなbotを作ってしまうこともあるから、偉そーなことは言えない)

もちろん、実践が大事だということは理解しているつもりです。

机上の空論を回しているだけでもダメなのは明らかなので、実際には
「これ、うまくいくんじゃね?」
→「実際に作ってみるか」
→「bot回してみたけど、上手くいかんな。なんでや?」
→「原因はそもそもの戦略設計にあるので根本的に作り直しだな or 戦略設計は正しいようだが技術的な実装が甘いので勉強/リサーチ/スキル磨きするか」

というフローを回している感じです。

ただ、「CEX bot」と一口に言ってもまだまだ主語がデカいので、ここからは現在の私自身が認識しているbot体系についてまとめていきます。

botの体系化

現在、私が認識しているbotの種別は大きく分けて「トレード系」「アービトラージ系」「それらの混合型」「それ以外(触っていないもの全て)」の4種類です。

トレード系bot

まず、トレード系bot。これは「発生するであろう(特定の)事象を精度高く予測した上で、ライバル達よりも上手に立ち回る知略ゲーム」というイメージで作っています。

ここでは基本的には市場の方向性を当てることをメインに据えつつ、参加者の動きや心理を反映するものを観測することになるので、
【市場の構造】
・そもそも何がその市場を支えているのか
・取引所の仕組みや制度
・そこでは何を取引しているのか
・参加者の性質
・どのような存在がその市場にいるのかとその分布や比率
・その市場で支配的な力を持つものは何か
・市場及び参加者の需要と供給と期待値を強く反映する一次情報は何
などを考えて、それらを一つ一つ検証しながら、自分が他のプレイヤー達よりも優位に立ち回ることの重要性が高いです。

そのため、知略ゲームの要素が強く、
予測の精度を上げること(見るべきものを絞り込み、適切な形に加工したり組み合わせたりする)
他者との読み合いに勝つための方法や期待値の高い打ち手を考えてそれを実行可能な実装を積むこと
がbot開発におけるメインタスクになります。

絞り込むべき一次情報の選別とその加工や組み合わせを自分なりに工夫する。
そして、それらを踏まえた上で市場に参加している他者よりも良い打ち手を重ねること。

この辺りがトレード系botを作っていて特に面白さややりがいを感じる部分です。(実際には他にもやるべきことはたくさんあるから、楽しいばっかじゃないけれど)

誰でも参加できるという性質のゲームなので、当然、強いプレーヤー達が何をしているのか全く分からないレベルで強いこともあるし、そもそも取引所で優位に立ち回る前提のバフ(Tierランクなどで手数料が割り引かれているとか専用回線があるとか)がかかっていることもあるので、こういう相手とまともに殴り合うためにはこちらもそれ相応の準備が必要です。
それが無理ならそういう相手とまともに殴り合うのは避けて「小さくても良いので自分が勝てる方法」をコツコツ着実に積み上げることが最終的に勝つための近道だと思います。(例えば、Tierランク上げるために今の自分ができることをするとか)

また、高頻度系とそれ以外では戦い方の前提が異なるのも特徴です。(ここでは暫定的に「人間の手によるUI操作での実行速度を上回るもの」を高頻度系botと言っておきます。高頻度系について書くとそれだけで超長編記事が書けるので)

「トレードで戦う」ということを踏まえずに開発を進めると、その前提が崩れていることにも気づかずに勝てない戦略をいつまでも回し続けることになるので要注意。

トレード系botの作成に取り組むと「この戦場でどんな戦略を実行すれば勝てるのか」を考え続けることになるので、ロジック面での経験値が貯まりやすいとも言えます。

アービトラージ系bot

次に、アービトラージ系bot。これは「発生した事象に対して高速で安定して沢山反応できるかどうかを競う環境構築ゲーム(ただし、戦場探しという探索要素が前提)」というイメージで作っています。

アービトラージという戦い方の根幹は「価格の乖離を検知して、安く買って高く売る」なので、検知と通知系botは割と簡単に作ることができます。

アビトラというものの性質上、根本的には「鞘がなければ動かない」ので、「鞘が開く(乖離が発生する)状況や戦場を見つけることができるか」が最重要な要素で、ここがアビトラbotの第一の壁と言えるでしょう。(「取引執行はbotじゃなくて手動でOKです」という人はここまでできれば、後は手動でアビトラすればOK。厳密にはここからも色々壁はあるけど、今回の記事の趣旨とズレるのでカット。実際、私もDeFi絡みのトレードはまだ手動。bot化できていません)

ここを突破すると障害になる主なポイントがさらに2点あって、それが「取引執行のトリガー設定」と「その執行を速く確実にたくさん通すための環境構築」です。

まず、超基本的なことですが、取引にかかる手数料を踏まえずにアビトラするとアウト。「わずかな乖離は拾ったのに取引執行にかかった手数料で総合的な収支がマイナスになる」みたいなことがあります。他にも、充分な利益が出ると算出された乖離であっても「実際に約定するかどうかは実際に取引を執行するまで不明」なので、botで取引をすると(やり方にもよりますが)「買ったけど売れない/売ったけど買えない」みたいなこともあります。この辺りはロジックの分岐で対策可能ですが、そもそも検知と通知系botだけ作って取引執行は手動で行った方が安全ですし効率が良いことも多いです。

要するに、「検知した乖離(ここでは価格差)に対して取引を執行するorしない」と判定するトリガー設定(何をどこまで取引執行に充分な乖離と判定するか)には一工夫必要ですよってことです。(ここを根本的に突破する技術もあるのかもしれないけど、私はぼっちbotterなので知らない。必要になったら自分で調べます)

そして、botで取引を執行するのであれば、発生した乖離に対して遅延なく(≒競合よりも速く)しかも確実に注文を通す必要があります。うかうかしていると乖離が埋まるので、他者よりも速く正確にたくさんの注文を出して乖離が埋まるまでその鞘を抜き続ける、そしてそのための軍資金を迅速に用意できる(潤沢な原資を持っている/借入などで即座に準備するなど)環境構築力が求められます。

まとめると、アビトラbotにおいては「取引機会のある戦場/状況をサーチする探索力と検知した乖離を素早く正確に刺す環境構築力」の重要性が高いということです。

また、アビトラbotは収益機会の探索と環境構築に関して経験値を稼ぎやすいbotであるとも言えます。

混合型bot

トレードとアービトラージの混合型botは、「取引対象を現物価格以外にズラして通常の枠とは別の方向性で戦う戦略ゲーム」というイメージで作っています。

このタイプのbotの本質は「同じ戦場にいる対戦相手と次元をズラして戦う」ことです。

例えば、アービトラージの視点で定義する乖離(歪み)を通常と異なる次元(時間経過に基づいた予測価格の推移など)にズラしてそれをトレードするという感じです。価格変動の方向性を消して、振れ幅リスクを刈り取るなどのアプローチはデルタニュートラルが前提であるからこそできる戦略です。

やり方は本当にいろいろあるので、ここではほんの一例を。(ただしこれは既に一般的な方法なのでフツーに強い競合がいます。これだけではまず勝てないと思うのでご注意を)

代表的なのは、永久先物など現物以外のものを取引する仕組みを理解した上で、そのような場で定義できる歪み(ガンマなど)を自分なりに定義して抜くとかですね。

戦場は限定されますが、金融理論などの知見において参考文献や研究論文が多く、戦略の拡張性が高いというメリットがあります。

この類のbotは、一見ロジック寄りでトレードbotの性質が強いようにも思えますが、そもそもその環境に類似のロジックを実行している競合(人間/bot)がいない場合は、環境構築が盤石でなくても戦略をワークさせることができます。

(環境構築が不要だと言ってるのではなく、botを動かすのに最低限の構築があれば多少のレイテンシなどには目を瞑ることもできるという意味で。戦略実行に必要なインフラ整備がbotを実装に乗せる過程で義務レベルになっている場合もあるので、私の中で意識的に環境構築したというイメージが希薄になっている可能性もある)

やや複雑な金融理論や専門知識が必要になるので、初心者はとっつきにくいかもしれませんが、自分で戦略を編み出すのが好きな私のようなタイプには楽しめる要素が多いです。

しかし、当然ながら競合達にも同じような属性のプレイヤーが集まりやすいので、一見小難しそうな金融理論や実装のハードルが高いbotであっても難なく使いこなして戦っているはちゃめちゃに強い人たち(やシステム)に見えないところからフルパワーでぶん殴られて、しかも自分が死んだことにも気づいていないなんてことが起こるのもザラです。きちぃ。

逆に言えば、マイナーな戦場を選べば自分が無双できる戦い方でもあります。

ここでは、記事としての流れと分かりやすさを重視して「混合型」と定義してはいますが、私がメインでやっているものをより正確に定義するのであれば「トレードとアビトラという考え方をベースにした発展系戦略のbot」ですね。(機会があれば別の記事で書きます)

それ以外のbot

「それ以外のbot」は、オンチェーン系全般(主にDeFi方面)や市況の雰囲気を見て動かすやつ全般を指します。この辺はまだ勉強不足なのでbotでは触らずに裁量でやっています。

特にブロックチェーン絡みの実装は環境構築に依存する部分が大きく、付け焼き刃では勝てるイメージが湧きません。今後、半年程度のまとまった時間を確保してから取り組みます。

この判断の根拠になっている記事もクリプトブログに書いているので、興味のある方は読んでみてください。DeFi botter達の凄さが分かるかと思います。

開発記録#179(2025/4/16)「 DeFibotterの技術・思考体系と戦略抽出まとめ(暫定ver.)」

戦略ログ#1|2025年版・仮想通貨bot戦略体系(暫定まとめ)

実際にはグラデーション

ここまで「トレード系」「アービトラージ系」「混合型」という3つのタイプでbotを整理しました。

これらはあくまで私個人の分類の基本軸であって、しかも実際にはグラデーションがあります。

トレード系botでも環境構築や戦場探し(勝てる環境で通りの良い戦略を通す)は重要だし、アビトラbotを実装する際にも不確定要素(約定を確定させるまでの諸々)を踏まえたざっくり期待値計算などの観点では知略ゲームの視点が必要です。

ただ、bot開発に半年間取り組んだ現在の私にとっては「トレード系bot」と「アビトラ系bot」の2軸を意識していると開発がスムーズに行えるというのは事実です。

これらの視点以外にも、自分が歪みを刈り取る側なのか、収益を受け取る側なのかを区別しておくのも大事です。

仮想通貨bot開発においては、私自身は明確に前者(刈り取る側)なので、小資本で大きなリスクをコントロールしながら立ち回るというのが基本的なスタンスになります。

後者のやり方だと、戦略実行においてもっと大きな資金が必要になるし、そもそも戦うという次元ではなくなることも多いので、現実的な手法ではないと判断して見送っています。

発信頻度の低下

意図的に何でもかんでも発信しまくっていた8月とは打って変わって、9月は発信を極力抑えていました。

これには2つの理由があって、「ノイズを減らして開発に集中する時間を増やすため」と「そもそも発信できる内容がコアなことになってしまうのでおいそれとアウトプットできなくなってきたため」です。

前者についてはまだ良い(発信しない/クソリプは無視or我慢or可愛がりすれば良いので自分でリスクコントロール可能)のですが、後者については情報漏洩などの観点で「これはXやブログではアウトプットできない」と判断されるものが該当するので「そりゃ、そうだよね」って感じです。(これに加えて「発信自体は楽しくない」「言語化すると思考の抽象度が下がるのでわざわざ発信したくない」という場合もある)

そのため、必然的に黙っておくマスクして出すかくらいの2択しかなくなってしまったというわけです。

しかし、「botで勝つこと」と「Xやブログでのアウトプット」に明確な因果関係はありません。(だって、そもそもの部分を考えてみれば分かることなのですが、私がやっていることの本質は市場から歪みを抜くことなんだから。)

私がアウトプットすることのメリットって「成果をドヤ顔で自慢して良い気分になること」と「淡々とやってるよアピールをして周囲と一線引いておくこと」と「一旦言葉にして思考整理できる」くらいなもんで、これってSNSに外部発信しなくてもリアルの別の場で簡単に満たすことができるものばかりなんですよね。(リアルの場で何らかの消費活動をするとかバンドでライブやるとか、私にとって健全な承認欲求の満たし方が色々ある)

こういうのって自己顕示欲とか承認欲求由来のものなので、これらの欲求の捌け口としてSNSを使うのは、私にとってはかなりのハイリスクかつローリターン。

要するに、最初は外部へのアウトプットをすることが自分へ鞭打つための装置として機能していた時期もあったけど、最近はその機能がほぼ完全に死んでいるってことです。私が発信することなんて、私だけが分かっていればそれで充分なんです。

とは言え、ネットでもリアルでも人に恨みを買うような行為自体は賢い振る舞いではないと思っているので、基本方針は「普段は品よく過ごすけれど、一度殴られたら暇になった時に思いっきり分からせる」を継続します。

ぼっちbotterとしての行動原則

9月の開発を通して改めてbotterとしての行動原則をまとめました。この辺の言語化はサクッとできた。自分の軸がブレていないことを再確認しただけ。

1、自分で一次情報を調べる(ここに時間を惜しまない)

2、篭って開発する(成果に繋がらないことは発信しない)

3、戦略の構造・勝ち筋・負け筋を紙(A4用紙1枚程度が理想)にまとめてから、そのbotを開発するかしないかの判断をする

4、ソースコードや公式Docsは必ず自分でも読む(AI任せにしない)。

5、参考にする情報は何らかの検証に耐えたものに絞るが、それらもいったん全て疑ってかかる→一次情報や参考文献まで拾いにいく

6、他者のアイデアや助けを思考のコアににしない。全部自分一人で考えて行動する。

7、仮説は紙に書くか非公開記事に書く(無闇に外部に公開しない)

8、勝っているとも負けているとも言わない。ただただ実践に集中する。

9、この戦略を他の人も当然思いついて実行しているはずだという前提で動く

1と2が主軸で、3〜7が補助輪。8と9は地味に効くオマケって感じです。

現状、コミュニティに所属しているわけでもなく、誰かと組む気も人に直接教えを請う気もないので、自分一人で進めていくためにはこれらはデフォルト設定です。

他にも「分からないことや疑問や気づきは全て紙に書き出す」なども非常に有効です。細かいtipsは本記事の趣旨とズレるので割愛。また、各項目について開くとそれだけで1記事書けてしまうので、今回はカット。気が向いたらまたまとめます。

これは同じ内容を紙に書いて壁に貼ってありますが、すでに割と馴染んでいるので来月には別の内容になっているかもしれないな、と思います。

まぁ、「当たり前のことを質をどんどん上げていけば、自ずとスキルも思考も磨かれていくでしょ」くらいの感じでやってます。(なんだかんだ思考もスキルの一つだし)

体と心の健康/ルーティン

最後に、体と心の健康について。

これは、今月も大変良好です。

運動と食事と睡眠。これらは基本的なことですが、やはり重要なのだなと思います。(毎月言っている気がするけど)

これらに関して大きく変えたことはありませんが、小さな変化はちらほらあるのでそれだけ書きます。

まず、コーヒーの摂取量を減らしました。1日2杯→1杯へ。コーヒーを飲まなかった初日は軽く頭痛あり。調べてみたらカフェイン離脱症なるものがあるらしい。その時はロキソニンで耐えて、翌日からの摂取量は1日1杯で安定しています。頭痛もなし。今後も段階的に減らして年内には毎日1杯というルーティンを無くしたいです。恒常的に同じものを摂取するというルーティンを排除したい。

夏が終わり涼しい日も増えてきたので、日中も散歩とランニングがメインワークに昇格。

筋トレは自重でできるものをメインに毎日軽く継続。開発の合間に行うとちょうど良い休憩にもなるので、半ば義務化することでルーティンに組み込むことに成功。

クロスバイクを通販で新調したが、これは失敗。7速(最重)にしても軽過ぎて足への刺激が入らないので、即片付けた。こういうのは実店舗で買わないとダメですね。楽器と同じだ。

食事全般の量も少しずつ減らしながら、bot開発に最適な状態をキープしていく予定。現在は一日1.5~2食くらいの量で問題なし。日によっては、1食で済むこともある。

空腹時の方が開発に集中できるので、できれば食事はしたくない。でも、調理自体は好きで良い気分転換になるので自炊も継続しています。

春先から始めた家庭菜園は無事完遂。畑は秋から冬にかけての野菜にシフトしてこれも順調。これも良い気分転換になるし、この手の自然相手の行為は場合によってはbotよりも難しくて面白い。これも別レイヤーのゲームとして良い気分転換&食料調達になっています。

趣味が料理と楽器演奏と読書と映画鑑賞で回っているので、引きこもり生活も快適。

これらのおかげで生活費が高くなりにくいのも地味に嬉しいのですが、そろそろ生活費を上げるというアプローチで稼ぐモチベを追加してあげても良いかもしれないな、と思っています。

10月の予定

10月の目標は以下の通り。

CEX bot開発に集中する(高頻度系とそれ以外でざっくり区別)

DEX botは触らない(構想をメモ書きするだけ)

botterの行動原則を守る

シンプルにこれだけ。

botterとしてはまだまだ足りないことも多いし、そのほとんどは発展途上。

でも、自分で考えて継続することが大事だということも知っている。

6か月を費やしてようやく会社員としての自分が死んで、botterとして考えたり振る舞ったりすることが馴染んできたと感じています。

「思考を書き換えるのには半年かかる」という情報を昔どこかで仕入れた気がしますが、それはまぁまぁ正しいんじゃないかな、と思ったり。

そんじゃ、対戦、よろしくお願いします。

botに関する技術的なことやトレード・クリプト関連のことはクリプトブログの方にまとめています。(興味のある方はそちらもどうぞ)

-botter