💡

Claude Codeに株・仮想通貨botを300個作らせて見えてきたこと

に公開

こんにちは、塩辛botterです。
今回の記事では、Claude Codeに株・仮想通貨botを300個作らせて見えてきたことをお伝えしたいと思います。

結論から言うと、以下の感覚です。

  • Claude Codeに作らせた戦略: 300
     ↓
  • そのうち利益が出る(とAIが判定した)戦略: 200
     ↓
  • 深堀して運用に耐えられる(と私が判断した)戦略: 20
     ↓
  • 実際に運用開始できた戦略: 5
     ↓
  • 本当に儲かった戦略: <未知数、半年後に答え合わせ>

フルタイムで仕事、土日も子育てに忙しく、作業ができるのは夜1~2時間程度でしたが、
1~2か月で上記の工程をやり切れたので、やはりAIの力は甚大です
AIのない時代に300個の戦略を作ろうとしたら、専業でも何年もかかるでしょう。

なお運用している戦略は株:4, 仮想通貨:1の割合です。

動機

皆さん、Claude Code使っていますか。

私もMAXプランを使ってほぼ毎日検証と改善を行っています。
これまで1週間かけていた検証が、わずか10分程度で終わってしまうイメージです。

すばらしいですが、次第にネタが尽きてしまうんですよね(やはり人間がボトルネックになる)

そんな折、UKIさん & Hohetoさんの以下のYoutube動画を拝見しました。

https://www.youtube.com/watch?v=cA5F9Maoqkk

タイトルだけ見て「AIに300個、1発のプロンプトでbotを構築させた」のかと思いましたが、実際はtwitter, youtube, 書籍などのアイデアをその都度AIに食わせ、それが合計300個に達したとのことでした。

私も動画を参考に、twitter, youtube, 書籍データなどをINPUTして検証させるパイプラインを作ろうかと思いましたが、面倒くさくなって以下のやり方を思いつきました。

"AIに300個 bot作って"と言ってその中からいいものを抽出すればいいじゃん"

プロンプト

私はさっそくClaude Codeに以下のように指示しました。

  • 株の取引botを100個作って
  • 過去に作ったbotも参考にして
  • Web上のサイトのアノマリーや、過去の論文情報も参照して
  • 実現性や利益が出るかは後回しにし、広くバリエーションのある戦略を考えて
  • botのバックテスト結果について、ユニバース、取引数、sharpeレシオ、エッジの根拠を表に整理して
  • 統計的な優位性があるか検定を行って
  • 空売りする場合はTOPIX500銘柄に絞って。小型株について空売りはできない前提とします。

仮想通貨の場合も同じように100個作らせました。
結果をもとに株、仮想通貨でそれぞれ50個ずつ追加で戦略を考えさせて、合計300個ぐらいになったという感じです。

モデルはOpus 4.7、自作のbot構築用SKILLやJ-Quants APIのスキルが裏で動いていますし、過去の自作botを参考にしているため、皆さんが同じプロンプトをたたいても同じ結果が得られるわけではない点にご注意ください。

ちら見せすると、こんな感じ

INPUTしたデータ

過去のbot

私はリーマンショック後に株を始めた世代なので、15年程度の蓄積したbotや検証用のNotebookがあちこちにちらかっています。

書きかけであったり、結論を書いていなかったり、最新のデータを食わせればまた結果が変わる可能性もあったりしますが、AIはそこまで検証せずに取り込んでしまっています。

また、既存の戦略とは被らないように調整してくれているようですが、これも良しあしありそうです。

J-Quants APIのデータ

プレミアムプランに契約し、全データをparquetにして保存してあります。
公式のSKILLも導入済み。

日本株のbotを深めていく上では必須のツールであると思います。

仮想通貨のOHLCV, Funding Rateなどのデータ

