バックテスト入門では、手動バックテストの手順と評価すべき指標(勝率、期待値、プロフィットファクター、最大ドローダウン)を学びました。
この記事では、バックテストの結果をどう分析し、どう改善につなげるかを解説します。「バックテストはしたが、結果をどう解釈すればいいか分からない」という段階の方に向けた内容です。
バックテスト結果を正しく読む
数字の全体像を把握する
バックテスト結果を分析する際は、まず以下の数字を一覧にまとめましょう。
| 指標 | 計算方法 | 目安 |
|---|---|---|
| 総トレード数 | - | 100回以上 |
| 勝率 | 勝ちトレード数 / 総トレード数 | 40〜60%(戦略による) |
| 平均利益 | 総利益 / 勝ちトレード数 | - |
| 平均損失 | 総損失 / 負けトレード数 | - |
| リスクリワード比(実績) | 平均利益 / 平均損失 | 1.5以上 |
| 期待値 | (勝率 x 平均利益) - (敗率(1 - 勝率) x 平均損失) | プラスであること |
| プロフィットファクター | 総利益 / 総損失 | 1.5以上 |
| 最大ドローダウン | 資金の最大減少幅 | 資金の20%以内 |
| 最大連敗数 | 連続で負けた最大回数 | - |
| 月別損益 | 月ごとの損益 | - |
勝率とリスクリワード比の関係
勝率だけ、またはリスクリワード比だけを見ても戦略の良し悪しは分かりません。両方の組み合わせで判断します。
| 勝率 | リスクリワード比 | 期待値 | 評価 |
|---|---|---|---|
| 60% | 1:1 | プラス | 可 |
| 50% | 1:2 | プラス | 良好 |
| 40% | 1:3 | プラス | 良好 |
| 70% | 1:0.4 | マイナス | 不可 |
| 30% | 1:2 | マイナス | 不可 |
4行目の例(勝率70%、リスクリワード比1:0.4)は、勝率が高いにもかかわらず期待値がマイナスです。損切りが遅い(損大利小の)戦略でよく見られるパターンです。
検算: (0.70 x 0.4) - (0.30 x 1.0) = 0.28 - 0.30 = -0.02。勝率70%でも、1回の損失が利益の2.5倍あると資金は減り続けます。
結果の分類と原因分析
バックテスト結果がプラスでもマイナスでも、なぜその結果になったかを分析することが重要です。
トレードを分類する
すべてのトレードを以下のカテゴリに分類しましょう。
| カテゴリ | 説明 |
|---|---|
| ルール通りの勝ち | エントリー・決済ともにルール通り実行し、利確目標に到達 |
| ルール通りの負け | エントリー・決済ともにルール通り実行し、損切りに到達 |
| ルール違反の勝ち | ルール外のエントリーや決済だったが、結果的に利益 |
| ルール違反の負け | ルール外のエントリーや決済で、損失が発生 |
注目すべきは「ルール通りの勝ち」と「ルール通りの負け」の比率です。ルール違反のトレードは(たとえ結果が勝ちでも)分析対象から除外し、ルールの有効性を純粋に評価しましょう。
負けトレードの原因を分析する
「ルール通りの負け」をさらに分析します。
| 原因カテゴリ | 具体例 | 対策の方向性 |
|---|---|---|
| トレンド判断の誤り | 上昇トレンドと判断したが、実はレンジだった | 環境認識の条件を見直す |
| エントリータイミングが早い | 確認シグナルを待たずにエントリーした | 確認条件を追加する |
| 損切り位置が近すぎる | ノイズ(短期的なランダムな値動き)で損切りにかかった | 損切り幅を広げる(ポジションサイズを小さくして対応) |
| 利確位置が遠すぎる | 利確目標の手前で反転した | 利確目標を現実的に調整する |
| 相場環境に合っていない | トレンドフォロー戦略をレンジ相場で使った | 相場環境のフィルターを追加する |
戦略の改善方法
改善の原則
戦略を改善する際は、1つずつ変更してテストすることが鉄則です。
- 一度に複数の条件を変えると、どの変更が効果をもたらしたか分からなくなる
- 変更前と変更後のバックテスト結果を同じ期間のデータで比較する
- 改善のつもりが改悪になることもある。変更前のルールを必ず記録しておく
改善の優先順位
すべての指標を同時に改善しようとせず、以下の優先順位で取り組みましょう。
1. 期待値をプラスにする(最優先)
期待値がマイナスの戦略は、どれだけトレード回数を増やしても資金が減り続けます。まず期待値をプラスにすることが第一歩です。
- 勝率が低い場合: エントリー条件に確認シグナルを追加する
- リスクリワード比が低い場合: 利確目標を遠くするか、損切り位置を見直す
2. 最大ドローダウンを許容範囲内に収める
期待値がプラスでも、最大ドローダウンが大きすぎると心理的に耐えられません。
- ポジションサイズを小さくする(リスク率を2%から1%に下げるなど)
- 連敗が続く局面を分析し、相場環境フィルターを追加する
3. プロフィットファクターを改善する
プロフィットファクターが1.5を下回る場合、スプレッドや手数料を考慮すると実際の利益は大幅に小さくなります。
- 勝ちトレードの利益を伸ばす: トレーリングストップ(価格の進行に合わせて損切り位置を有利な方向に移動させる手法)を検討する
- 負けトレードの損失を減らす: 損切り位置の最適化
相場環境別の分析
なぜ相場環境別に分析するのか
多くの戦略は特定の相場環境では機能するが、別の環境では機能しないという特性を持っています。
例えば、トレンドフォロー型の押し目買いは上昇トレンドでは好成績ですが、レンジ相場では連敗が続きます。
分析方法
- 検証期間を「トレンド相場の期間」と「レンジ相場の期間」に分ける
- それぞれの期間で勝率・期待値・プロフィットファクターを計算する
- 差が大きい場合、レンジ相場での損失を減らすフィルターを追加する
相場環境フィルターの例
- 移動平均線の傾き: 移動平均線が明確に上向き/下向きでない場合はトレードしない
- ADX(トレンドの強さを数値化する指標): ADXが25以下の場合はトレンドフォロー戦略を使わない
- ボラティリティ(価格変動の大きさ): ボリンジャーバンドの幅が極端に狭い(スクイーズ状態の)場合は様子を見る
時間帯別の分析
トレード結果を時間帯別に集計すると、戦略が最も機能する時間帯が見えてきます。
| 時間帯 | 勝率 | 期待値 | トレード数 |
|---|---|---|---|
| 東京(8:00〜15:00) | 45% | -500円 | 30 |
| ロンドン(16:00〜21:00) | 55% | +3,000円 | 45 |
| NY(21:00〜翌2:00) | 50% | +1,500円 | 25 |
※時間帯は冬時間(標準時間)の目安です。
このような結果が出た場合、東京時間のトレードを除外するだけで戦略の全体成績が改善する可能性があります。
改善サイクルの回し方
PDCAサイクル
- Plan(計画): バックテスト結果を分析し、改善策を1つ決める
- Do(実行): 改善策を反映したルールで再度バックテスト
- Check(確認): 改善前と改善後の結果を比較
- Act(対応): 改善効果があれば採用、なければ元に戻す
改善の記録
変更内容とその結果を必ず記録しましょう。
| 変更日 | 変更内容 | 変更前の期待値 | 変更後の期待値 | 採用/却下 |
|---|---|---|---|---|
| 3/10 | RSI条件を40→35に変更 | +2,000円 | +2,500円 | 採用 |
| 3/15 | 損切り幅を30pips→20pipsに縮小 | +2,500円 | +1,200円 | 却下 |
改善の終了条件
以下の条件を満たしたら、バックテストの改善フェーズを終了し、デモトレードに移行しましょう。
- 期待値がプラス
- プロフィットファクターが1.3以上
- 最大ドローダウンが資金の20%以内
- 最低100トレードで検証済み
完璧な戦略を追求し続けると**カーブフィッティング(過去のデータだけに最適化されすぎた状態)**に陥ります。上記の条件を満たしたら、次のステップに進みましょう。
まとめ
この記事では、バックテスト結果の分析と戦略の改善方法を解説しました。
- 結果の読み方: 勝率とリスクリワード比の組み合わせで判断する。期待値がプラスであることが最低条件
- トレードの分類: ルール通り/ルール違反に分け、ルール通りのトレードのみで戦略を評価する
- 改善の優先順位: 期待値をプラスにする → ドローダウンを抑える → プロフィットファクターを上げる
- 相場環境別・時間帯別の分析: 戦略が機能しない環境を特定し、フィルターで除外する
- 改善サイクル: 1つずつ変更し、記録を残す。カーブフィッティングに注意
バックテストは「正解を見つける作業」ではなく、**「自分の戦略の特性を理解する作業」**です。完璧を求めず、「十分に機能する」レベルまで仕上げたら実践に移りましょう。
バックテストの基本に戻る:FXバックテスト入門 - トレード戦略を過去データで検証する方法
学習全体の流れ:【完全ガイド】FX初心者が稼げるようになるまでのロードマップ
※本記事は情報提供を目的としており、特定の金融商品の売買を推奨するものではありません。投資判断はご自身の責任において行ってください。