バックテスト(Backtest) とは、投資戦略やトレードルールを過去の市場データに適用し、その戦略がどのようなリターンやリスク特性を示したかを検証する手法です。戦略を実際に運用する前にパフォーマンスを評価できます。
バックテストの基本
流れ:
1. 投資戦略のルールを定義
2. 過去のデータ(株価、出来高等)を用意
3. ルールに従って仮想的に売買
4. リターン、リスク、勝率等を計算
5. 戦略の有効性を評価
例:
「ゴールデンクロスで買い、デッドクロスで売り」
→ 過去10年間でこの戦略を実行したら?
→ リターン、勝率、最大ドローダウンを確認
バックテストの評価指標
| 指標 |
説明 |
| 総リターン |
期間全体の累積リターン |
| 年率リターン |
年平均の利回り |
| 最大ドローダウン |
最大の資産減少幅 |
| シャープレシオ |
リスクあたりのリターン |
| 勝率 |
利益が出た取引の割合 |
| プロフィットファクター |
総利益÷総損失 |
バックテストの落とし穴
| 落とし穴 |
説明 |
| オーバーフィッティング |
過去データに最適化しすぎて将来に通用しない |
| ルックアヘッドバイアス |
未来の情報を使ってしまう |
| サバイバーシップバイアス |
上場廃止銘柄を除外してしまう |
| 取引コスト未考慮 |
手数料、スリッページを無視 |
| データの質 |
分割調整や配当の扱いが不適切 |
オーバーフィッティングの問題
過剰最適化の例:
パラメータを細かく調整:
「移動平均13日線と47日線のクロスで
RSI32以下で買い、68以上で売り」
過去データ: 年率20%のリターン!
実運用: 年率-5%...
原因:
過去データの「たまたま」に合わせただけ
→ 将来の市場では通用しない
対策:
・パラメータをシンプルに保つ
・アウトオブサンプルテスト
・ウォークフォワード分析
正しいバックテストの方法
1. インサンプル期間でルールを構築
例: 2010〜2018年のデータで戦略を開発
2. アウトオブサンプル期間で検証
例: 2019〜2024年のデータで検証
→ 未知のデータでも有効か確認
3. ウォークフォワード分析
期間を少しずつずらして繰り返し検証
→ より堅牢な結果を得る
バックテスト結果の解釈
| 結果 |
判断 |
| リターン高い+シャープレシオ高い |
有望だが実運用で劣化する可能性 |
| リターン高い+ドローダウン大 |
リスクが高く実用的でない可能性 |
| 勝率低い+プロフィットファクター高い |
少ない勝ちで大きく稼ぐ戦略 |
| 安定した結果 |
実運用でも信頼性が高い |
バックテストの注意点
| 注意点 |
説明 |
| 過去≠未来 |
過去の結果が将来を保証しない |
| 市場環境の変化 |
レジームチェンジで戦略が通用しなくなる |
| 現実との乖離 |
流動性やスリッページの影響 |
| 心理的要因 |
バックテストには感情が介在しない |
Welvioでの活用
Welvioで過去の株価データを確認し、自身の投資ルールの有効性を振り返る際にバックテストの考え方を活用できます。