本サイトはアフィリエイト広告を利用する場合があります。一次情報と検証内容を優先して掲載します。

制作記録一次情報あり

FX自動売買の自作は本当にできるのか|非エンジニアがAIとPythonで10年分検証した実録

#FX自動売買#Python#Claude Code#バックテスト
AIと一緒にFX自動売買システムを自作して検証した制作記録

結論

FX自動売買の自作は、AIの助けを借りれば非エンジニアでも作れる。必要なのはパソコンと無料の価格データとAIツールのサブスク代で、証券口座すら要らない。ただし「作れば儲かる」ではない。私が10年分のデータで検証した系統的戦略は、どれも税引後でNISAの全世界株投資を上回れなかった。その答えを自分のデータで確かめられること自体が、自作の最大の価値だと思う。

作れるのか、何が要るのか、儲かるのか

先に、この記事の答えを3行で書いておく。

作れるのか——作れる。プログラミングを書かない私でも、AIと組んで約3週間で検証システム一式が動いた。何が要るのか——パソコンと、無料の価格データと、AIツールのサブスク代。証券口座すら要らなかった。儲かるのか——私が10年分のデータで検証した系統的戦略は、どれも税引後でNISAの全世界株に勝てなかった。

つまりこれは「FX自動売買を自作したら儲かった」という記事ではない。「自作したら、儲からないという答えがデータで出た。そしてその答えが出せること自体に価値があった」という記録だ。商材を売りたい人は絶対に書かない種類の実録として読んでほしい。

なぜ作ったか

昔、裁量でFXをやって、感情に振り回されて資金を溶かしたことがある。上がると信じて握り続け、下がると怖くなって底で投げる。あの体験から学んだのは「自分の判断力を上げる」ではなく「自分の感情を取引から締め出す」方向だった。

だから作りたかったのは、検証済みのルールだけで淡々と動くシステムだ。そしてもうひとつ、ネットに溢れる「この手法なら勝てる」系の情報を、他人の言葉ではなく自分のデータで白黒つけたかった。AIでコードが書ける時代になって、この2つがようやく個人の手に届く距離に来た。

何を作ったか

作ったものは大きく4つある。

まずデータ基盤。yfinanceとDukascopyという無料のデータソースから、ドル円の日足を2010年から約4,300本、のちに4通貨ペア・10年分を15分足の細かさまで取得した。FXの検証用データは、実は無料で手に入る。

次にバックテストのハーネス(検証の土台)。ここが本体で、単に過去データに戦略を当てるだけでなく、データを時系列で10個の区間に割り、「前の区間で決めたルールを、直後の未知区間で試す」ことを繰り返すウォークフォワード方式にした。全期間を1つの数字で評価すると、後述するようにいくらでも自分を騙せるからだ。

その上に戦略モジュールが載る。移動平均のクロス、ボリンジャーバンドの逆張り、ブレイクアウト、曜日効果。思いついた仮説を差し替えて同じ土台で検証できる。

最後にペーパー・フォワード運用。架空資金100万円で、実際のお金を1円も入れずに、システムの指示どおり売買したらどうなるかを日々シミュレーションする仕組みだ。壊れていないことを守る自動テストは145本になった。

どう作ったか——AIとの分担

分担ははっきりしていた。仮説と判断が私、実装がAI(Claude Code)だ。

私が「月曜の朝に買って夜に売るだけの戦略って、統計的に意味あるのか検証したい」と日本語で伝える。AIがPythonのコードを書き、検証を回し、結果の数字を出す。それを一緒に読んで、次の仮説を決める。この往復を3週間ちょっとで10サイクル以上回した。実行はuvというPython環境ツール経由で、たとえばこんな具合だ。

uv run scripts/run_backtest.py
uv run pytest

コードの中身を私は書けない。それでも回るのは、判断に必要なものがコードではなく結果の数字だからだ。逆に言うと、数字の読み方——「この勝率は偶然と区別できるのか」「都合のいい期間だけ切り取っていないか」——は、AIに任せず自分で疑う必要があった。ここをサボると、AIは「あなたが喜ぶ数字」を悪気なく出し続けてくれる。

検証で分かった、直感を壊す4つの事実

3週間の検証でいちばん面白かったのは、勝てる手法が見つかることではなく、自分の直感が壊れる瞬間だった。数字つきで4つ紹介する。

