MENU

バックテストと最適化

ea_backtest_and_optimization

この記事では、EAのバックテストと最適化の方法を解説いたします。
バックテストと最適化を正しく行うことで、EAの性能を十分に確認し、取引条件に合った最適な設定を見つけることができます。

また、その2つに慣れてきたらで構いませんが、最後のフォワード最適化まで行うとよりリアル相場での実効性の高いパラメータを取得可能です。

Contents

目次

バックテスト・最適化・フォワード最適化の違い

  1. バックテスト
    過去の相場データを使い、EAのパフォーマンスを検証する基本的な方法。設定や戦略が機能するかを確認する。実際のチャートでのエントリーや決済の流れが目視できるほか、利益の増減をグラフ化したり、その他様々なグラフで分析が可能。
  2. 最適化
    バックテストを複数回繰り返し、EAのパラメータ(例: LotSize, StopLoss)を調整して、過去データでの成績を最大化するプロセス。
  3. フォワード最適化
    過去データを「トレーニング期間」と「フォワード期間」に分け、トレーニング期間で最適化された設定がフォワード期間でも良好な成績を保つか検証する。過剰なカーブフィッティングを防ぐための手法。

MT5でのバックテストの手順

  1. テスター画面を開く
    MT5を起動し、上部メニューから「ツール」→「ストラテジーテスター」を選択します。
    画面下部にストラテジーテスターが表示されます。
  2. EA(エキスパートアドバイザー)を選択
    「エキスパートアドバイザー」欄で、テストしたいEAを選択します。
    EAがリストに表示されない場合は、正しいフォルダに配置されているか確認してください。
  3. テストする銘柄を選択
    「銘柄」欄でバックテストを実施する通貨ペアや銘柄を選びます。
  4. タイムフレームを選択
    「期間」欄で、テストに使用する時間足(例: M1, H1, D1)を選択します。
    EAの仕様に適したタイムフレームを選びましょう。
  5. テスト期間を設定
    「日付」欄でテストする期間を指定します。
    過去データを十分に使うために、適切な範囲を選びます(例: 1年間)。
  6. モデルを選択
  • 「モデル」欄でテスト精度を選びます:
  • 全ティック: 最も正確だが時間がかかる。
  • 1分足OHLC: 中程度の精度と速度。
  • コントロールポイント: 簡易テスト向けで最速。
  1. 設定を確認
    設定を再度確認し、EAのパラメータが正しく入力されていることをチェックします。
  2. テストを開始
    「開始」ボタンを押してバックテストを実行します。
    結果は「結果」「チャート」タブで確認できます。
  3. レポートを確認
    テスト終了後、「レポート」タブで利益や損失、勝率、取引回数などの詳細を確認します。
    必要であれば、レポートをファイルとして保存します。

MT5での最適化の手順

  1. 最適化モードを有効化
    ストラテジーテスターで、画面右側にある「最適化」チェックボックスをオンにします。
  2. EAのパラメータを設定
    「プロパティ」ボタンをクリックし、EAのパラメータ設定画面を開きます。
    変更可能なパラメータを確認し、最適化対象のパラメータに範囲を設定します:
    例: 「LotSize」: 最小値=0.1、最大値=1.0、ステップ=0.1。
  3. 最適化タイプを選択
    「最適化」欄でタイプを選択します:
    完全探索: すべての組み合わせを試す。時間がかかるが正確。
    遺伝的アルゴリズム: 高速で、最適解を効率的に探す。
  4. テスト条件を設定
    バックテストと同様に銘柄、タイムフレーム、テスト期間を設定します。
    最適化モデルも「全ティック」や「1分足OHLC」から選択します。
  5. 最適化基準を指定
    「結果に基づく最適化」欄で基準を選びます:
    • 総利益
    • 損益率(プロフィットファクター)
    • 最大ドローダウン など
      使用目的に合った基準を選択しましょう。
  6. 最適化を開始
    「開始」ボタンを押して最適化を実行します。
    実行中、右下に進行状況が表示されます。
  7. 最適化結果を確認
    最適化完了後、「最適化結果」タブで結果を確認します。
    各パラメータ設定とそのパフォーマンスがリストアップされます。
    リストの中から最適なパラメータを選び、右クリックして「テスト」を実行すると詳細な結果を確認できます。
  8. 選んだパラメータをEAに適用
    最適なパラメータを選んで保存し、EAの設定に反映させます。
    必要であれば、セットファイル(.set)として保存しておきます。

