バックテストの解説
損益の合計だけでは、売買ルールのどこを直せばよいか分かりません。結果を分解して読むための考え方をまとめています。
- Pythonでバックテストする方法:戦略を書いて、結果を読むまでPythonで売買ルールのバックテストを書く手順と、損益の合計だけでは見えない結果の読み方を、hawk-btのコード例つきで解説します。
- MFE・MAEとは?負けトレードを「出口の問題」と「入口の問題」に分けるMFE(最大含み益)とMAE(最大含み損)の意味と計算、バックテストの負けトレードを出口と入口のどちらで直すべきか見分ける方法を解説します。
- バックテストの過剰最適化(カーブフィッティング)を避ける方法パラメータ最適化で一番成績の良い値を選ぶと、なぜ別の期間で崩れやすいのか。ヒートマップで「周りも良い範囲」を選ぶ考え方を解説します。
- バックテストの約定の前提:窓開け・TPとSLの同時ヒット・スプレッドバックテストの成績は約定の前提で数%変わります。窓開け時の損切り、同じ足でTPとSLに届いた場合、スプレッドと手数料、エントリーの足のずれを解説します。
- 相場環境(トレンド・レンジ)別にバックテスト結果を分ける同じ売買ルールでも、トレンド相場とレンジ相場で成績は逆になることがあります。相場環境ごとに結果を分けて、戦略の得意・不得意を確かめる方法を解説します。
- バックテストツールの選び方:Pythonライブラリ・TradingView・MT5・ブラウザbacktesting.py、vectorbt、Backtrader、TradingView、MT5のストラテジーテスターなど、バックテストの手段ごとの向き不向きと、選ぶときに確かめたい点を整理します。