自作のプログラムで定期的に取得して保存してあるものです。
正直、ほかのbotterよりも網羅性の範囲はしょぼいと思います。
1分未満の足や約定データもないので、高頻度bot系は検討の対象外になったようです。

論文データ、Webサイトの情報

これはClaude Codeが勝手にWebから検索してきています。どういう基準で何に重きを置いているかはよくわかりません。
論文は出典が明記されますが、直近のものはあまり使われず、5年や古いものだと10年、20年前のものも引っ張ってきているようでした。

300個のbotをチェックする苦行

まず300個のbotの表を読むだけで非常につらいです。(ここでも人がボトルネックになる)
AIもその点はわきまえていて、おすすめ度をつけて提示してくれますが、それは信用しないほうがよさそうです。(リークもあるし、実運用できるかの観点が足りない)

まず気になる戦略をいくつかピックアップしては、一個ずつ詳細をAIに聞いたり、実際にコードをチェックしたり、というのを日夜繰り返していきました。

この工程が一番時間がかかります。が、Cluade Code君は自分ではどうやっても思いつかないような角度で戦略を生み出すので刺激的でわくわくする瞬間でもあります。

たとえば、「楽天証券のNISA積み立ての買い付けはxx日だから先回りでTOPIXを買えば儲かる!」といった戦略を生み出してきます。
(これは後から検証して没になったのですが)

また、ここはbotterのセンスと経験が問われるところでしょう。概要を見て、見込みある、ないを判断できる人でないと余計に時間がかかりそうです。

300個の内訳

  • データ不足や何らかの問題を起こしてバックテストに失敗:50個
  • バックテストの成績が出たがマイナス:50個
  • 一応プラスの成績: 200個

200個も利益が出るのは素晴らしいと思われそうですが、大半はデータスヌーピングバイアスでしかないです。

あるいは最近右肩上がりの日本株や原油、金といったところにフィッティングしているだけ。

深堀していく中で「あ、これは無理だな」とか「インデックスには勝てないな」「既存の戦略のほうがまし」と判断して次々に却下していきました。

ふつうにリークしていることも多いので要注意です。

特に日本株の前場や後場といった概念が良くわかっていないように思います。日米の時差についてはよくケアされているようですが・・。

このあたりはSKILL化するか、非常に大きなSharpeが出たときにセルフチェックさせる仕組みがあったほうがよいかもしれません。

単純なテクニカルや単純なバリューは役に立たない

"NR7"という初見のテクニカル指標を使って Sharpe>3.0 をたたき出した戦略があり、「おおっ、何それ。かっこいい!」となりましたが結局はリークでした。

ほかテクニカルやバリューを単体で使う戦略は生き残りませんでした。
簡単に手に入るデータをシンプルに使うだけでは、なかなかエッジにはならないようです。

疑似(プロキシ)データに注意

株だけでも大量保有報告、逆日歩、優待情報などJ-Quantsでは取れない情報も多々あります。
これらをどこまでそろえられるかも差別化ポイントと思いますが、AIは勝手に疑似(プロキシ)データを自分で作りだして検証を進め、結果報告してくる場合があるので要注意です。

たとえば日経平均の新規採用銘柄を買う戦略を検証する際、日経平均の採用・除外の履歴データは手元にないため、「売買代金TOP50なら日経平均銘柄やろ!」という雑な疑似データで検証をしていました。

プロンプトを工夫して、疑似データを作らせないか、作った場合はその内容を明示するようにした方がよさそうです

AIに課金を促される

coinglass APIをサブスクしてデータ量を増やすように促されることもありました。
私の収集しているデータが貧弱すぎるのが原因でもあるのですが、この先、課金できる人とそうでない人の差は広がっていくばかりだな、と思った次第。

この辺りはまた別の記事にまとめたいと思います。

日本株SHORTやLONG/SHORT戦略は生き残らなかった

はじめは

「- 空売りできるのはTOPIX500銘柄に絞って」

