FX自動売買基礎と応用

EA(自動売買)を最適化する際の注意点|過剰最適化を回避する方法も解説


バックテストだけ好成績になる罠


EA開発には、過剰最適化という大きな問題があります。過剰最適化とは、EAの開発においてインジケーターやテイクプロフィット、ストップロスなどのパラメータを調整する際に、より良い結果になる数値を追求しすぎることを指します。これはつまり、バックテストに用いるヒストリカルデータに対して、数学的に最も良い成績になる値の組み合わせを見つけるということです。カーブフィッティング(曲線あてはめ)とも呼びます。

EAの開発段階においては、過去のヒストリカルデータを用いてより良いパラメータを見いだしたいわけですが、最適化しすぎるとそのデータでは良い成績が出るが、フォワードテスト(実運用)では結果が伴わない、ということになってしまう可能性があります。


過剰最適化を回避する方法


そうした問題があることから、EAに対しては常に「過剰最適化ではないか?」という視点を持つことが重要です。つまり、バックテストの結果だけでEAの優位性を判断してはいけないということです。そのEAが過剰最適化であるか否かを判断するためには、フォワードテストでデータを収集し、バックテストと照らし合わせることが有効です。これは運用者目線での話となります。

では、今度は開発者目線で考えてみます。EAを開発する際に過剰最適化を防ぐには、テクニカル指標を少なくすることが有効です。これが多いと、パラメータの組み合わせが増えるため結果的に過剰最適化になりやすい傾向があるのです。また大きなポイントとして、テクニカル指標の重要なパラメータは、一定の範囲で変更しても、結果にばらつきが生じないように設計することも重要です。少しのパラメータ変更にもかかわらず、結果に大きな差異が生じるようであれば、ロジックの優位性が疑われます。

参考記事:MT4(メタトレーダー4)の自動売買の導入方法③(最適化)


ウォークフォワード分析


本来はフォワードテストを行うのがベストですが、その時間をショートカットする方法もあります。ヒストリカルデータの一部を未来の値動きと想定することで、擬似的なフォワードテストを行う考え方です。例えば10年分のヒストリカルデータがある場合、10年前から1年前までのデータでEAを開発し、残った直近1年分のデータを擬似的な未来の値動きと仮定してテストします。その開発に要したバックテストと、フォワードテストを比較して差異がなければ、過剰最適化の可能性が低くなります。

このウォークフォワード分析を応用して、開発の精度を高めることもできます。次のような工程でテストとパラメータ調整を繰り返すことで、過剰最適化にならないEAを開発することができます。

過剰最適化を回避するEA開発手順

                                         
直近1年の期間で、好成績が残せるEAを作る(短期テスト)
1の期間を含まない過去10年のデータでより良いパラメータに調整(長期テスト)
2のEAを、再び直近1年のデータで確認&調整(短期テスト)
3の期間を含まない過去10年のデータでより良いパラメータに調整(長期テスト)
以降は3と4を繰り返す

この手順を踏み、短期テストと長期テストで同程度の結果になるパラメータを採用します。これが過剰最適化を回避する開発方法です。


本記事の監修者・Trader Kaibe(@K_FLASHES


FXトレード歴は15年(2021年現在)。世界でも有名なFXトレード大会『ロビンスカップ』で、FXトレードの経験と本職の研究開発ノウハウを生かして作った自作自動売買だけで準優勝。

投資雑誌掲載、ラジオ日経出演、投資戦略EXPO登壇など、各種メディアでFX自動売買の良さを発信中。


その他のTrader Kaibe氏の記事


EA(自動売買)を学びたい方へオススメコンテンツ

EA運用の注意点

OANDAではEA(自動売買)を稼働するプラットフォームMT4/MT5の基本的な使い方について、画像や動画付きで詳しく解説しています。MT4/MT5のインストールからEAの設定方法までを詳しく解説しているので、初心者の方でもスムーズにEA運用を始めることが可能です。またOANDAの口座をお持ちであれば、独自開発したオリジナルインジケーターを無料で利用することもできます。EA運用をお考えであれば、ぜひ口座開設をご検討ください。


本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。

この記事をシェアする

ホーム » FX自動売買基礎と応用 » EA(自動売買)を最適化する際の注意点|過剰最適化を回避する方法も解説