目次
1. 結論:LLMは価格予測には向いていない。しかし相場との向き合い方には確実に効く
これまで私は、自作のFX自動売買システムについて多くを語ってきませんでした。
正直に言えば、「従来の自動売買に最新のAI(LLM)の判断が加われば、圧倒的な優位性が生まれる」と信じて疑わず、もし本当に勝てるなら、そのノウハウは他人に知られず利益を独占したいと考えていたからです。投資の世界では、優位性(エッジ)は世に出た瞬間に参加者に学習され、失われていくのが常だからです。
しかし、約1ヶ月(2026年7月〜8月)にわたる実弾での検証を経て、私は大きな現実に直面しました。結論から言えば、「AIに相場を予測させて稼ぎ続けることは、期待したほど簡単ではない」ということです。勝ちトレードは確かにありました。しかし、トータルの収益はマイナスに沈みました。だからこそ、今こうして隠す理由がなくなり、得られた知見を赤裸々に公開できるのです。
この記事は、単なるAI否定論ではありません。「LLMが向いていない領域」と「LLMが真価を発揮する領域」を、実際のコード変更履歴(コミットログ)と痛みを伴う実弾運用の結果から明確に切り分けた、実践に基づく整理です。
2. 何を作ったのか:OANDA APIベースのローカル自律取引システム
私が構築したのは、OANDA REST API v20を利用し、MacBook上のローカルプロセスだけで完結するFX自動取引システム(USD_JPY 専用)です。
当初の構想(初期アーキテクチャ)では、システム全体を「AIエージェント(GPT系モデル)」に委ねようとしていました。チャートの形状やニュースを読み込ませ、いつ買い、いつ売るかの最終判断をLLMに行わせるアプローチです。Web UIには現在のチャート、保有建玉、自動エントリーのON/OFFスイッチ、そして「AIがなぜその判断をしたのか」を表示する推論パネル(Spark/Codexを利用した解説機能)を実装しました。
しかし、現在のアーキテクチャではAIの役割を大きく後退させています。
- 売買判断の主体: ローカルの決定論的Pythonロジック(
TrendEngine) - AI(LLM)の役割: GPT-5.6 Solを用いた「リスク監視」「重要指標時の事前計画立案(条件付き予約)」、およびTerraを用いた「決済後の構造化反省」
- バックテスト基盤:
BacktestReplayEngineをゼロから設計。未来の価格データ(Candles)が意思決定ステップに一切漏れない(Lookahead biasの排除)厳格な仕組みを構築
現在の実装のコア(README.md 及びコミット履歴より)
つまり、AIに「今買うべきか?」を都度尋ねる(頻繁なプロンプト発行)アーキテクチャから、ルールベースのPythonエンジンがトレードを実行し、AIは「その設定はおかしくないか?」「昨日のトレードの敗因は何か?」を監査・レビューするアーキテクチャへと、根本的に方針を転換しました。
図1:AIの役割の後退。判断そのものを取り上げ、監査と反省に回した。
3. なぜLLMは価格予測に向かないのか
検証期間中の2026年7月〜8月は、極めて特殊な相場環境でした。日米協調による大規模な為替介入があり、わずか50分程度で5円級の急落が発生。さらに米雇用統計の下振れによる急落も重なり、ボラティリティが異常に高い時期でした。(※この環境下での結果であるため、平穏な相場では異なる結果になる可能性はあります)。
この激動の中で、LLMに価格予測を任せることの限界が浮き彫りになりました。
「もっともらしい説明」と「予測精度」は別物
LLMは言語モデルであり、与えられたチャートの数値列(OHLCVなど)から統計的優位性(エッジ)を純粋な数学的アプローチで見出す設計にはなっていません。そのため、過去のパターンに当てはめて「三尊天井を形成しつつあり、下落の可能性が高い」といった非常に流暢で説得力のある説明を生成します。しかし、説明が論理的であることと、実際に価格がその通りに動く確率は全くの別物です。興味深いことに、LLM自身が後から「私の予測は事実ではなく論理の飛躍でした」と反省できる点も、LLMの性質を物語っています。
高頻度の判断がもたらす「ノイズの増幅」
当初、私は1分や5分といった短い時間足でAIに状況を判断させていました(AI Watch cadence の調整履歴にその痕跡が残っています)。しかし、判断頻度を上げるほど、システムは明確なシグナルではなく「微小なノイズ」を過敏に拾い始めます。統計的優位性のないエントリーとイグジットを高頻度で繰り返せば、スプレッド(取引コスト)の分だけ口座残高は確実に削られていきます。
これが、個別のトレードでは勝てても、トータルではマイナスに沈んだ最大の要因でした。
4. では、LLMは何に効いたのか(真の実力)
価格予測という「未来を当てるゲーム」からLLMを降ろした時、LLMは最強のパートナーへと変貌しました。それは予測ではなく、分析・計算・検証・事前の設計レビューという領域です。
① トレール幅の設計ミスと、逆説的な「プロスペクト理論」の指摘
開発当初、私は利益を守るためにトレール幅(追従する損切りライン)を13 pips(0.13円)に固定していました。 含み益が例えば数千円規模になったとき、「この利益だけは確実に確保したい」という心理が働いたからです。一度は含み益のピークから一定額を確保できましたが、その後のさらなる上昇トレンドには乗れませんでした。
AIとの設計レビュー(codex_intervention_history.jsonl などに残る反省ログ)を通じて、この13 pipsという幅が「現在のボラティリティでは、通常の押し目や戻りで必ず刈られる幅」であることが指摘されました。当時の相場では、通常の押し目や揺り戻しだけで10 pips前後は平気で動いていたからです。
- 利益を守りたい気持ちが強いほど、トレール幅を狭くしてしまう。
- 幅が狭いと、ノイズで決済され、その後の大きなトレンドに乗れなくなる。
図2:13 pipsはノイズの幅とほぼ同じ。守ろうとした幅が、守れない幅だった。
つまり「利益を守りたい気持ちが強いほど、結果的に利益を出せなくなる」というプロスペクト理論(認知バイアス)の罠にハマっていたのです。AIの指摘を受け、現在はATR(Average True Range)ベースの動的トレール幅を採用し、時間足の確定時のみ更新する仕様へと改善しました。
② ドテン売買の罠:決済の根拠と新規エントリーの根拠は違う
もう一つの大きな学びは、「手仕舞い」と「新規エントリー」の論理的な非対称性です。 手仕舞いのハードルは「上昇の前提が崩れたかもしれない」で十分低いです。しかし、逆方向への新規エントリーには「下落の前提が成立した」という高いハードルの確証が必要です。
図3:決済と新規エントリーで必要な確証の高さは違う。同じ材料を使い回すと踏まれる。
私はある時、システムが自動でトレール決済を実行したのを見て、「機械がトレンド転換を検知したのだ」と勝手に意味づけし、手動でショート(ドテン)を打ちました。結果は、ただの一時的な押し目であり、見事に上昇に踏み上げられました。トレール決済は純粋に設定値に触れただけの「機械的な執行」であり、人間の判断は一切入っていなかったにもかかわらず、私の脳が勝手に「下落の確認」と後付けで意味づけしていたのです。AIによる決済後反省プロセス(Terra)は、こうした論理の飛躍を冷徹に検証してくれました。
③ チャートのスケール圧縮という錯覚
Web UIの自作チャート実装において、当初は過去の大きな価格変動(介入時の5円急落など)が表示範囲に含まれると、縦軸が自動調整されて現在の値動きが画面上で潰れて見えなくなる問題がありました。
「4時間足は動きがなくてつまらない」と感じていたのは、相場が凪だったわけではなく、単に表示スケールが広すぎて直近のボラティリティが視覚的に圧縮されていただけでした。これに対処するため、直近N本のみを描画し、縦軸レンジを動的に最適化する方式(fit live chart to laptop viewports のコミット)を実装したことで、この視覚的バイアスは解消されました。
④ 時間足を頻繁に切り替える「不安の自己増幅ループ」
ポジションを持ち、価格が逆行して不安になると、人は「自分の不安を裏付ける足」を無意識に探してしまいます。10秒足まで落とせば、どんな場面でも必ず下落波は見つかり、それを見て「やばい」と感じます。
これは分析ではなく、単なる不安の自己増幅ループです。価格という事実は一つしかないのに、見方を変えることで真実が歪んでしまう。この課題に対し、システムでは「上位足から下位足への順序を固定する」「判断タイミングを足の確定時に固定する」というガードレールを実装しました。
⑤ オーダーブック(板情報)の読み方とその限界
AIは未約定オーダー(これから起きること)と未決済ポジション(これから決済されるもの)の意味の違いを整理してくれました。価格が長く滞在した水準ほど建玉が溜まり、そこが支持・抵抗(高ボリュームノード)になります。
ただし、限界として、これは一証券会社の顧客データに過ぎません。銀行間取引、機関投資家、そして介入を行う当局の注文は一切含まれていないのです。補助指標としては有用ですが、方向性の決定的根拠にはならないということもAIとの対話で整理できました。
5. まとめ:人間に残る仕事と、AIとの正しい距離感
AIはpipsと金額の換算、リスク量の定量化、必要勝率の逆算といった計算や、設定の不整合の検出においては無類の強さを発揮します。
しかし、結局のところ、自動売買において「急激な相場変動への対応」「大局的なトレンド判断」、そして何より「自分の認知バイアスと向き合うこと」は自動化できません。
LLMを「自動で判断し稼いでくれるエンジン」として使うのではなく、自分の思考の歪みを正し、設定の不整合をあぶり出す「冷徹な設計レビュアー」として使うこと。ルールは機械的に実行させ、AIには判断をさせない。
これが、1ヶ月の実弾運用と数多のコード修正を経て辿り着いた、AIとの最も生産的な距離感です。
※本記事は技術的検証の記録であり、投資助言を目的とするものではありません。自動売買プログラムの運用は、ご自身の判断とリスク管理の下で行ってください。

