FX知識ゼロの僕が、Claude Codeと一緒に本気でFXトレーディングシステムを構築して、1週間デモ運用してみました。
結論から言うと、AIは「稼ぐ装置」ではなく「一緒に考えるパートナー」だったという話です。今回はその過程で見えてきたこと──予想外の発見、正直な失敗、そしてAIの「本当の使いどころ」について書いていきます。
きっかけ
「本格的にAIで稼ぐということに本気になりたい。」
ある土曜日の朝、僕はそう宣言してプロジェクトを立ち上げました。FXの知識は完全にゼロです。レバレッジが何倍まで許されるのかも、通貨ペアの読み方すら分かっていない。「ゴールデンクロス」という言葉も、この時点では知りませんでした。
最初にClaude Codeが返してきた言葉が印象的でした。
「個人FXトレーダーの約70-80%は損失を出しています」
「AIで簡単に稼げる系の情報はほぼ詐欺です」
いきなり冷水を浴びせられた形ですが、これが逆に信頼できました。甘い言葉で始まるプロジェクトにろくなものはない。
ここで方針が決まりました。「予測で勝つ」のではなく「統計的なエッジを小さく積み重ねる」というアプローチ。具体的には3本柱──バックテスト基盤、リスク管理エンジン、そして実績のある定量戦略。すべてデータで検証してから運用に移す。
以前のエージェント経営の記事で「FXの自動売買はPythonスクリプト1本で十分」と書いたんですが、本当にそうなのか?それも含めて検証してやろう、という気持ちでした。
Day 1: 1日で全部作れた
ここからの展開が異常に速かったです。
まずFXの基礎知識を整理するところから始めました。通貨ペアの仕組み、テクニカル分析の基本、リスク管理の原則──Claude Codeが資料を作り、僕がNotebookLMで理解を深める。実際に使った学習ノートブックも公開しているので、興味がある方は覗いてみてください。この時点で「レバレッジって25倍までなんだ」「スプレッドってこういう意味か」とか、そんなレベルです。
その次にバックテスト基盤の構築。yfinanceで過去データを取得して、Dual Momentum戦略(EMA 20/50/200のクロス + RSIフィルター)を実装しました。Dual MomentumはJegadeesh & Titman (1993)の論文で30年以上前に実証された手法で、「過去の勝者を買い、敗者を売る」モメンタム効果に基づいています。戦略の選定もClaude Codeとの対話で決めていて、「初心者が扱える、シンプルで検証しやすい戦略は?」と聞いて、学術的根拠のあるトレンドフォロー型に落ち着きました。
USD/JPYのアウトオブサンプルテストで+2.4%、プロフィットファクター1.30。過学習ではない兆候が見えました。
さらにシグナル通知システム。4時間足が確定するたびにシグナルをチェックして、Windowsのデスクトップ通知を飛ばす仕組みです。タスクスケジューラーに登録して、1日6回(1:05, 5:05, 9:05, 13:05, 17:05, 21:05)自動チェック。夜中の1:05や早朝5:05も含まれているのは、為替市場が24時間動いているからです。
そしてStreamlitでダッシュボード。リアルタイム価格表示、チャート、デモトレーダーの状況が一目で分かるUIを作りました。これも全部Claude Codeとの協業で、僕が「こういう情報が見たい」と言えばClaude Codeが実装する。
最後にOANDA Japanのデモ口座開設。ここまで全部1日で完成しました。
計画通りにはいかない
ただし、計画通りにはいかない部分もありました。
OANDA Japanのデモ口座は開設できたんですが、REST APIを使うにはゴールド会員が必要。条件は「月間取引50万USD」──日本円で約7,500万円です。
「月間7,500万円って…2ヶ月目以降のキープ無理じゃないですか?API利用がストップする未来が見えます。」
FX初心者の直感的なツッコミですが、これは正しかった。初月はキャンペーンで条件なしでも、維持が非現実的なら意味がない。結局、APIによる自動売買は断念。yfinanceでリアルタイム価格を取得して、ローカルで完結するシミュレーション方針に切り替えました。
「うーん…B案でやってみますか…」
計画が壁にぶつかる。でも別のルートを見つけて前に進む。開発ってそういうものですよね。実はこのB案への切り替えが後々功を奏して、Streamlit Community Cloudでダッシュボードを無料公開できる構成になりました。
Day 2: 「なぜ負けるのか」を深掘りする
翌日、本格的にバックテストを回しました。通貨ペアも2つから8ペアに拡大(USD/JPY, EUR/USD, GBP/USD, AUD/USD, USD/CHF, EUR/JPY, GBP/JPY, AUD/JPY)。なぜかというと、シグナルの発生頻度が2-3週に1回程度と分かったからです。これだと1ペアでは検証に時間がかかりすぎる。
初日は「9:05になりましたが、通知が来ません…」と焦ったりもしましたが、シグナルが出ない日の方が多いのが正常。待つことがトレードの大半という現実を体感で理解しました。「何もしない」がトレーダーの仕事の大部分を占めるというのは、やってみないと分からない感覚です。
234トレードから見えた5つの敗因
8ペア × 約2年分で234トレード、勝率42.7%、利益+118,407円。
悪くはない。でも「ゴールデンクロスでトレンド発生と判断しているのに、なぜ負けるのか?」──ここを深掘りしたかった。勝率42%ということは、半分以上が負けトレード。その負けに共通するパターンがあるはずです。
Claude Codeと一緒に負けトレードを徹底的に分析した結果、5つの明確な敗因パターンが浮かび上がりました。
1. ウィップソー(ダマシ): 最大の敵。短期間にシグナルが連発する=相場が方向感なく往復している状態。ゴールデンクロス→すぐデッドクロス→またゴールデンクロス…と振り回され、毎回ストップロスに刺さる。39件中勝率26%、損失-141,680円。2025年8月は25トレード中21敗(勝率16%)という壊滅的な月でした
2. SHORTの弱さ: LONG勝率47% に対し SHORT は36%。LONGだけなら27万円のプラスなのに、SHORTが16万円のマイナスで全体の足を引っ張っている構造。為替市場(特にクロス円)は長期的に「上がりやすい」傾向があるため、売りのトレンドフォローは逆方向に戻されやすい
3. 高ボラティリティ時の反転: ATR 0.4%超の荒い相場では勝率35%、損失-84,003円。一瞬有利に動いた後に急反転してストップロスに刺さる「ヒゲ狩り」が頻発。ワースト1位のGBP/JPY(-25,181円)は、最大1.0円まで有利に動いた後に2.5円逆行してSL到達。勝てるはずのトレードだった
4. EMA200近接でのトレンド不明確: EMA200から0.5%未満の位置でのエントリーは勝率39%、損失-51,474円。上昇トレンドに見えて実はレンジ相場だったパターン。ワースト10の負けトレードのうち8件がEMA200から0.6%以内でした
5. RSI極端値でのエントリー: RSI 30-40帯での勝率は33%と最低。既に売られすぎに近い状態でさらに売る=反発を食らいやすい。逆にRSI 60-70帯は勝率52%と最も高く、トレンドに勢いがある状態でのエントリーが有効
これを踏まえてフィルターを追加しました。最終的に残ったのは「ウィップソー除外、RSI極端除外、EMA200近接除外」の3つ。高ボラティリティフィルターは後述するオーバーフィッティング検証で外すことになります。
結果、トレード数は234から98に半減。でも利益は12万円から26万円に倍増しました。
捨てた136トレードの大半が負けトレードだったということです。「やらない判断」が最大の武器になっている。直感に反するけど、データが明確にそう示していました。
「それ、過去に合わせすぎじゃない?」
ここで僕自身、あることが気になりました。
「このフィルター、2025年8月の壊滅月に合わせて作っているだけじゃないか?壊滅月がなかった場合や、逆に超トレンド月があった場合、取れるところで取れないんじゃないか?フィルターで利益を守りつつ、チャンスも取りたいって欲張りですか?」
Claude Codeの回答:「全然欲張りじゃないです。むしろ非常に正しい懸念です。これは過剰適合(オーバーフィッティング)と呼ばれる問題そのものです。」
FXの専門用語は知らなくても、直感的に本質的な問題に気づけた。これは嬉しかったです。Claude Codeは「オーバーフィッティング」という名前を教えてくれましたが、問題の存在に気づいたのは僕自身の直感でした。AIは知識を持っているけど、「何か変だぞ」というセンサーは人間の側にある。
実際に検証してみると、各フィルターの「ロバスト度」に差がありました。
– ウィップソー除外: 15ヶ月中11ヶ月で有効。理論的根拠も強い。確実にキープ
– RSI極端除外: 学術的にも裏付けあり。過剰適合リスク低い。キープ
– EMA200近接除外: 閾値0.5%がやや恣意的。距離0.3%に緩めてキープ
– 高ボラティリティ除外: トレンド月で17万円分を取りこぼしていた。大きなトレンドの初動はボラティリティが高い状態で始まるので、それを排除すると大物を逃す。外すべき
最終的な構成は「ウィップソー + RSI極端 + EMA200距離0.3%」の3フィルターに落ち着きました。
「知らなかったから最初に組み込めなかったのではなく、この順番でしか分からないから」とClaude Codeは言っていました。基本戦略を作る → 回す → 負けを分析する → フィルターを追加する → オーバーフィッティングを疑う → 検証して調整する。開発プロセスの本質そのものです。
「これ、AIじゃなくない?」
ここからがこの記事のクライマックスです。
ある程度システムが形になった時点で、僕はふと気づきました。
「開発においてはAIの力で90%以上の設計と開発をしているけど、実際の運用においてはAIの力を使っていないですよね?」
「自動化できたとして、そこもAIの部分ってほとんどないと思ってます。ワークフロー的に処理できるのかなと。」
Claude Codeの回答は正直でした。
「今の運用ロジックはif文とAPI呼び出しの組み合わせです。AIどころか機械学習すら使っていません。」
以前のエージェント経営の記事でも「FXの自動売買はPythonスクリプト1本で十分。わざわざPM部門やリサーチ部門を置く必要がない」と書きました。実際に作ってみて、本当にその通りだったわけです。
EMA(移動平均線)のクロスを検知する。RSIの値をチェックする。条件を満たしたら注文を出す。全部if文です。AIが介在する余地がない。
じゃあ、本当にAIを組み込んだらどうなる?
ここで終わると「やっぱりね」で終わってしまう。だから実際に検証しました。
Claude Codeを使って、42件のシグナルに対してAI判断を実行。シグナルが出るたびに、テクニカル指標の値や市場状況をAIに渡して「このシグナルに従うべきか?」を判断させました。結果は──
| ルールベース | AI強化版 | |
|---|---|---|
| 合計損益 | +89,104円 | +42,561円 |
| 判断 | ルール通り実行 | 17件をSKIP |
ルールベースの圧勝でした。
なぜAIは負けたのか?分析してみると、AIは慎重すぎた。スキップした17件のうち、実は11件(65%)が勝ちトレードでした。特にSHORT(売り)を全面的に嫌って、USD/JPYの8件のSHORTシグナルを全部スキップ。
AIは負けを恐れるあまり、勝ちも逃した。
ただし、これはあくまで1回の検証結果です。プロンプトの調整も、機械学習モデルの導入も、まだ何も試していない。「AIを組み込んでも意味がない」と断定するのは早すぎる。でも少なくとも、「AI=入れれば良くなる」という前提は安易だったということは、このデータが示していました。
今後、プロンプトの改善やファインチューニング、あるいは別のアプローチでAIを活用する可能性は十分にあります。これは「AIが使えない」という結論ではなく、「安易に入れても機能しない」という学びです。
AIの本当の価値
じゃあAIは無駄だったのか?全く違います。
FX未経験の僕が1日でトレーディングシステムを構築できたこと。234トレードの負けパターンを分析して戦略を倍以上に改善できたこと。オーバーフィッティングの懸念を検証できたこと。フィルターのロバスト度を定量的に比較できたこと。
AIの真の価値は「運用」ではなく「開発・分析フェーズ」にあった。
「AIで稼ぐ」と聞くと、AIが自動で利益を出してくれるイメージがある。でも実態は「AIと一緒に考えて、人間には時間がかかりすぎる分析を瞬時にやってもらう」ということ。稼ぐ装置ではなく、考えるパートナー。
もう少し具体的に言うと、僕がやったのは「方向を決めること」と「疑問を投げかけること」でした。「統計的エッジを積み重ねる方針でいこう」「このフィルター、過剰適合じゃない?」「運用にAI使ってなくない?」──こうした問いを投げて、Claude Codeが分析と実装で応える。人間の直感とAIの処理能力の掛け算です。
Day 3-7: 初ポジション、含み損、そして初損切り
理論と分析のフェーズが終わり、いよいよデモ運用です。
初期資金10万円、8通貨ペア、最大3ポジション、1トレードあたりのリスクは資金の1%。4時間ごとにシグナルをチェックして、条件を満たせば自動でポジションを建てる。SL(損切り)、TP(利確)、トレーリングストップも全自動。
Streamlit Community Cloudにダッシュボードをデプロイして、スマホからでもリアルタイムで状況を確認できるようにしました。デモトレーダーが売買するたびにGitHubに自動pushされて、ダッシュボードに即反映される仕組みです。
デモトレーダーを起動して3日目、初めてのシグナルが出ました。AUD/USD(豪ドル/米ドル)のロング。
ちなみにこの日、EUR/JPYにもシグナルが出ていたんですが、EMA200フィルターで除外されました。フィルターがちゃんと機能していることを実運用で確認できた瞬間です。
数日後には含み益が800円を超えて「シグナルの基準が適切そう」と手応えを感じていたんですが──そこから徐々に下がり始めました。
+800円 → +254円 → -397円。
含み益がどんどん溶けていく。数字にすると小さいですが、バックテストでは「勝率42%、でもトータルでプラス」と分かっていても、自分のポジションが赤くなると感情が揺れる。
「利確しておけばよかった」と思う瞬間がある。でもトレーリングストップに任せるのがルール。ルールを破った瞬間、バックテストの前提が崩れる。頭では分かっている。でも感情は別物です。
そして記事の公開直前、ついに結末が出ました。ストップロスに到達して-999円で自動損切り。3日間保有したAUD/USDのロングポジションは、初トレード・初損切りという結果で幕を閉じました。
残高は100,000円 → 99,001円。
バックテストの敗因分析で散々見てきた「ストップロスで刈られる」パターンを、自分のポジションで体験した形です。ただ、リスク管理が設計通りに機能して、損失を資金の約1%(-999円)に限定できている。システムは正しく動いている。
為替変動を数字ではなく体感として理解できたのは、デモ運用を始めて初めて得られた学びでした。リアルマネーじゃないから冷静に観察できるけど、これが自分のお金だったら…と考えると、リスク管理の重要性が身に染みます。だからこそ、6ヶ月間のデモ検証期間を設けているわけです。
1週間を振り返って
| 内容 | |
|---|---|
| 開発期間 | 2日(理解→バックテスト→シグナル→ダッシュボード→デモトレーダー) |
| 検証ペア | 8通貨ペア |
| 戦略 | Dual Momentum(EMA 20/50/200 + RSI + 3品質フィルター) |
| バックテスト実績 | 98トレード、利益+26万円(2年間、50万円スタート) |
| デモ運用1週間 | 1トレード完了、損切り-999円(残高99,001円) |
| AI強化版の結果 | ルールベースに敗北(+42,561円 vs +89,104円)※1回の検証 |
1週間で分かったのは、このプロジェクトの本質は「AIでFXを攻略する」ではなかったということです。
最も価値があったのは、AIが相場を予測してくれることではなく、僕がFXとデータ分析を理解するプロセスを圧倒的に加速してくれたこと。知識ゼロの状態から、バックテスト、敗因分析、オーバーフィッティング検証、デモ運用まで──通常なら何週間もかかる学習と開発を、2日に圧縮できた。
これから
このプロジェクトは6ヶ月間のデモ検証中です(〜2026年9月)。リアルマネーは一切使っていません。4時間ごとに自動でシグナルチェックと売買判定が走り、結果はダッシュボードにリアルタイム反映されています。
ダッシュボードとソースコードは公開しています。実際に動いている様子を見てもらえます。
– ライブダッシュボード(Streamlit Cloud)
– ソースコード(GitHub)
1週間やってみて思うのは、「AIで稼ぐ」の本当の意味は「AIに稼がせる」ではなかったということです。
戦略の設計、過去データの分析、敗因の特定、オーバーフィッティングの検証、ダッシュボードの構築──これらを1人でやったら何週間もかかる作業が、AIとの対話で2日で終わる。
それが「AIで稼ぐ」の現実的な意味だと思います。魔法はない。でも、とんでもなく優秀な共同開発者がいる。
検証は続きます。初トレードは損切りで終わりましたが、まだ1戦目。利確できるトレードは来るのか、新しいポジションは建つのか。AI判断の改善は可能なのか。次回レポートをお楽しみに。
この記事が参考になったら
Share