今回は、作ったけれど見送ったEAの話です。先に結論を書くと、「直近1ヶ月の値動きだけに合わせて作ったEAは、その翌週にもう負けた」。分かっていたつもりのことを、自分の手で確かめた記録です。
なぜわざわざカーブフィットしたのか
ここのところ、為替介入とみられる急落や、一日で3円動く日が珍しくなくなりました。日本もアメリカも円高方向を望んでいるように見えます。過去2年半で作ったEA(自動売買プログラム)は、円安トレンドの時期に育ったものが多く、今の相場つきとは噛み合っていません。
そこで思いついたのが、「いっそ直近1ヶ月の値動きだけに合わせて作ったらどうなるか」という実験です。長期のバックテスト(過去データでの検証)で良く見えたEAが今の相場で通用しないなら、逆に今の相場だけを写し取ったEAは、少なくとも来週くらいは通用するのではないか。カーブフィット(過去データに過剰に合わせ込むこと。普通は避けるべき悪手)を、あえて正面からやってみることにしました。
ただし、これだけは決めておきました。作り込みに使うのは8月17日から9月11日までの4週間。直近の1週間(9月14日から18日)は一切見ずに取っておいて、最後に1回だけ検証する。それがフォワードテスト(作り込みに使っていない期間で答え合わせをすること)の代わりです。1週間なので取引数は10本程度にしかならず、統計的にどうこう言える数ではありませんが、「翌週に通用するか」という問いにはこれで十分です。

4週間に合わせると、何が選ばれるか
MT5から6通貨ペアの1分足を取り出し、15分足・30分足・1時間足に組み直して、順張り系3種類(一定時間の値幅がATRの何倍かで判断するモメンタム型、過去N本の高値安値を抜けたら乗るドンチャン型、移動平均からの乖離で乗るEMA型)と逆張り系2種類を、合わせて約300通りの設定で作り込み期間に当てはめました。ATRというのは「1本のローソク足が平均してどれくらい動くか」を表す指標で、値幅を「pips」ではなく「いつもの何倍か」で測るための物差しです。
結果は、拍子抜けするほどはっきりしていました。順張りなら何でも勝てる。逆張りは全滅。15分足はどの型でも弱く、30分足がいちばん「隣の設定にずらしても成績が崩れない」帯が広い。理由は図を見れば分かります。この4週間には160円から153円への一方通行の急落が含まれていて、動いた方向に乗ってさえいれば勝てた月だったのです。
選ばれたのは、30分足で「直近8時間の値幅がATRの2倍を超えたら、その方向へドテン(今の建玉を閉じて反対売買すること)する」というだけの単純な仕組みでした。常に買いか売りのどちらかを持ち続けるフリップ式で、ストップロスはATRの4倍という災害用の広いものだけ。ロットは毎回、口座の有効証拠金の1%を1回の損失上限として計算します。名前はImpulseFlipとしました。
作り込み期間の成績は、PF(プロフィットファクター=総利益÷総損失)4.05、100万円の口座で+16.9万円、最大ドローダウン(資産が一時的に減った幅)3.6%、4週すべてプラス。買い側だけ見てもPF 2.05で、円安方向でも一応は稼いでいました。ここまでは、当然といえば当然です。この4週間に合わせて選んだのですから、この4週間で良いのは選び方の結果であって、EAの実力ではありません。
取っておいた1週間で、答え合わせ
そして9月14日から18日の週。結果はPF 0.57、−1.5万円でした。10回の取引のうち、買いの4回は全勝。売りの6回は全敗です。
この週のドル円は153円台から158円まで、ほぼ一本調子で上がりました。EAは上昇に乗って買いで勝つのですが、30分足で数十pipsの押し目(一時的な下げ)が入るたびに「8時間の値幅がATRの2倍を割った」と判断して売りへドテンし、そのまま戻されて負ける。それを6回繰り返しました。作り込み期間は「大きく動いたらその方向に乗れば勝てる」相場で、フォワード週は「押しても戻る」相場。同じルールが、そのまま裏目に出た形です。
念のため、作り込みに使っていない長い期間も回してみました。2024年はPF 1.22、2025年はPF 1.21でわずかにプラス。2026年の上半期は152円から164円の箱の中を往復するレンジ相場で、PF 0.77、−18万円、ドローダウン22%。つまりこのEAは「直近1ヶ月専用の魔法」ではなく、「大きく動く月に強く、動かない月に弱い、ごく普通の順張り」でした。4週間に合わせたつもりが、選ばれたのは4週間の性格(順張り向きだった)を写し取っただけで、翌週の性格までは写し取れていなかった、ということです。
2本目として作ったUSDCADの方は、もっとはっきりしていました。作り込み期間はPF 7.85と派手な数字でしたが、フォワード週は±0、2024年も2025年も2026年上半期もすべて赤字。こちらは典型的な過剰適合で、稼働させる理由がひとつもありません。
見送りの判断と、次にやること
ImpulseFlipは2本とも見送ることにしました。USDJPY版は壊れているわけではなく、ラボで走らせている他の順張りEAと性格が重なるだけとも言えますが、「直近に合わせれば当たる」という当初の仮説が崩れた以上、この仮説の上に載せたEAを口座に入れる理由がなくなりました。実験としては、これでよかったと思っています。バックテストの数字がどれだけ良くても、それは「その期間でそう選んだ」以上の意味を持たない。第2話でMomoM1が死んだときに学んだはずのことを、もう一度、自分で作った罠で確かめました。
ただ、収穫がゼロだったわけではありません。ひとつは、この4週間で「どの型が勝ちやすいか」は明確に読めたこと。相場の性格を月単位で写し取ること自体はできる。問題は、それが翌週に持続する保証がないことです。だとすれば、設定を固定して長く走らせるのではなく、毎週末に直近4週間で選び直すローリング運用が成り立つかどうか、過去データで先に検証する価値はあります。もうひとつは、円高テーマで本当に効かせたいなら、ドル絡みだけでなく円クロス(EURJPYやGBPJPYなど)を候補に入れるべきだったこと。今回はドル絡み限定で探したためUSDCADが選ばれましたが、これは相場の都合ではなく探し方の都合でした。
次回は、前回予告したまま先送りになっている「直す」と「止める」の線引きについて書きます。今回のImpulseFlipは「作ったが入れない」という、その手前の判断でした。
コメントを残す