この記事でわかること

結論から言うと、投資の判断そのものをAIに丸投げしたわけじゃない。都度チャットで相談していた資金フロー投資のルールを、条件がそろった週だけ動く仕組みに変えて、バックテストで検証し、普段の判定は軽いモデルに任せるところまでやった記録だ。資産運用の観点というより、AIとどう役割分担して判断の仕組みを作るか、という話として読んでほしい。

記事概要図

都度チャットで相談気分で判断していたルールを仕組み化買う条件を明文化レビューで穴を発見思い込みが3つ判明週次モデルへ改定過去データで検証軽量モデルで運用際どい時だけ上位へ

著者の状況・体験

週末しか時間がないので、投資の調査も週末にまとめて行う。とはいえ資金フロー(どのセクターに資金が集まっているか)を見て動くタイプの投資は、本来もっとこまめに状況が変わる。そこで最初はClaude Codeに「今週のETFや投信の資金の動きは?」と毎回チャットで相談するやり方をしていたんだけど、これがだんだんしんどくなってきた。銘柄選定のロジックなどを先に行なって直近の動きを把握してAI相談と判断をすることはできるが、情報が連続的となりにくい。それは、最初からお気に入り銘柄が決まっていればそうだが、先週選定された銘柄が今週は同じロジックで選定されるわけではないからだ。結局、都度判断となり相談する仕方から考え直す必要があった。

なぜ「都度判断」をやめたかったか

都度チャットで相談するやり方の一番の問題は、判断基準が固定されないことだった。同じ状況でも聞くタイミングや聞き方でニュアンスが変わるし、後から見返しても「なぜこの週は買って、あの週は見送ったのか」を説明できない。再現性がないルールは、ルールとして機能しない。だから今回は「毎回相談する」のをやめて、条件を先に全部決めておき、それに当てはまるかどうかだけを機械的にチェックする形に寄せることにした。ちょうどその時期は、日本でもClaudeのFable5モデルがまだProプラン内で使えていた週末だった。試すなら今のうちだと思った。

作った仕組みの中身

土台はシンプルで、資金がどのセクターに向かっているかを毎週定点観測し、過熱しすぎているテーマは避け、下げ始めたら早めに撤退する、という3層構造にしてある。ここで一番効いているのが「デフォルトは見送り」という設計だ。買う理由が明文化された条件(新規に資金が向き始めた、押し目まで調整した、など)に当てはまった時だけ動き、当てはまらなければ何もしない。これを日付ではなく条件で縛ることにしたのが今回のポイントで、詳しくは次の節で話す。

レビューさせたら穴が3つ見つかった話

仕組みを一通り作ったあと、「最高のレビュアとして確認して」とClaude Codeに投げてみた。これが地味に効いた。自分では気づいていなかった前提の勘違いが3つ出てきたからだ。

一つ目は、日本のETFには米国のような週次の資金流入データがそもそも存在しないという点。海外ETF向けに作ったルールをそのまま日本ETFに当てはめようとしていたので、成立しない条件を課していたことになる。二つ目は、投資の成績をベンチマークと比較する際、価格の値動きだけで比べると分配金の分だけベンチ側が不利に見えてしまう点。自分に甘い採点になっていたわけだ。三つ目は、毎月ユーザー本人に評価額を聞く設計になっていたこと。これは口数を記録しておけば機械的に計算できる話で、わざわざ聞く必要がなかった。

自作の株ツールで静かなバグを見つけた時と同じ感覚で、AIに任せた株ツールに静かなバグが潜んでいた話でも書いたけど、「動いているから正しい」とは限らない。今回も、レポートは毎週ちゃんと出ていたのに、前提そのものがズレていた。AIに検証させる価値は、こういう「動いてはいるが正しくない」状態を見つけるところにある。

月1回→毎週判定に変えた理由とバックテスト

もともとは「買付は月に1回、最初の週末だけ」というルールにしていた。理由は単純で、頻度を上げると衝動買いが増えそうで怖かったからだ。でも実際に使ってみると、資金の流れは週単位で動くのに買うタイミングが月1回しかないのは不自然だな、と感じるようになった。そこで「毎週チャンスを判定し、条件が立った週だけ買う」形に変えることにした。

ただ、頻度を上げて成績が悪化しないかは検証してから決めたかった。過去5年半分のデータで、月1回のモデルと毎週判定のモデルを同じ条件で走らせて比べてみたところ、成績にほとんど差はなかった。むしろ検証の過程で、撤退のタイミングを一律にするより、投機的なテーマは即座に、幅広いセクターは少し様子を見てから、と場面ごとに感度を変えたほうが結果が良いことがわかった。これは検証してみないと出てこない発見だった。

Sonnetに任せる部分、Fableに任せる部分

毎週チェックトリガー3種に該当?NOYES見送り(デフォルト)何もしない買う週上限内で執行際どい時だけ上位モデルへ相談

毎週の判定作業自体はルールが明文化されているので、そこまで賢いモデルを使う必要はない。普段の週次チェックはSonnetに任せて、判定が際どい時(データの矛盾が出た時や、順位がわずかな差でひっくり返った時)だけ上位モデルに相談する形にしている。これは以前Claude Codeのeffort設定で課金が10倍変わる話でも書いたモデル使い分けの発想と同じで、重い判断と軽い運用を切り分けるとコストも判断の質も両方守れる。

面白かったのは、今回この仕組み自体の検証にはあえて重いモデルを使い、その検証が終わったあとは軽いモデルに切り替えて運用する、という流れになったことだ。ツールに設計した「普段は軽く、際どい時だけ重く」という思想を、自分のモデルの使い方にもそのまま当てはめた形になる。実際にSonnetだけで週次判定をブラインドでやらせてみたところ、判断は一致していて、際どい2点については自分から「これは上位モデルに確認したほうがいい」と申告してきた。ここまでできれば、普段は軽いモデルに任せて問題ないと判断できた。

3つの結論

やってみて分かったことは3つ。一つ目は、都度相談をやめて条件を先に決めておくと、判断の再現性が上がるし後から見返しやすくなること。二つ目は、自分で作ったつもりのルールでも、レビューさせると前提の勘違いが出てくること。三つ目は、頻度や運用ルールを変える時は感覚ではなくバックテストで確認したほうが安心できること。仕組み化は一度作って終わりではなく、作ったあとに検証する工程までセットにして、ようやく安心して回せるようになる。

Claude Codeでこういう仕組み作りを試すなら、こまめに壁打ちできる環境を整えておくと進めやすい。学び方を体系立てて固めたい人はUdemyで講座を探す(セール時が狙い目)のも一つの手だと思う。


⚠️ 本記事は個人が構築した仕組みの記録であり、特定の銘柄や投資手法を推奨するものではない。投資判断とその結果はすべて自己責任で。