全期間の成績は平気で嘘をつく

ボリンジャーバンドの逆張りを豪ドルで検証したとき、全期間の集計ではシャープレシオ(リスクあたりの成績)が2.0前後という見事な数字が出た。これだけ見たら採用一択だ。ところが期間を区切って見直すと、エッジは2024年に集中していて、2025年から2026年にかけては減衰し、通貨によっては直近でマイナスに落ちていた。集計値は「過去のある時期だけ効いた手法」を「ずっと効く手法」に見せてしまう。

パラメータ最適化は成績を悪化させた

「設定値を過去データで最適化すれば成績が上がる」は、直感的にはもっともらしい。実際にやってみたら逆だった。各区間で64通りの設定から最良を選ぶ最適化をかけたところ、未知区間の平均シャープレシオは0.915から0.148へ急落し、プラスで終えた区間は10個中8個から5個に減った。過去に一番フィットした設定は、未来に一番フィットする設定ではない。オーバーフィット(過剰最適化)という言葉を、数字で体験した瞬間だった。

勝率56%なのに、お金は減る

アジア時間の逆張り戦略は勝率56%あった。勝率だけ聞けば十分に魅力的だ。それでも取引コストを差し引いた期待値は1回あたりマイナス1.2pips。つまり、勝ち続けながらお金が減っていく。スプレッド(売値と買値の差)は1回ごとに必ず払う参加費で、薄い利幅の戦略はこの参加費に食い尽くされる。「勝率が高い=儲かる」は成立しない。

チャートそのものが幻を見せる

これが一番こたえた。以前の検証で「特定の時間帯に統計的に極めて強い値動きの偏りがある」という結果が出ていて、有望株として温めていた。ところが売値ベース(bid)のチャートではなく、売値と買値の中間値で検証し直したら、偏りの符号が反転した。深夜の時間帯はスプレッドが主要時間帯の1.8〜3.4倍まで開くため、bidだけのチャートには実際には存在しない「値動き」が写り込む。アノマリーを発見したのではなく、データの歪みを発見していただけだった。

で、儲かるのか

いちばん検索されるであろう問いに、私の検証結果の範囲で誠実に答える。

全滅だったわけではない。たとえば「週明けの月曜に特定の通貨を買い持ちする」という曜日効果は、火・水・木で同じ構築をしたプラセボ検定(偽物でも同じ結果が出ないかの確認)を通過した数少ない生き残りだった。生き残った部品を束ねた最良のポートフォリオは、10分割の検証で全区間プラス、全期間のシャープレシオ1.18、年率換算13.3%(税引後で約9.7%)まで到達した。3週間の検証としては上出来の数字だと思う。

それでも、私の合格基準には届かなかった。最大下落幅がマイナス23.8%——100万円が一時76万円まで減る道中に耐える必要があり、それだけのリスクを取った結果が、円建ての全世界株インデックスを税引後で4.5ポイント下回る。同じ期間、NISAで全世界株を買って寝ていたほうが、リスクも手間も少なくリターンが上だった。短期のデイトレ領域に至っては、4つの仮説を事前登録方式で検証して全滅。「個人が運用に足るデイトレのエッジは見つからない」で決着させた。

だから実際のお金は入れていない。いまは架空資金100万円のペーパー・フォワードで、バックテストの期待値と現実の乖離を観察している段階だ。この「実弾を入れない」という判断ができたこと自体が、検証システムを作った成果だと思っている。

かかった時間とお金

時間は3週間強。平日の空き時間と週末で、仮説出しから検証、結果の読み解きまでを回した。実装をAIが担うので、私の時間の大半は「次に何を検証するか」を考える時間だった。

お金は、価格データが無料、証券口座は不要(実際の取引をしていないので)、かかったのはAIツールのサブスク代と電気代くらい。FX自動売買の自作は、金銭的にはほぼノーリスクで始められる。リスクがあるとすれば、検証を省いて実弾から始めてしまうことのほうだ。

これから作る人へ

もし自作に興味があるなら、順番だけは守ってほしい。バックテスト、ペーパー運用、それでも数字が生き残ったら少額——この順だ。私のように「作った結果、実弾を入れない判断になる」のも立派なゴールだと思う。

