フォワードテストとは|バックテストとの違い

検証・バックテスト

EAやインジケーターの検証では、バックテストの数字だけを見て判断したくなる場面があります。ただ、過去データに合わせて設定を詰めた結果が、別の期間でも同じように見えるとは限りません。

フォワードテストは、バックテストとは別の期間や、より実運用に近い環境で動きを見るための考え方です。この記事では、バックテストとの違い、見る数字、使う前に残しておきたい条件を分けて見ます。

バックテストとフォワードテストで見るものは違う

バックテストは、過去の価格データを使ってEAや設定の動きを見る方法です。MetaTraderのStrategy Testerでも、EA、通貨ペア、時間足、期間などを指定してテストします。

一方、フォワードテストは、バックテストで見た条件を、別の期間やデモ口座などで動かし、想定から大きく外れていないかを見るために使われます。どちらも万能な判定ではなく、役割が違うものとして扱う必要があります。

BACKTEST バックテスト 過去データを使い、指定した期間・時間足・設定でEAの動きを見る方法です。条件を変えながら、どの数字が動くかを比べやすいのが特徴です。
FORWARD TEST フォワードテスト バックテストとは別の期間や、デモ口座などの実時間に近い環境で動きを見る方法です。過去データに寄りすぎた設定を見直す材料になります。

フォワードテストで見たい数字

フォワードテストでは、数日だけ動かして判断するのではなく、期間、取引回数、ドローダウン、ポジション数、ロットの動きなどを合わせて見ます。短い期間だけでは、相場状況が偏っていることもあります。

期間 どのくらいの期間で見たのかを残します。短すぎる期間では、たまたま合った場面だけを拾っている可能性があります。
取引回数 取引回数が少ないと、数字の偏りが大きく見えることがあります。回数と相場状況を一緒に読むことが大切です。
ドローダウン 最終的な結果だけでなく、途中でどれくらい資金曲線が沈んだかを見ます。ここを飛ばすと、運用時の負荷を小さく見積もりやすくなります。
ポジション数とロット ナンピンやマーチンゲールを含むEAでは、ポジション数とロットの増え方も見ます。損益だけでなく、必要証拠金やロスカットの近さにも関係します。

検証メモ

フォワードテストは、バックテストの数字を否定するためではなく、別の期間や環境で動きを見直すための材料です。

期間、通貨ペア、時間足、パラメーターを残しておくと、後から数字を読み返しやすくなります。

過剰最適化を避けるために使う

EAの設定を過去データに合わせすぎると、特定の期間では見栄えのよい数字になっても、別の期間では大きく崩れることがあります。このような状態は、過剰最適化やパラメーター合わせとして扱われることがあります。

MetaTrader 4の公式ヘルプでも、最適化時にフォワードテストを使い、バックテスト期間で選ばれたパスを、EAがまだ取引していないフォワード期間で走らせる考え方が説明されています。数字をきれいに見せるためではなく、条件に寄りすぎた設定を見直すために使うものです。

実運用前に残しておきたいメモ

フォワードテストを行う場合は、あとから見返せるように条件を残しておくと、数字の読み違いを減らせます。最低限、以下はメモしておきたい項目です。

テストしたEA・インジケーター名 どのファイル、どのバージョン、どの設定で見たのかを残します。
通貨ペア・時間足・期間 同じEAでも、通貨ペアや時間足が変われば動き方が変わることがあります。
パラメーター ロット、最大ポジション数、決済条件など、主要な設定を残します。
中止した条件 どの程度のドローダウン、ポジション数、証拠金維持率で止めるかを先に決めておくと、途中の判断がぶれにくくなります。

FXツールを使う前の注意点

バックテストやフォワードテストは、EAやインジケーターの動きを見るための材料です。過去データや一定期間の結果は、将来の成績を保証するものではありません。実際に取引へ使う場合は、取引条件、必要証拠金、ロスカット、相場変動リスクをあわせて見てください。