以上、バックテストと最適化を正しく行うことで、EAの性能を十分に確認し、取引条件に合った最適な設定を見つけることができますが、さらに下記のフォワード最適化も行うとより確実です。

フォワード最適化の解説と手順

フォワード最適化は、EAの設定を過去のデータだけでなく、将来の類似条件下でのパフォーマンスも検証する手法です。これにより、過剰適合(オーバーフィッティング)を防ぎ、より実際の取引に近い結果を得ることができます。


フォワード最適化の概念

  1. ヒストリカルデータの分割
    過去のデータを「トレーニング期間」と「フォワード期間」に分けます。
    • トレーニング期間: EAのパラメータを最適化するためのデータ。
    • フォワード期間: 最適化されたパラメータでEAをテストするためのデータ。
  2. 目的
    トレーニング期間で最適化されたパラメータが、フォワード期間でも一貫したパフォーマンスを発揮するかを確認します。
    フォワード期間でのパフォーマンスが大きく異なる場合、過剰適合の可能性が高いと判断できます。

フォワード最適化の手順

  1. ストラテジーテスターを開く
    MT5を起動し、メニューから「ツール」→「ストラテジーテスター」を開きます。
  2. EAと銘柄を選択
    テストするEA、銘柄、タイムフレーム、期間を設定します。
    期間設定では、トレーニング期間とフォワード期間をカバーする範囲を指定してください。
  3. 最適化タイプを設定
    「最適化」欄で「完全探索」または「遺伝的アルゴリズム」を選択します。
    • 完全探索: すべてのパラメータ組み合わせを試す(時間がかかる)。
    • 遺伝的アルゴリズム: 計算を高速化した最適化。
  4. フォワードテストを有効にする
    ストラテジーテスターの右上にある「フォワード最適化」チェックボックスをオンにします。
    「フォワード最適化モード」を設定します:
    • 固定期間: トレーニング期間を指定し、残りをフォワード期間とします。
    • フォワード期間比率: トレーニング期間とフォワード期間の割合を指定します(例: 70%トレーニング、30%フォワード)。
  5. EAのパラメータを設定
    EAのパラメータで最適化対象を選び、範囲を指定します(例: LotSize、StopLossなど)。
    パラメータの設定は「プロパティ」ボタンから行えます。
  6. 最適化を実行
    「開始」ボタンを押して最適化を開始します。
    トレーニング期間で最適化された結果を基に、フォワード期間のテストが行われます。
  7. 結果を確認
    「最適化結果」タブでトレーニング期間の結果を確認します。
    「フォワード結果」タブで、フォワード期間のパフォーマンスを確認します:
    • 期待値が高い結果を基に、実際の取引に使える設定を選びます。
    • トレーニング期間とフォワード期間で著しい乖離がある場合、パラメータを再調整する必要があります。
  8. 最適化されたパラメータを適用
    フォワード期間でも良好なパフォーマンスを示したパラメータを選択し、EAに反映させます。
    必要に応じて、セットファイル(.set)として保存してください。

フォワード最適化のポイント

  • 期間設定のバランス
    トレーニング期間とフォワード期間の割合は、一般的に 70%:30% または 60%:40% に設定します。
  • データの一貫性
    フォワード期間のデータは、トレーニング期間に含まれていない必要があります。
  • パフォーマンスの安定性
    フォワード期間の結果がトレーニング期間と近い場合、EAの設定が安定していると判断できます。

フォワード最適化を活用することで、実際の相場に適応するEAのパラメータを見つけることが可能になります。これにより、過剰適合を防ぎ、安定したパフォーマンスが期待できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (1件)

コメントする

目次