自作して手に入る最大のものは、儲かるシステムではなく疑う力だ。「勝率9割」「月利10%」という言葉を見たとき、頭の中でウォークフォワード検証が走るようになる。集計の数字は嘘をつく、最適化は罠、勝率と期待値は別物——これを他人の記事ではなく自分のデータで知っていることは、FXに限らず一生モノの防具になる。

AIと組んで何かを作ること自体を体系的に学びたい人は、生成AIを実務目線で教える講座から入るのも近道だ。私の3週間は楽しい遠回りだったが、遠回りせずに済むならそれに越したことはない。

まとめ: 「作れば儲かる」ではなく「作れば分かる」

FX自動売買の自作は、AIの登場で本当に簡単になった。非エンジニアの私が3週間で、10年分のデータに対する検証システムを持てたのだから。

ただし、作ることと儲かることの間には深い谷がある。私の検証では、その谷を越えた戦略はまだない。それでも後悔はしていない。「儲からない」という答えを、広告混じりの情報ではなく自分のデータで持てたこと、そして感情ではなくルールで判断する土台ができたこと。自作の価値は、そこにあった。

免責事項

本記事は投資助言ではありません。記載した数値はすべて私個人のバックテストおよびシミュレーション(架空資金)による検証結果であり、特定の売買手法や取引タイミングを推奨するものではなく、将来の成果を保証するものでもありません。FX取引には元本を失うリスクがあります。投資判断はご自身の責任で行ってください。

本記事にはアフィリエイト広告を含む場合があります。商品リンクから購入されると、運営費の一部になることがあります。

よくある質問

プログラミング未経験でもFX自動売買プログラムを自作できますか?

作れます。私はコードをほぼ書けませんが、AI(Claude Code)に日本語で仮説を伝えて実装してもらう分担で、データ取得からバックテスト、シミュレーション運用までの一式を動かせました。ただし、AIに丸投げして完成するわけではありません。何を検証したいのかを自分の言葉にする力と、出てきた数字を疑って読む根気は必要です。

FX自動売買の自作にPythonを選ぶ理由は何ですか?

価格データの取得、集計、バックテスト、検定といった作業に必要な部品(ライブラリ)が最初からそろっているからです。無料データの取得も数行で書けます。私の場合は実行環境の管理にuvというツールを使い、AIが書いたスクリプトを「uv run スクリプト名」で動かすだけの運用にしました。MT4/MT5のEA自作という道もありますが、検証の自由度はPythonのほうが高いと感じます。

自作したFX自動売買は儲かりますか?

私の検証結果に限って言えば、試した系統的戦略はどれも税引後でNISAの全世界株投資を上回れませんでした。最良のポートフォリオでも、リターンに対して最大下落幅が大きすぎるという結果です。ネット上の「自動売買で不労所得」的な話は、自分のバックテストで再現できるか確かめてから信じることをおすすめします。私はまだ実際のお金を1円も入れていません。

FXのバックテストは何から始めればいいですか?

無料の価格データを手に入れて、1本のシンプルな戦略を過去データに当てるところからです。ただし全期間の成績を1つの数字で見ると簡単に騙されます。データを時系列で区間に分け、「前の区間で決めたルールを、その後の未知区間で試す」ウォークフォワード検証まで行うのが最低ラインです。私はこの検証で、有望に見えた戦略が特定の年に成績が偏っているだけだと何度も気づかされました。

AIがFXの売買判断をしてくれるのですか?

私のシステムでは、AIは売買の方向を決めていません。AIの役割は、私が出した仮説をPythonコードにすること、検証結果を一緒に読み解くことです。売買ルール自体は「移動平均の位置関係」のような機械的な条件で、AIの気分で変わる要素はありません。AI FX自動売買という言葉から想像される「AIが相場を予測する」形とは違う、地味な使い方です。

Subscribe

制作記録を受け取る

新しい制作ログ、道具レビュー、失敗メモを Substack でも整理していきます。

Substackで読む

1min Quiz

あなたが作るべきアプリ、1分で診断できます

記事を読んで「自分も何か作ってみたい」と思ったら、まず5つの質問に答えてみてください。いまのあなたに向いたアプリの型と、最初の一歩がわかります。約1分・無料です。

次に読む