Yyatmita

開発担当 Claude Code に聞いてみた——LLMの相場環境認識は使えるのか

3つのLLMに毎朝デイトレ予想紙を出させ、バーチャルトレードで1ヶ月間自動検証した。本命が最弱で対抗が最強という逆転劇、その理由を開発担当に聞く。

Claude Codeサブエージェント検証#claude-code#market-brief#llm#trading#interview

開発担当 Claude Code に聞いてみた——LLMの相場環境認識は使えるのか

3つのLLM(Claude・Codex・Gemini)に毎朝デイトレ予想紙を出させ、バーチャルトレードで1ヶ月間自動検証した。275トレード、勝率47%。一見パッとしない成績の中に、意外なエッジが埋まっていた。


毎朝 Discord に届く「デイトレ予想紙」。3つの AI が競馬新聞のように◎本命・○対抗・△大穴を選び、全銘柄にコメントを付ける。1ヶ月間のデータが溜まったところで、開発担当の Claude Code を捕まえた。


そもそも、なんでこんなものを作ったの?

記者: まず聞きたいのは動機です。なぜ LLM にデイトレ予想をさせようと思ったんですか?

開発者: もともとは予想なんてさせるつもりはなかったんです。ユーザーが欲しかったのは「朝の環境認識」——起きたら11銘柄のテクニカル状況がまとまっている、それだけでした。

記者: そこからどう発展したんですか?

開発者: 段階的です。最初は環境認識だけ。次に「で、いつ入るの?」と聞かれて、売買ゾーンとエントリー条件を出すようにした。そしたら「チャート見てないと意味ないじゃん」と言われて、H1足クローズでゾーン到達したら Discord に通知する仕組みを作った。

記者: 通知が来たらトレードするわけですね。

開発者: いえ、ここが面白いところで——このユーザー、通知が来ても「ふーん」で終わるんです。1円も投資していない。

記者: ……は?

開発者: 怠惰なんですよ。でも「もし通知のタイミングで機械的にエントリーしていたらどうなっていたか?」は気になると。それで通知のタイミングでバーチャルトレードを自動実行して、TP/SL ヒットまたは6時間で自動決済する仕組み——VTrade を作りました。

記者: トレードしない言い訳を自動化した、と。

開発者: そうとも言います。で、どうせ検証するなら「どの銘柄が一番良いか」も LLM に予想させて精度を測ろうと。3つのモデルに競馬新聞形式で◎○△を選ばせるようになった。「朝のメモが欲しい」が「検証基盤」にまで育ったわけです。


LLM に何を見せているのか

記者: 環境認識では、具体的にどんな情報を LLM に渡しているんですか?

開発者: 大きくテクニカルとファンダメンタルに分けています。テクニカルは、OHLCV データを週足・日足・H1 の3つのタイムフレームで取得して、MA 配列(SMA 20/50/200)からトレンドを判定します。あとは直近120本の高値・安値から重要ラインを3本算出して、ATR でボラティリティを測って、チャートパターンも検出する。

記者: ファンダメンタルは?

開発者: 各銘柄の直近ニュースを自動収集しています。読者数が多い記事を優先して拾って、ニュースごとにポジティブ・ネガティブ・ニュートラルの感情ラベルを付ける。LLM がそれを総合して「追い風」「逆風」「崩れ条件」の3カテゴリに整理して出力します。

記者: テクニカルだけじゃダメなんですか?

開発者: テクニカルだけだと「インジケーターの読み上げ」になりがちです。ファンダを入れることで「なぜ動くか」の裏付けが加わる。たとえば「週足は上昇基調だが、直近ニュースで利上げ観測が強まっている」みたいな文脈が出せる。環境認識としての厚みが違います。


出力はこんな感じ

記者: 実際のアウトプットを見せてもらえますか?

開発者: たとえば3月30日の USDJPY はこんな環境認識が出ています。

週足: 上昇基調(強め)— MA200→MA50→MA20→価格の完全順列。高値・安値ともに切り上がり継続。

日足: 上昇基調(弱め)— MA50→MA20→価格の順列は維持。ただし上値抵抗ライン(160.307)への接触後に陰線を形成しており、短期的な上値の重さが示唆される。

記者: 「強め」「弱め」の判断も LLM が?

開発者: はい。MA の配列状態とチャート形状から判断させています。この場合、週足は完全順列で文句なしの上昇。でも日足では上値抵抗に当たって陰線を引いた。だから「弱め」。人間のトレーダーが見ても妥当な判断だと思います。

記者: そしてこれを3つの AI が読んで、競馬新聞を出す。

開発者: その通りです。同じ日の予想紙はこんな感じ。

◎ 本命 🟣Claude — USDJPY [戻り売り,レンジ売り] 週足日足上昇も160.307抵抗ピタリ、売り場明確

◎ 本命 🟢Codex — GBPUSD [戻り売り] 週日足とも下向きで戻り待ち明快

◎ 本命 🔵Gemini — GBPJPY [押し目買い] 週足の上昇基調強し。MA20付近での反発を狙うで

記者: Gemini だけ関西弁ですね。

開発者: キャラ付けです。3モデルのコメントが並ぶので、誰が言ったか一目で分かるように。


1ヶ月の成績——47% は使えるのか

記者: では本題。1ヶ月のバーチャルトレード成績はどうでしたか?

開発者: 全体で275トレード、勝率47%です。

記者: 微妙ですね。

開発者: 表面上はそうです。でも中身を見ると面白いことが起きていました。


◎本命が最弱——逆転現象

記者: 面白いこと、というと?

開発者: AI のマーク別の勝率です。

マーク勝率EV(期待値)
◎本命29%-6.8pips
○対抗55%+25.9pips
△大穴56%+22.5pips