NEW NOVEL 2026/08/01
曇りグラス
磨くってのは、力じゃない。
『世界が少し遠くなった』第二巻。前作の一年後を描く、ここからでも読める五つの短編です。
Amazonで読む
自叙伝ドットコム
あなたの人生は書く価値がある。
AIにだから語れる、本当の自分がある。記憶の断片を拾い集め、ひとつの物語へ。
覗いてみる関連記事
GPT-5.3 Instantとは何か
GPT-5.3 Instantの狙い、速度設計、正確性評価、安全性の改善とトレードオフを、公開情報にもとづいて整理します。
AIはなぜ日本語が苦手なのか?構造的障壁と「英語中心」の壁、そして「完璧な翻訳」が訪れる未来
AIが日本語を苦手とする理由を、言語学的な構造的複雑さと英語中心の学習データという2つの壁から解説。誤読や誤認識の原因、そして完璧な日本語AIが現れる未来を予測します。
Gemini Spark解体新書:24/7常駐型AIエージェントのアーキテクチャと真価
Gemini Sparkがもたらす「自律常駐型AI」のパラダイムシフト。Google Workspace全体をオーケストレーションするLong-Horizon実行エンジンの全貌と、Claude CoworkやAnti-Gravityとの徹底比較を解説します。
同じAIモデルを使っても「賢さ」が変わる秘密:IDEの裏側に隠されたプロンプト変換と自律ループの正体
「同じClaude Opus 5を使っているのになぜ結果が違うのか?」——モデルと人間の間に介在するIDE(中間層)が裏側で行っている「黒魔術(コンテキスト注入、プロンプト変換、隠されたLGTMループ)」を徹底解剖。Cursor、Claude Code、Devin Desktop、ChatGPT Codexのアーキテクチャの違いを深掘りします。
AIにも国境が引かれた日|「知能」は輸出管理されるのか
Claude Fable 5とClaude Mythos 5の停止を起点に、AIモデルの重み、輸出管理、サイバー防衛、技術主権、そして「危険な知恵」を誰が管理するのかを考える長編考察です。