というプロンプトを入れなかったため、本来は空売りできない小型株を空売りしてぼろ儲けしている戦略が多かったです。逆にプロンプトを追加すると、SHORT系はおろかLONG/SHORTまで全滅しました。

相関の低い戦略に分散という意味ではSHORTもほしかったのですが、残念。

Sharpeだけを目的変数としているのが原因かもしれません。この辺は自分への宿題ですね。

運用に向けて

README.mdが命綱

300個もbotを作り、さらに深堀用の検証ファイルも大量に作り出されるので、どこに何を置いたか、管理するのがつらくなります。

検証から実運用に入るにあたっては、botごとにフォルダを切ってREADME.mdを作り、これまでの関連する検証や経緯を全部整理するように指示しました。

末尾にやりのこしたTODOがあれば書いておき、TODOがなくなるまで検証を繰り返すようにしています。

ここで余談ですが、各戦略は名前(ID)をつけなければいけません。

何も指示しないとAIは1から始まる連番を振りますが、これではあとでつらくなってきます。仮想通貨と株でそれぞれ番号が重複しますし、番号を打ち間違えて指示を出すとAIが全然別の検証に走ってしまいます。

戦略にはpetnameライブラリのような名前をふるのがよいと思っています。Claude Codeのデスクトップアプリもgit ブランチ名を切るときに使っていますね。

go-lang-petname
https://blog.k-bushi.com/post/tech/tips/use-golang-petname/

petname命名規則を適用すれば、AIは戦略名でripgrepして、対象のファイルをすぐに見つけ出せるようになり、AIのレスポンスも早まるのではないでしょうか。

Codexの監査は必須

https://x.com/i_love_profit/status/2024610948775104617?s=20

ちまたでも言われていることですが、Codexを使って監査は必須だと思います。

Claude Code(Opus)はアイデアマンに徹してもらう一方、別のモデル(GPT-5.X)には批判的・客観的に評価してもらうのが非常に重要です。

この工程で半分ぐらいの戦略がふるい落とされます。

何度も使うのでカスタムコマンドを作成しておいたほうがよいでしょう
結果はcodex-audit.mdとして記録しておき、いつでも気になったときに参照できるようにしています。

人力でもバックテストする

ここまで終えて運用に入れそう、となった場合、私は必ず人力でNotebookを作り、AIに頼らずにバックテストを行っています。

最低限、リターンの期待値と損益曲線だけは自力で計算し、AIの算出した結果と合致するか検証しているのです。

AIが思いもよらぬところで手抜きしていたり、前提条件をはき違えて居たりすることもあるためです。また、ちょっとは自分でコーディングしないとボケてしまうのでは、という思いもあります。

運用後も苦行

こうしてどうにか5つの戦略を運用させることができたのですが、日々の運用もつらいですね。

株のログイン認証が大変になったこともあって、もっぱらDiscordでスマホへ通知→人力発注のフローが多いです。

この辺の自動化もClaude Codeを頼りに作っていかないといけませんが、、、本業も忙しく手が回りません。(やはり人間がボトルネック)

データを拡充したり、プロンプトを改善してもう一度300個作らせるフローを回すことも考えましたが、運用がつらすぎて時間がとれず、しばらくはやれなそうです。

まとめ

今回の記事では、Claude Codeに株・仮想通貨botを300個作らせて見えてきたことを整理しました。

いろいろな落とし穴はありつつ、苦行を強いられる場面がありながらも、5個は運用を始められる自信のあるbotができたこと、そしてこれらのbotは自力ではどうやっても思いつかなかった戦略であることから、やはりClaude Code君はすばらしいと痛感させられています。

QoLは間違いなくさがりますが、botter道を突き進むものとしてはやむを得ないですね!

気になる成績は半年後にまとめて報告したいと思います。

今回の記事は以上です!
皆さんも気になったことや知見があれば、お気軽にコメントいただけると嬉しいです。

Discussion