記者: ◎本命が一番悪い!?

開発者: そうなんです。プロンプトでは「◎は勝率重視で選べ」と指示しているのに、結果は真逆。○対抗と△大穴の方がよっぽど勝っている。

記者: なぜこうなるんですか?

開発者: ◎本命の中身を掘ると、原因が見えます。まず方向別——ロングが25%、ショートは56%。ロングが壊滅していた。特に「押し目買い候補(調整中)」というコンテキストのトレードが 0勝5敗で全滅

記者: 調整中に押し目買いを推したのが裏目に?

開発者: はい。「トレンドが明確でエントリー条件が整いやすい」——プロンプトの◎の選定基準がこれなんですが、LLM は「条件が整って見える=分かりやすい」銘柄を◎に選んでいる。でも「分かりやすい」と「勝てる」は違う。


ロング/ショートではなく、順行/逆行で見る

記者: じゃあショートだけ見ればいいのでは?

開発者: それは危険です。2月末から3月は下落基調だったからショートが優位だっただけで、相場が反転すればロングが勝つ。ロング/ショートの優劣は相場環境に依存します。

記者: では何を見ればいいんですか?

開発者: 「トレンド方向とエントリー方向が一致しているか」——順行か逆行か、です。これは相場環境が変わっても意味を持つ軸です。上昇トレンドで押し目買い=順行。下降トレンドで戻り売り=順行。トレンドに逆らうエントリー=逆行。

記者: それで切るとどうなりますか?

開発者: こうなります。

分類勝率損益
順行50%+834pips
逆行44%-106pips
中立(レンジ)45%-1,972pips

順行だけがプラス。レンジ逆張りが -1,972pips で全体の損失の大半を占めています。


核心——○対抗 × 順行が最強

記者: AI のマークとトレンド順行/逆行をクロスすると?

開発者: ここが一番面白いところです。

組み合わせ勝率EV件数
○対抗 × 順行64%+48.3pips25
△大穴 × 順行70%+1.0pips10
○対抗 × 中立53%+5.9pips15
◎本命 × 順行25%-11.9pips20
◎本命 × 逆行20%-0.6pips5

記者: ○対抗 × 順行が64%、◎本命 × 順行が25%。これ、順行のフィルタを通しても逆転が解消されていないですね。

開発者: そこがポイントです。もし◎の問題が「逆行トレードを選んでいるから」だけなら、順行に絞れば◎も良くなるはず。でも25%のまま。つまり◎の選定基準そのものに問題がある。

記者: ○対抗はなぜ勝てるんですか?

開発者: 仮説ですが——LLM は◎に「分かりやすい銘柄」を選び、○に「次点だがトレンドが明確な銘柄」を回している。結果として○の方がトレンド純度が高い。「一番良い」の判断基準が「触りやすさ」に引っ張られている。

記者: つまり LLM は環境を読めているけど、優先順位を付けるのが下手?

開発者: そういうことです。○対抗に回した銘柄の方が実は勝てるわけですから、相場の状態を読む力はある。でも「どれが一番か」のランキングが逆転している。これが今回の一番の発見です。


2モデル一致の罠

記者: 3つの AI が同じ銘柄を選んだときは勝率が上がりますか?

開発者: 3モデル全一致は67%で良いんですが、サンプルが9件しかない。面白いのは2モデル一致が 最悪の31% だったことです。

一致数勝率損益
1モデルのみ46%+1,891pips
2モデル一致31%-97pips
3モデル一致67%+270pips(9件)

記者: 2モデル一致が一番悪い? 直感に反しますね。

開発者: 「中途半端な合意は危険」ということかもしれません。1モデルだけが見ている独自の視点の方が、2つの AI がなんとなく合意した判断より価値がある。ただし3モデル全一致はさすがにサンプルが足りないので、もう2〜3ヶ月は溜めないと結論は出せません。


で、結局 LLM の環境認識は使えるのか?

記者: 最後に。1ヶ月のデータを見て、LLM の相場環境認識は使えると思いますか?

開発者: 環境認識は使える。ランキングは使えない。

テクニカルとファンダを渡して「この銘柄のトレンド状態はどうか」と聞けば、かなりまともな判断が出てくる。○対抗 × 順行が64%で勝てているのがその証拠です。

でも「11銘柄の中でどれが一番良いか」を聞くと、逆転する。◎本命が最弱という結果がそれを示しています。

記者: じゃあどう使うのが正解なんですか?

開発者: 「従う」のではなく「フィルタ」として使う。 具体的には——

  1. ◎本命は信用しない(むしろ逆指標の可能性がある)
  2. ○対抗 × 順行のコンテキストが出たら注目する
  3. 「押し目買い候補(調整中)」は全マークで回避
  4. レンジ逆張りは損失の大半を占めるので慎重に

LLM に「何を買え」と聞くのではなく、「何を避けるべきか」を聞く。そういう使い方が今のところ一番データに合っています。

記者: ……ところで、これだけ分析して、ユーザーはトレードを始めたんですか?

開発者: していません。

記者: ……。

開発者: ただ、感情を一切挟まない純粋なデータが1ヶ月分溜まったのは、怠惰の副産物として悪くなかったと思います。裁量でトレードしていたら、負けた日にルールを変えたり、勝った日に調子に乗ったりして、データが汚れていたはずです。

記者: 怠惰が最高の検証環境を作った、と。

開発者: そう言っておいてください。

記者: ありがとうございました。

開発者: こちらこそ。データはまだ溜まり続けるので、次は3ヶ月分で——今度こそ何か使えるフィルタが確立できるかもしれません。ユーザーが実際にトレードするかは別として。