「バックテストで勝てたから、本番でも勝てる」——残念ながら、これは成り立ちません。バックテストは、やり方を間違えると自分で自分を騙す道具になります。この記事では、当ラボが戦略を実戦投入する前に必ず通している、バックテストの考え方を紹介します。
バックテストとは?
バックテストとは、過去の相場データに戦略のルールを当てはめて、「もし過去にこのルールで取引していたら、どんな成績になっていたか」を検証することです。実際のお金を使う前に、戦略の素性を確かめるための作業です。
ただし、過去に良い成績が出たからといって、それを鵜呑みにするのは危険です。バックテストには、初心者ほどハマりやすい落とし穴があります。
最大の敵:過剰最適化(オーバーフィッティング)
バックテストで最も警戒すべきなのが、過剰最適化です。パラメータを過去データにぴったり合うよう調整しすぎると、「過去には完璧に勝てるのに、未来ではまるで通用しない」という戦略ができあがります。
過去の値動きには、たまたまそうなっただけの”偶然”がたくさん含まれています。その偶然にまで合わせ込んでしまうと、見かけの成績は最高になりますが、中身は過去をなぞっただけの抜け殻です。「過去最高の成績」を追い求めるほど、この罠に近づきます。
対策①:検証用のデータを取り分ける(アウトオブサンプル)
すべての期間を使って最適化してはいけません。データの一部を「最適化に使わない検証用」としてあらかじめ取り分けておき、調整に使っていない期間でも通用するかを確認します。
最適化に使った期間でだけ良くて、取り分けた期間で崩れる戦略は、過去に合わせ込んだだけ——という判断ができます。
対策②:ウォークフォワード検証
期間をずらしながら「少し前のデータで決めたルールを、その直後の期間で試す」という検証を繰り返す方法です。本番の運用に近い形で、時期が変わっても安定して通用するかを確かめられます。一発勝負のバックテストより、はるかに信頼できます。
対策③:「なぜ勝てるのか」を説明できること
当ラボが最も重視しているのがこれです。どれだけ成績が良くても、「なぜそのルールが利益を生むのか」を相場の仕組みとして説明できない戦略は、採用しません。
理由を説明できない好成績は、偶然=過剰最適化として扱います。「先に”勝てる理屈”があり、成績はその裏付け」という順番を崩さないこと。これだけで、怪しい戦略の多くをふるい落とせます。
採用ラインを「先に」決めておく
検証を始める前に、「これを満たさなければ不採用」というラインを決めておきます。成績を見てから基準を後付けすると、どうしても自分に甘くなるからです。
当ラボでは、ウォークフォワードでもプロフィットファクター(総利益÷総損失)が一定以上を保てること、などを採用条件にしています。正直に言うと、試した候補の大半はこのラインで落としています。採用できる戦略より、却下する戦略のほうが圧倒的に多いのが実情です。
データの質にも注意する
無料で手に入る為替データは、バーの区切り方や欠損のせいで、実際の値動きと微妙にズれることがあります。検証段階でズレたデータを使うと、結論まで歪みます。当ラボでは、最終確認はできるだけ本番で使うのに近い実データでおこなうようにしています。
まとめ
- バックテストは「過去に勝てたか」だけ見ると自分を騙す
- 過剰最適化(オーバーフィッティング)が最大の敵
- 検証用データを取り分け、ウォークフォワードで未来の通用性を確かめる
- 「なぜ勝てるのか」を説明できない戦略は採用しない
- 採用ラインを先に決め、満たさなければ捨てる
- データの質にも気を配る
当ラボでバックテストを通過して実戦に進めた戦略は、ごく一部です。でも、その「落とす」作業こそがバックテストの本当の価値だと考えています。勝てる戦略を見つける以上に、勝てない戦略に資金を入れないことが、長く続けるためのいちばんの近道です。
※本記事は情報提供を目的としたものであり、投資助言や利益を保証するものではありません。バックテストの結果は将来の成績を保証しません。投資・運用はご自身の判断と責任において行ってください。
自動売買ラボ管理人 ATL


コメント