この記事では、EAのバックテストと最適化の方法を解説いたします。
バックテストと最適化を正しく行うことで、EAの性能を十分に確認し、取引条件に合った最適な設定を見つけることができます。
また、その2つに慣れてきたらで構いませんが、最後のフォワード最適化まで行うとよりリアル相場での実効性の高いパラメータを取得可能です。
Contents
- バックテスト・最適化・フォワード最適化の違い
- MT5でのバックテストの手順
- MT5での最適化の手順
- フォワード最適化の解説と手順
- フォワード最適化の概念
- フォワード最適化の手順
- フォワード最適化のポイント
目次
バックテスト・最適化・フォワード最適化の違い
- バックテスト
過去の相場データを使い、EAのパフォーマンスを検証する基本的な方法。設定や戦略が機能するかを確認する。実際のチャートでのエントリーや決済の流れが目視できるほか、利益の増減をグラフ化したり、その他様々なグラフで分析が可能。 - 最適化
バックテストを複数回繰り返し、EAのパラメータ(例: LotSize, StopLoss)を調整して、過去データでの成績を最大化するプロセス。 - フォワード最適化
過去データを「トレーニング期間」と「フォワード期間」に分け、トレーニング期間で最適化された設定がフォワード期間でも良好な成績を保つか検証する。過剰なカーブフィッティングを防ぐための手法。
MT5でのバックテストの手順
- テスター画面を開く
MT5を起動し、上部メニューから「ツール」→「ストラテジーテスター」を選択します。
画面下部にストラテジーテスターが表示されます。 - EA(エキスパートアドバイザー)を選択
「エキスパートアドバイザー」欄で、テストしたいEAを選択します。
EAがリストに表示されない場合は、正しいフォルダに配置されているか確認してください。 - テストする銘柄を選択
「銘柄」欄でバックテストを実施する通貨ペアや銘柄を選びます。 - タイムフレームを選択
「期間」欄で、テストに使用する時間足(例: M1, H1, D1)を選択します。
EAの仕様に適したタイムフレームを選びましょう。 - テスト期間を設定
「日付」欄でテストする期間を指定します。
過去データを十分に使うために、適切な範囲を選びます(例: 1年間)。 - モデルを選択
- 「モデル」欄でテスト精度を選びます:
- 全ティック: 最も正確だが時間がかかる。
- 1分足OHLC: 中程度の精度と速度。
- コントロールポイント: 簡易テスト向けで最速。
- 設定を確認
設定を再度確認し、EAのパラメータが正しく入力されていることをチェックします。 - テストを開始
「開始」ボタンを押してバックテストを実行します。
結果は「結果」「チャート」タブで確認できます。 - レポートを確認
テスト終了後、「レポート」タブで利益や損失、勝率、取引回数などの詳細を確認します。
必要であれば、レポートをファイルとして保存します。
MT5での最適化の手順
- 最適化モードを有効化
ストラテジーテスターで、画面右側にある「最適化」チェックボックスをオンにします。 - EAのパラメータを設定
「プロパティ」ボタンをクリックし、EAのパラメータ設定画面を開きます。
変更可能なパラメータを確認し、最適化対象のパラメータに範囲を設定します:
例: 「LotSize」: 最小値=0.1、最大値=1.0、ステップ=0.1。 - 最適化タイプを選択
「最適化」欄でタイプを選択します:
完全探索: すべての組み合わせを試す。時間がかかるが正確。
遺伝的アルゴリズム: 高速で、最適解を効率的に探す。 - テスト条件を設定
バックテストと同様に銘柄、タイムフレーム、テスト期間を設定します。
最適化モデルも「全ティック」や「1分足OHLC」から選択します。 - 最適化基準を指定
「結果に基づく最適化」欄で基準を選びます:- 総利益
- 損益率(プロフィットファクター)
- 最大ドローダウン など
使用目的に合った基準を選択しましょう。
- 最適化を開始
「開始」ボタンを押して最適化を実行します。
実行中、右下に進行状況が表示されます。 - 最適化結果を確認
最適化完了後、「最適化結果」タブで結果を確認します。
各パラメータ設定とそのパフォーマンスがリストアップされます。
リストの中から最適なパラメータを選び、右クリックして「テスト」を実行すると詳細な結果を確認できます。 - 選んだパラメータをEAに適用
最適なパラメータを選んで保存し、EAの設定に反映させます。
必要であれば、セットファイル(.set)として保存しておきます。
以上、バックテストと最適化を正しく行うことで、EAの性能を十分に確認し、取引条件に合った最適な設定を見つけることができますが、さらに下記のフォワード最適化も行うとより確実です。
フォワード最適化の解説と手順
フォワード最適化は、EAの設定を過去のデータだけでなく、将来の類似条件下でのパフォーマンスも検証する手法です。これにより、過剰適合(オーバーフィッティング)を防ぎ、より実際の取引に近い結果を得ることができます。
フォワード最適化の概念
- ヒストリカルデータの分割
過去のデータを「トレーニング期間」と「フォワード期間」に分けます。- トレーニング期間: EAのパラメータを最適化するためのデータ。
- フォワード期間: 最適化されたパラメータでEAをテストするためのデータ。
- 目的
トレーニング期間で最適化されたパラメータが、フォワード期間でも一貫したパフォーマンスを発揮するかを確認します。
フォワード期間でのパフォーマンスが大きく異なる場合、過剰適合の可能性が高いと判断できます。
フォワード最適化の手順
- ストラテジーテスターを開く
MT5を起動し、メニューから「ツール」→「ストラテジーテスター」を開きます。 - EAと銘柄を選択
テストするEA、銘柄、タイムフレーム、期間を設定します。
期間設定では、トレーニング期間とフォワード期間をカバーする範囲を指定してください。 - 最適化タイプを設定
「最適化」欄で「完全探索」または「遺伝的アルゴリズム」を選択します。- 完全探索: すべてのパラメータ組み合わせを試す(時間がかかる)。
- 遺伝的アルゴリズム: 計算を高速化した最適化。
- フォワードテストを有効にする
ストラテジーテスターの右上にある「フォワード最適化」チェックボックスをオンにします。
「フォワード最適化モード」を設定します:- 固定期間: トレーニング期間を指定し、残りをフォワード期間とします。
- フォワード期間比率: トレーニング期間とフォワード期間の割合を指定します(例: 70%トレーニング、30%フォワード)。
- EAのパラメータを設定
EAのパラメータで最適化対象を選び、範囲を指定します(例: LotSize、StopLossなど)。
パラメータの設定は「プロパティ」ボタンから行えます。 - 最適化を実行
「開始」ボタンを押して最適化を開始します。
トレーニング期間で最適化された結果を基に、フォワード期間のテストが行われます。 - 結果を確認
「最適化結果」タブでトレーニング期間の結果を確認します。
「フォワード結果」タブで、フォワード期間のパフォーマンスを確認します:- 期待値が高い結果を基に、実際の取引に使える設定を選びます。
- トレーニング期間とフォワード期間で著しい乖離がある場合、パラメータを再調整する必要があります。
- 最適化されたパラメータを適用
フォワード期間でも良好なパフォーマンスを示したパラメータを選択し、EAに反映させます。
必要に応じて、セットファイル(.set)として保存してください。
フォワード最適化のポイント
- 期間設定のバランス
トレーニング期間とフォワード期間の割合は、一般的に 70%:30% または 60%:40% に設定します。 - データの一貫性
フォワード期間のデータは、トレーニング期間に含まれていない必要があります。 - パフォーマンスの安定性
フォワード期間の結果がトレーニング期間と近い場合、EAの設定が安定していると判断できます。
フォワード最適化を活用することで、実際の相場に適応するEAのパラメータを見つけることが可能になります。これにより、過剰適合を防ぎ、安定したパフォーマンスが期待できます。
コメント
コメント一覧 (1件)
[…] バックテストと最適化 […]