「この手法は本当に利益が出るのか?」——この疑問に答えるのがバックテストだ。過去のチャートデータを使って手法を検証し、勝率やリスクリワード比を数字で確認する。感覚ではなくデータで手法の優位性を証明するプロセスだ。
この記事では、バックテストの基本的なやり方、手動と自動の違い、主要ツールの比較、そして結果の記録と活用方法を解説する。
バックテストとは何か
バックテストとは、過去の価格データに対してトレードルールを適用し、仮にそのルールで取引していたらどのような成績になったかを検証する作業だ。
たとえば「20日移動平均線と5日移動平均線のゴールデンクロスでロングエントリー、デッドクロスでイグジット」というルールを、過去3年分のドル円チャートに当てはめて成績を算出する。
バックテストで確認する指標:勝率、RR比、プロフィットファクター(PF)、最大ドローダウン、平均保有期間、総損益
手動バックテスト vs 自動バックテスト
手動バックテスト
チャートを過去に巻き戻し、1本ずつローソク足を進めながらルール通りにエントリー・イグジットを行い、結果を記録する方法。プログラミング知識は不要で、裁量判断を含むルールの検証に適している。
- 利点:裁量トレードの検証が可能、チャートの読み方が上達する、プログラミング不要
- 欠点:時間がかかる、無意識のバイアスが入りやすい、大量サンプルの検証が困難
自動バックテスト
プログラムにトレードルールを記述し、過去データに対して自動実行する方法。大量のデータを短時間で処理でき、客観的な結果が得られる。
- 利点:高速・大量処理、客観性が高い、パラメータの最適化が可能
- 欠点:プログラミング知識が必要、裁量判断をルール化する必要がある、過剰最適化のリスク
バックテストに使える主要ツール
TradingView(リプレイ機能)
手動バックテストに最適。チャートのリプレイ機能で過去に巻き戻し、ローソク足を1本ずつ進められる。無料プランでも使える基本的なリプレイ機能があるが、秒足や分足のリプレイは有料プランが必要だ。
MT4/MT5(ストラテジーテスター)
自動バックテストの定番。EA(Expert Advisor)としてルールをプログラムし、過去データに対して実行する。最適化機能も搭載されている。ただし、MQL言語の学習コストがある。
Forex Tester
手動バックテスト専用の有料ソフト。過去データを使ったシミュレーションに特化しており、操作性が高い。複数通貨ペアの同時テストや成績レポートの自動生成が可能。
バックテストで必要なサンプル数
統計的に意味のある結果を得るための最低サンプル数は50〜100トレードだ。
- 50トレード:最低ライン。大まかな傾向はつかめるが、信頼度はまだ低い
- 100トレード:推奨ライン。勝率やRR比の信頼度がある程度確保できる
- 200トレード以上:理想的。様々な相場環境(トレンド、レンジ、ボラティリティの変動)を含む
注意すべきは、バックテストの期間だ。特定の相場環境だけでテストすると、その環境に最適化されたルールになってしまう。トレンド相場とレンジ相場の両方を含む期間でテストすることが重要だ。